Мой лучший совет - сосредоточиться на основах, таких как список, предложенный Робертом Харви. Разработка программного обеспечения - это сложное чудовище, на которое уходят годы, чтобы хоть как-то справиться, особенно в области хорошего дизайна интерфейса. Действительно трудно оценить многие аспекты разработки программного обеспечения, не испытав их на практике. Даже такое базовое, как комментирующий код, может быть недооценено. С первого дня вас учат писать хорошо документированный код. Я признаю, что это было до тех пор, пока я действительно не попытался понять код, который я написал несколько месяцев назад, прежде чем я по-настоящему оценил ценность хороших комментариев. То же самое можно сказать и о многих концепциях программирования. Например, инкапсуляция данных, слабосвязанные модули и четкие чистые интерфейсы.
Самый ценный ресурс, с которым я сталкиваюсь, - это мои коллеги. Вы собираетесь плохо писать код. Просто прими это. Это то, что вы делаете, чтобы быть уверенным, что со временем вы пишете лучший код, который определяет вас как программиста. Например, когда я впервые начал работать, в моей компании не было формального кода или процедур проверки дизайна. Я взял на себя ответственность подвергнуть свою работу критике моих более старших сотрудников и, честно говоря, я чувствовал себя идиотом в течение большей части моего первого года работы.
Разработка программного обеспечения - это постоянный опыт обучения. Задавайте тонны вопросов, проверяйте свой код, понимайте причины предложений, которые дают более старшие люди, не бойтесь сомневаться в обоснованности предложений, которые дают более старшие разработчики, и больше всего не боятся ошибиться. В конце концов, фактор инстинкта или чувство подавленности исчезает. Для записи ... учебные кривые отстой.