Время, необходимое для начала кодирования в новой компании [закрыто]


12

Я 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-кодах благодаря инспекторам браузера, но проблема заключается в написании реальных кодов с использованием фреймворков / языков, которых я не знаю.


Поскольку вы упоминаете, как вы погружаетесь в большие базы кода? что в ответах есть, что не распространяется на ваш случай?
— комнат

3
Поскольку вы занимаетесь парным программированием, вам не нужно писать код, чтобы быть продуктивным. Вы можете быть очень полезны, просто наблюдая, как кто-то другой пишет код. Достаточно скоро вы будете знать достаточно, чтобы начать писать код самостоятельно.
— Кевин Клайн

@kevincline, если он спаривается как новый разработчик, он должен быть уверен, что это тот, кто на клавиатуре, иначе это было бы довольно плохой парой ...
— Джимми Хоффа

Если это то, как компания делает вещи, у вас действительно нет выбора. Убедитесь, что вы знаете, что они ожидают от вас, когда придет время. Задавать вопросы. Получать отзывы. Вы можете потратить много времени, если не будете осторожны.
— JeffO

@JimmyHoffa, я знаю, что это было бы лучше для меня, но в этом случае я бы сильно замедлил свою работу. Поскольку мне придется задавать каждый синтаксис, фактический файл, который мне нужно отредактировать, модель данных или что-то еще, это замедлит работу моего партнера.
— Роберт Джонсон

Ответы:


10

Это зависит от таких вещей, как сложность системы и от того, насколько хорошо организация подготовлена ​​для новых программистов. Это может занять от 30 минут до нескольких недель. Это не обязательно то, что вы делаете неправильно, и вы не должны чувствовать себя плохо по этому поводу.

Однако, что вы должны сделать, так это проактивно исправить это для себя и других. Расскажите своему менеджеру о своих разочарованиях и работайте вместе, чтобы преодолеть их и улучшить процесс для других новых сотрудников.

Пишите заметки о том, с чем вы боретесь, продумывайте способы их устранения или обходите и документируйте свой процесс. Держите других людей, которые могут помочь вам в курсе вашего прогресса и обратиться за помощью. Нет ничего постыдного в просьбе о помощи.


1
Многочисленные месяцы нередки для сложных, больших (1 миллион + SLOC), особенно в том, что домен также является нишевым и / или сложным.
— Mattnz

1
+1: у некоторых компаний есть наставники, назначенные для новых сотрудников, независимо от того, сколько у них опыта именно по этим причинам. Я всегда впиваюсь в человека, сидящего ближе всего ко мне, который готов помочь, и задаю ему тонны вопросов - и затем я открыто передаю их своему / их менеджеру, когда они помогают.
— Стивен Эверс

@mattnz Да. Несколько месяцев - это всего лишь несколько недель. ;)
— Рейн Хенрикс

5

Это нормально?

Для большинства кодовых баз это так. Черт, в моей компании вы встречаетесь с HR в течение 2 дней, прежде чем вам разрешат прикоснуться к компьютеру. Это необычно, но подумайте, сколько времени потребуется, чтобы настроить среду разработки, смутно ознакомиться с доменом, структурой кода, нормами команды ...

Как руководитель группы, я ожидаю, что вы эффективно ничего не сделаете в течение 1 (двухнедельного) спринта и будете работать на ~ 50% в течение следующих 1-2 спринтов.


2

качаемся в другую крайность ... Я работал в компании, в которой было всего 2-3 языка, но потребовалась лучшая часть года, прежде чем программисты были освобождены от использования кода, вероятно, за 1 или 2 месяца до того, как они отправили свою первую строку код.

Не балуйте себя этим, если вы были честны в интервью о том, что у вас недостаточно знаний об этих платформах, они знали, во что они ввязывались. Это требует времени, и время не может быть расширено, сокращено или сжато, просто убедитесь, что вы используете его максимально эффективно.


1

Это действительно зависит от работы, которую вы делаете, и роли, в которой вы находитесь.

Если вы выполняете работу по контракту, от вас ожидают, что вы буквально начнете работать, используя все имеющиеся в вашем распоряжении навыки для выполнения работы. Контрактная работа, как правило, четко определена, и вы (как правило) можете это сделать, по крайней мере, по моему опыту.

С другой стороны, я начал с одного места, которое имело огромную базу унаследованного кода с огромной кривой обучения. Мы не ожидали, что будем писать производственный код в течение первых шести месяцев, что мы были там.

Будьте терпеливы, впитывайте в себя как можно больше и используйте его на практике, когда вы начнете кодировать. Если вы находитесь в стационаре или спешите, в такой большой системе есть хорошие шансы, что вы можете что-то сломать, особенно если их тестовое покрытие не является блестящим.


0

Некоторое количество времени абсолютно нормально, чтобы привыкнуть к чему-то совершенно незнакомому - я бы не стал винить себя или чувствовать себя плохо. Тем не менее, важно быть готовым принять возможность того, что эта работа может не входить в ваш набор навыков. Это не обязательно так, просто стоит оставить возможность в уме.

Возможно, проблема не в размере кодовой базы, а в том, что вы не знаете языки, на которых она работает. По моему личному опыту, я работал в одной компании, где я не знал ни одного из языков, используемых в довольно обширной базе кода. К сожалению, я не смог научиться этому достаточно через 5 месяцев или около того, и вместо этого пошел в другую компанию. Там я хорошо знал основной язык, и, несмотря на то, что размер кодовой базы был сопоставим, я справился довольно хорошо.

Когда дело доходит до изучения новых языков, люди обычно думают, что это проще, чем на самом деле, и придерживаются высоких стандартов их быстрого изучения. Вполне вероятно, что это займет у вас больше времени, чем вы думаете, так что просто имейте это в виду, независимо от того, что вы решите.


2
Некоторые люди думают, что это сложнее, чем есть на самом деле. Довольно часто все сводится к уверенности, а не к таланту.
— ChaosPandion
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.