Я вижу, что некоторые новые разработчики приходят на работу и сразу чувствуют себя неадекватными. Я сделал то же самое в начале своей карьеры. Я думаю, что есть, по крайней мере, две основные проблемы, которые должны решить большинство умных парней: восприятие времени и их собственные естественные способности.
Восприятие времени
Умные парни привыкли решать проблемы относительно быстро. Я помню, что был в ужасе, когда мне пришлось потратить час на одну проблему исчисления. Тратить 60 минут на проблему - больше ничего. Те дни закончились ... похороните их и попрощайтесь. Сложность и размер большинства программ сегодня огромны. Люди не понимают все инструменты, которые они должны использовать, чтобы добиться цели. Дуглас Крокфорд сказал, что один из ключевых людей языка JavaScript:
"Misapplication of standard tools...is the new standard."
В мире просто не хватает времени, чтобы изучить все инструменты разработки.
Естественные способности
Ваш интеллект, способность решать проблемы и природные навыки привели вас в первую очередь к работе с разработчиками. Там просто нет места для чего-то меньшего в этой области. Итак, что вы делаете с 100 000 строк кода, языков и фреймворков, которые вы едва знаете, с шаблонами дизайна и парадигмами, на которые толкают вас люди, парни, которые знают большинство из них, как задняя часть своей руки, клиенты, которые хотят этого вчера, и босс кто ожидает мир от вас? Урод, когда твои природные способности не работают.
Да, это нормально. Я все еще волнуюсь из-за того, что мне мешает.
Что можно сделать?
Пришло время улучшить эти естественные способности с помощью доброй старомодной тяжелой работы Работайте над разбивкой проблем на более мелкие части. И поймите, что в отличие от многих вещей, которые вы, возможно, сделали в прошлом, эти проблемы требуют много времени для решения. Так что не сдавайтесь после 15 минут изучения сложной проблемы. Вместо этого разберитесь с проблемами и перестаньте смотреть на часы. Через некоторое время 30 минут работы с проблемой на самом деле уже не то, что было раньше.
Уверенность в себе играет большую роль в способности к самоуправлению. Так же как и команда, особенно более опытные старшие. Хорошо быть осторожным, чтобы не сломать вещи, но это не значит, что вам нужно задавать постоянный поток вопросов.
Вместо этого используйте контроль источника. Пока вы не вносите изменения, вы не можете сломать основной продукт и разозлить других разработчиков. Кроме того, внесите изменения, которые вы можете понять и протестировать, и обязательно проверьте их задолго до регистрации.
У меня даже есть небольшой тестовый проект, который я использую для написания одноразовых, простых программ, так что мне не нужно беспокоиться обо всем, что происходит в основном приложении.
Наконец, помните, что каждое решение имеет определенный уровень взаимных уступок. Невозможно двигаться вперёд, не принеся какой-то жертвы на каком-то уровне. Не стремитесь к совершенству, стремитесь к удивительности и помните о своих действиях. Потому что вы всегда должны быть готовы к критике и объяснению ваших идей и почему вы их сделали. Гордитесь решениями, которые вы принимаете. Даже когда они не правы, есть чему поучиться.