Закончил ВУЗ, нашёл работу в достаточно крупной фирме на должность Junior PHP Deveoper. Попал не очень - то просто, пришлось пройти 3 собеседования и выполнить пробное задание. Проблема возникла на самой работе и дело исключительно во мне... В плане самой атмосферы всё просто замечательно, фирма богатая, сотрудники крайне дружелюбны, но засчёт своего немалого масштаба они использую большое количество технологий и свой собственный фреймворк. Проблема в том что я будучи новичком, знаю php на уровне языка... А их фреймворк даже не документирован... Всякие модели в контроллерах, у наследуемых от абстрактных (ими же написанных классов), дата мапинги и много всего прочего, что является их собственной разработкой и про что особо не почитаешь где - либо. Соответсвенно я бесполезен, а когда они начинают объяснять, то мне не понятно (учитывая что половина слов это жаргон, который основывается на командах тех технологий, которыми они пользуются). Ну например сервисы в *.yaml.
Вот я и думаю стоит ли мне оставаться, с одной стороны эта фирма очень прогрессивна и постоянно использует всё новое, с другой стороны я, который отвлекает профессионалов от работы и ничего не понимает засчёт такого большого объёма информации, которую я должен воспринимать на слух
Очень знакомая ситуация, сам начинал как питон джуниор. После полугода работы в одной компании, где работа велась над сайтом написанном на Джанго, попал в довольно крупную компанию на должность серверного разработчика. Если вкратце, можно выучить весь питон и многие фишки, разбиравшись в этом фреймоворке и серверном коде :)
По своему опытку и впечатлению скажу - если Вас взяли, значит верят, что Вы вполне вменяемы и обучаемы. Более того, такие ситуации реально учать разбираться, читать документацию и очень тонко вникать в суть вещей. Я бы рассматривал Вашу ситуацию не стороны паникёра, а со стороны везунчика, потому как это реальная возможность прошариться и научиться прошариваться.
Опустим логику руководства. Если самописная технлогия написана абы написать то соглашусь, можно мозг сломать, разбиравшись. Но если писали профессионалы своего дела, то почему нет? Новичкам часто советуют поучавствовать в отрытых проектах, посмотреть как выглядит код, как использовать всякие штуки-дрюки языка, побольше общаться со скиллованными дядьками. Чем эта ситуация отличается ?
Попишите на Symfony2+Doctrine. Из вашего описания будет достаточно паралелий. В частности "data-mapper, сервисы в yml" и т.д. Заодно подтяните уровень.
А вообще оставайтесь. Будет неплохой опыт... наверное. И да, раз вас взяли джуниором, вас должны учить. Либо вы должны учиться сами. А точне вы должны учиться сами и вам в этом должны хоть как-то помогать.
В подавляющем большинстве проектов, куда вы придете работать – наткнетесь на нечто монструозное, с отсутствием документации. Это нормально, разобраться можно во всем, если есть стимул. Более того, осилив один такой проект вас не будут пугать другие.
Идеальные проекты такая же редкость как идеальные программисты. То, что в проекте использован популярный фреймворк не всегда гарантирует в итоге понятный код проекта, разве что только на базовом уровне MVC, равно как и самописная инфраструктура проекта не всегда признак быдлокода.
Модели, контроллеры, дата-мапперы и сервис-контейнеры – все это базовые (не очень сложные) паттерны программирования. Вам стоит подтянуться в этом плане, немного теории, немного практики с фреймворками типа Symfony, Zend - где использование подобных паттернов изобилует, придаст нужных навыков и знаний.
И этому никто не научит, пока сами с головой не окунетесь )
Сайты на WordPress + Интернет магазины WooCommerce
Классика )
Программисты любят писать свои CMS & CMF. Им не в домек, что даже очень красиво написанные приложения требуют развития, а развитие требует документации и это порядка 50% затрат. Которые никому не хочется брать на себя. Так и получаются монстры, которые в скоре умирают или меняются на что-либо более зрелов в части документации.
Мы выбрали WordPress. Пишем на его базе все. От одностраничников, до социальных сетей и веб-приложений для управления крупными предприятиями. Главное преимущество - документация и множество готовых решений. Берем молодых спецов и обучаем их за месяц-два, так что они могут решать задачи, а не играть в телепатов.
Мне не нравится разбираться в коде. Мне нравится решать задачи используя код.
Но есть и другая категория людей - кодеры. Им нравится писать код. То что задачи из за этого не решаются - фигня.
Тоже повидал много таких команд. Жуть. Предлагаешь им взять что-то более описанное и понятное, чтобы не тратить по пол года на изучение одного модуля, не соглашаются.
Еще их отличительная черта, то что вместо изучения документации например к Бутстрап и использованию готовых механизмов, они тут же пишут свои. При том что уже есть готовые, тока почитай доки. Но нет. Лучше велосипед.
Если вы относитесь к категории, которая любит результат, то бегите от туда. Туда где используются более зрелые решения. Иначе будете кодером, а кодер к 30 годам - это печальное зрелище.
— Кто эти многочисленные команды и на каком основании вы им давали совет? Вы в них работали?
— Какие задачи не решались из-за того, что многочисленные команды не слушали вас?
— Вы абсолютно уверены, что все обязаны использовать то, что сделал кто-то другой?
— Вы гарантируете, что WordPress может решить абсолютно любые задачи и для этого не нужно для него ничего дописывать?
— Я правильно понял, что в своей жизни вы сами ничего не написали, используя только чужой труд?
1. На основании своего опыта и опыта этих команд
2. Затягивания проектов и связанных задач, кратное превышение сроков
3. Нет, но в большинестве случаев это более верная стратегия
4. Нет, но назовите пример задачи, которую не сможет.
5. Не правильно.
Могу привести показательный пример.
Учавствовал в разработке информационной системы для предприятия в виде веб-портала.
Как раз было две команды, две платформы и две стратегии.
В одном случае была самописная система, и команда которая придерживалась стратегии писать все самим, так лучше, а документация - пофиг или по минимуму.
Во втором случае выбрали готовую платформу - WP.
В обоих командах было порядка 10 разных проектов. На разные отделы и бизнес-процессы.
В первом случае все было крайне печально. Программисты менялись, адаптация была тяжела. За год было реализовано 1,5 проекта. Остальные все затянулись и результаты были крайне печальными. Руководил этим всем главный программист. Любитель покодить. Команда человек 10.
Во втором случае за год было реализовано порядка 20 аналогичных проектов и успели часть проектов забрать из первой команды, тк они тупо не успевали. При том что команда около 5 человек.
Причина:
1. В первом случае все свое и полный хаос, все глючит и лихорадит.
2. Во втором случае платформа хорошо документирована и легко разобраться в том что и как работает. Даже молодой программист уже через неделю или две может спокойно решать задачи, отвлекая других по минимуму.
Были и другие причины, но они все сводились к тому что в первом случае самописный велосипед, а во втором случае хорошо документиированная платформа.
@maxxannik
1. Вы так и не сказали, откуда такое количество команд, которым вы давали советы. Кто они и почему они вообще должны были слушать ваши советы? Сколько таких команд вы встречаете, скажем, за год?
2. Если разрабатывается модуль под готовую платформу — это трата времени?
3. Насколько лучше ждать, когда то, что требуется, напишет кто-то другой?
4. Например, я хочу реализовать сервис географических карт. Мне хватит ВордПресса в стандартной комплектации?
1. Они и не слушают ) А я и не настаиваю. Встречаю не много, но бывает.
2. да
3. Зачем?
4. Нет. Но не понятно как этот вопрос относится к проблему разработки сложных приложений. Я не утверждаю что под WP не надо кодить. Я лишь говорю что это проще, тк есть документация и понятная архитектура. В противовес лисапедам, где ни документации, ни архитектуры.
5. Для тебя крутость означает отсутствие ошибок? Удачи в поиске крутых движков ) а лучше напиши сам! Полюбому там ошибок не будет! Ни одной! )
доп к п. 4 - задача решаема. Также как и на других платформах. Ничего сверхсложного в этом нет. При этом у WP есть куча готовых решений для масштабирования до миллионных посещений и кластеров на 7000 серверов. Наработки и статьи на эту тему. Чего нельзя сказать о многих платформах и тем более лисапедах.
@maxxannik вы задумывались вообще, откуда берутся решения под любые платформы? Если вы никогда не сталкивались с необходимостью решать сложные задачи и вам хватает уже кем-то написанного кода — поздравляю, вы вытянули джекпот.
У вас типичная точка зрения — или чёрное, или белое. Нет задачи писать свои фреймворки. Но модули пишутся и нередко. Часть из них уходит в public production, обрастает доками, API, обосновывается (по возможности) в git и живёт своей жизнью. Часть модулей остаётся внутри проекта. Часть просто умирает.
Вы же считаете, что решать уникальные задачи нужно непременно стандартными кирпичами. Что же, ремесленники в IT тоже нужны. В конце концов, Ferrari не всем по карману, да и потребности такой нет. Должны быть и Жигули.
Я не помню, чтобы мы на брудершафт пили. И ссылку я дал не для того, чтобы показать ошибку, а для демонстрации глупости, возведённой в ранг официальной позиции.
По ссылке кодер зафигачил ссылку с http в код. И удивляется почему у него https не грузится. Причем тут WordPress? )) Дай гранату обезьяне - а потом удивляйся чего сарай разорвало. Или ты думаешь что зашив ссылу в своем мега пупер модуле по http то она у тебя по https волшебно откроется? ))
Или наверное модуль же твой! Потому ты там напишешь другой модуль, который будет перехватывать http и заменять их на https.
А так я уже потерял суть спора. Я ж не настаиваю, хочешь решать сложные задачи сложными способами - флаг в руки.
А мне нравятся простые решения. И вот как то так )
@maxxannik то есть когда пишут, что ВП ставит абсолютные ссылки из относительные автоматом, они пишут неправду? Ну так объясните людям, что они неправы, и ВП так не делает, а причина происходящего — их кривые руки.
Вы безапелляционно даёте совет покинуть компанию, если она для решения задач может даже допустить мысль написать некоторое количество кода. Программист, не пишущий код — это не программист.
Вероятно, вы даже не понимаете суть написания модулей под готовые платформы, поскольку сами их никогда не писали.
И чего теперь? Тебя так чешет что бывают люди с мнением отличным от твоего? В Интернете кто то не прав, а ты тут такой рыцарь решил убедить меня в своеммнении?
Чел спросил, я ответил. Я бы ушел из этой конторы в тот же день как увидел то чем они страдают. На мой взгляд это дибилизм. Писать лисопед, не имея ресурсов на документирование.
Но как уже писал выше, я не собираюсь кого-либо убеждать в этом. Мы на этом деньги делаем ) Нам ситуация эта выгодна, когда в стране тьма кодеров-дебилов, которые изобретают велосипеды. Клиенты когда к нам переходят, радуются и хлопают в ладоши, рассказывая про свой опыт, когда им впаривали самодельные лисопеды, которые потом скрипели и разваливались на ходу.
Потому удачи тебе на твоей волне ) Чем больше таких как ты, тем больше у нас довольных клиентов ) Все счастливы )
Кстати еще пример ) Ты уж извини, я не хочу философствовать, потому ставить ярлыки на тебя не хочется. Просто даю примеры и факты, а выводы каждый сделает сам, если у человека есть такой навык.
На старте моей веб-студии, когда я еще был один, ко мне постучался такой же кодер молодой. Говорит пришел на работу в какую то студию, где его заставили изучать какой то лисапед местного производства. Он был не рад.
Я предложил ему работу. Обучил его за пару заказов и через месяц он уже фигачил реальные заказы, на реальных сайтах. Почти сам. Через пол года совсем сам. Потом мы с ним рамсанули, бывает такое. И он пропал.
А через год написал. Говорит ушел в другую студию, где писали сайты на Yii. Ему это понравилось по началу, но потом он понял что тратит кучу времени на одни и те же вещи, которые есть готовые в WP. И снова попросился обратно.
Лично для меня эти рассклады событий говорят о верности таких решений для большинства случаев, а то что кодеры часто перегибают палки с изобретеним велосипедов - это вредно. Как для обучения молодых, так и для результатов заказчиков.
Но это для меня. У тебя другая точка зрения. Это нормально. Ты главное не пытайся навязать свою религию другим. Веришь в нее - и верь дальше.
А если готов другим навязывать свои верования - будь готов быть послан на три буквы.
опыт приходит с годами, никто не мешает вам завести словарь жаргонизмов в корпоративной вики, у меня такой ведется, иногда вижу сокращенные команды от девелоперов иду и туда смотрю как они расшифровываются.
какой нибудь gc пишут в таске оказывается это git checkout 8)
Ничего поработаете год- другой и потом сами будете новичка учить. Я тоже когда начал работать на предприятии (обслуживаю больше тысячи ПК и пол тысячи оргтехники) не знал даже 10% хотя за плечами было 5 курсов универа по специальности и подработка на фрилансе. Но старшие колеги помогли и сейчас (после 4 лет работы) достаточно, в 90% случаев, знать модель оборудувание и описание неисправности чтобы определить причину.