Как программист, я испытываю придирчивое раздражение к своим инструментам, коду других людей, к моему коду, к миру в целом. Я всегда хочу улучшить это. Так что я рефакторинг, я остаюсь на вершине новейших методов. Я стараюсь изучать шаблоны, стараюсь использовать рамки, чтобы не изобретать велосипед. Я могу написать техническую спецификацию, которая снесет ваши носки с количеством моделей, которые я могу сжать.
Однако в последнее время я чувствую, что на самом деле знаю больше об инструментах, которые я использую, чем о том, как на самом деле реализовать успешное программное обеспечение.
Мне кажется, что мне не хватает навыков человеческого фактора, и я считаю, что для того, чтобы стать успешным инженером-программистом, нужно больше, чем знание самой крутой основы. Я думаю, что для этого нужны некоторые из следующих навыков.
- Интерактивный дизайн
- Пользовательский опыт
- маркетинг
У меня есть кое-что из того, что я узнал от людей, с которыми работал, и от замечательных проектов, над которыми я работал, но я не чувствую, что «владею» этими навыками.
Я прав? Должен ли я пытаться развивать эти навыки дальше, или они должны быть оставлены людям, которые делают это для карьеры?
Как убедиться, что вы не слишком привязаны к тому, как вы делаете что-то, и убедитесь, что вы «делаете своих пользователей крутыми»?
Кто-нибудь знает хорошие ресурсы для изучения этих навыков с точки зрения программирования?