Я 4 года работаю инженером-программистом, и я только что сменил свою компанию в первый раз.
Компания работает с парным программированием, и прошло 3 дня, я даже не мог написать ни одной строчки кода. Это очень расстраивает меня, потому что я был очень продуктивным в моей предыдущей компании.
Кодовая база большая, они используют 5-6 языков / инструментов, с которыми я не знаком, таких как rspec, haml, jasmine и другие. Но все же я чувствую себя ужасно.
В эти выходные я создал UML, чтобы лучше понять приложение, но, тем не менее, я предполагаю, что на этой неделе я не смогу написать приличное количество кода.
Это нормально?
Каков ваш опыт, когда вы меняете работу и погружаетесь в большую кодовую базу, написанную на языках / библиотеках, с которыми вы не знакомы?
Конечно, я не спрашиваю о точном времени, но прошлый опыт или вещи, которые могли бы сделать процесс, были бы хороши.
Кстати, я уже читал ниже вопросы и ответы, как вы погружаетесь в большие базы кода?
/programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase
/programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase
ОБНОВИТЬ
Все отличные предложения! Я только что пришел с работы, я много работал!
О парном программировании:
Обычно они пишут код, и я стараюсь не пропустить ни секунды! Если я попытаюсь написать код, я знаю, что это займет вечность, потому что я даже не знаю, какие файлы мне редактировать, но помимо этого, как я уже сказал, они используют 6-7 языков / фреймворков, которые я не знакомы и изучать все эти синтаксисы в одном не легко.
Насколько хорошо компания подготовлена для инженеров:
Я не могу сказать, что они хорошо организованы, они ожидают, что я немедленно начну писать код.
Делать заметки, проявляя активность:
Я всегда делаю заметки, когда они пишут новую команду / или что-нибудь о моделях данных. Мои сверстники очень умные и добрые люди, и я пытаюсь задать много вопросов, иногда даже много глупых .
Это распространено?
@Telastyn, спасибо за ваши ответы, мне стало немного лучше. Кажется, моя проблема не такая уж редкость, но я был действительно продуктивным до этой работы, и теперь я действительно чувствую себя бесполезным и не умным.
Я надеюсь, что смогу начать исправлять ошибки / реализовывать проблемы очень скоро.
О фреймворках / языках, которые они используют:
Я был действительно честен в этом, я не говорил, что знаю то, чего не знаю на самом деле. Но я не ожидал, что все будет по-другому, и, поскольку я начал работать в тот день, когда принял предложение, у меня не было времени подготовиться.
@ Sawpaw Hare, большое спасибо за то, что поделились своим опытом. Вы абсолютно правы. Нет никаких гарантий, что я изучу все эти вещи, но я пытаюсь. В конце концов, сложно изучить весь синтаксис одновременно, и я думаю, что это тоже главная проблема. Потому что я могу хорошо ориентироваться в коде ruby, так как знаю этот язык, и я ориентируюсь в js-кодах благодаря инспекторам браузера, но проблема заключается в написании реальных кодов с использованием фреймворков / языков, которых я не знаю.
источник
Ответы:
Это зависит от таких вещей, как сложность системы и от того, насколько хорошо организация подготовлена для новых программистов. Это может занять от 30 минут до нескольких недель. Это не обязательно то, что вы делаете неправильно, и вы не должны чувствовать себя плохо по этому поводу.
Однако, что вы должны сделать, так это проактивно исправить это для себя и других. Расскажите своему менеджеру о своих разочарованиях и работайте вместе, чтобы преодолеть их и улучшить процесс для других новых сотрудников.
Пишите заметки о том, с чем вы боретесь, продумывайте способы их устранения или обходите и документируйте свой процесс. Держите других людей, которые могут помочь вам в курсе вашего прогресса и обратиться за помощью. Нет ничего постыдного в просьбе о помощи.
источник
Для большинства кодовых баз это так. Черт, в моей компании вы встречаетесь с HR в течение 2 дней, прежде чем вам разрешат прикоснуться к компьютеру. Это необычно, но подумайте, сколько времени потребуется, чтобы настроить среду разработки, смутно ознакомиться с доменом, структурой кода, нормами команды ...
Как руководитель группы, я ожидаю, что вы эффективно ничего не сделаете в течение 1 (двухнедельного) спринта и будете работать на ~ 50% в течение следующих 1-2 спринтов.
источник
качаемся в другую крайность ... Я работал в компании, в которой было всего 2-3 языка, но потребовалась лучшая часть года, прежде чем программисты были освобождены от использования кода, вероятно, за 1 или 2 месяца до того, как они отправили свою первую строку код.
Не балуйте себя этим, если вы были честны в интервью о том, что у вас недостаточно знаний об этих платформах, они знали, во что они ввязывались. Это требует времени, и время не может быть расширено, сокращено или сжато, просто убедитесь, что вы используете его максимально эффективно.
источник
Это действительно зависит от работы, которую вы делаете, и роли, в которой вы находитесь.
Если вы выполняете работу по контракту, от вас ожидают, что вы буквально начнете работать, используя все имеющиеся в вашем распоряжении навыки для выполнения работы. Контрактная работа, как правило, четко определена, и вы (как правило) можете это сделать, по крайней мере, по моему опыту.
С другой стороны, я начал с одного места, которое имело огромную базу унаследованного кода с огромной кривой обучения. Мы не ожидали, что будем писать производственный код в течение первых шести месяцев, что мы были там.
Будьте терпеливы, впитывайте в себя как можно больше и используйте его на практике, когда вы начнете кодировать. Если вы находитесь в стационаре или спешите, в такой большой системе есть хорошие шансы, что вы можете что-то сломать, особенно если их тестовое покрытие не является блестящим.
источник
Некоторое количество времени абсолютно нормально, чтобы привыкнуть к чему-то совершенно незнакомому - я бы не стал винить себя или чувствовать себя плохо. Тем не менее, важно быть готовым принять возможность того, что эта работа может не входить в ваш набор навыков. Это не обязательно так, просто стоит оставить возможность в уме.
Возможно, проблема не в размере кодовой базы, а в том, что вы не знаете языки, на которых она работает. По моему личному опыту, я работал в одной компании, где я не знал ни одного из языков, используемых в довольно обширной базе кода. К сожалению, я не смог научиться этому достаточно через 5 месяцев или около того, и вместо этого пошел в другую компанию. Там я хорошо знал основной язык, и, несмотря на то, что размер кодовой базы был сопоставим, я справился довольно хорошо.
Когда дело доходит до изучения новых языков, люди обычно думают, что это проще, чем на самом деле, и придерживаются высоких стандартов их быстрого изучения. Вполне вероятно, что это займет у вас больше времени, чем вы думаете, так что просто имейте это в виду, независимо от того, что вы решите.
источник