Выходя за рамки кодирования: основные навыки для современных разработчиков программного обеспечения
3 января 2024 г.Разработка программного обеспечения становится намного более конкурентоспособной. С появлением инструментов искусственного интеллекта научиться программировать стало проще, чем когда-либо.
Кроме того, может показаться трудным выделиться, поскольку в наши дни на большинство вакансий в области программирования подается более 1000 претендентов.
Вот несколько основных принципов, которых не хватает большинству разработчиков программного обеспечения.
Общение
Долгое время считалось, что программисты заведомо плохи в общении. Если вы умеете своевременно отвечать на сообщения, говорить четко и профессионально и всегда держать слово — тогда вы выделитесь среди большинства разработчиков программного обеспечения.
Дизайн, структура и усиление; Стандарты
Не просто собирать вещи и создавать «спагетти-код» — помните о лучших практиках проектирования программного обеспечения, таких как объектно-ориентированное проектирование и контроллер представления модели.
При работе над любым проектом структура и стандарты являются ключом к долгосрочному успеху. Например, если вы используете такую структуру, как React или Angular, у вас должны быть определенные каталоги для ваших стилей, страниц и компонентов.
Недавно я работал над проектом React, структура которого была очень неорганизованной, а компоненты страницы были построены как спагетти-код без разделение задач. Разделение вызовов API и повторно используемых компонентов, а также предложение стандартов для нашей команды сыграли важную роль для всей нашей команды.
Соблюдение сроков
Я не уверен, потому ли это, что все недооценивают, сколько времени займет выполнение задачи, или потому, что они не учитывают тестирование и отладку.
За свой десятилетний опыт работы разработчиком программного обеспечения я нашел это обычная практика – пропускать сроки. От независимых внештатных проектов до корпоративных команд SCRUM — как фрилансеры, так и команды обычно не достигают целей своих проектов по выпуску программного обеспечения.
Если вы можете делать точные оценки и соблюдать сроки, а затем зарабатываете репутацию, подтверждающую это, вы на огромный шаг впереди конкурентов.
Не откладывайте на потом — будьте активны
Когда вы занимаетесь разработкой программного обеспечения, очень легко откладывать дела на потом. Вы видите задачу и знаете, что потребуется для ее выполнения. Возможно, вы даже переоценили время, которое это займет, и думаете, что на самом деле это займет у вас меньше времени, — поэтому вы откладываете дело на потом. В это легко попасть, но это плохая практика.
Будьте активны в своих задачах. Думайте об этом как об игре, в которой вы получаете больше очков, максимально сокращая расчетные часы и время доставки. Это принесет вам наибольшее количество баллов и выделит вас среди среднего разработчика программного обеспечения.
Соблюдайте рамки — не обещайте больше, не выполняйте
Как и в случае срыва сроков, часто, особенно среди новых разработчиков, мы слишком много обещаем и не достигаем поставленной цели.
С другой стороны, если вы сумеете недообещать и перевыполнить, это действительно выделит вас среди других разработчиков программного обеспечения, и ваш клиент будет любить вас за это.
При этом важно отказаться от некоторых вещей, которые выходят за рамки согласованного проекта. Хорошая идея — выделить несколько часов на доработку, если клиент по-прежнему не удовлетворен, вы запрашиваете корректировку контракта. Также важно сохранять гибкость, и клиент будет уважать соблюдение контракта. Именно здесь на помощь приходит раннее, эффективное и частое общение.
Не сдавайтесь — завершите проект
При всем вышесказанном важно не отказываться от проекта. Поработайте со своим клиентом или командой, чтобы выяснить, что означает завершение указанного проекта. Сделайте все возможное для достижения этой цели и убедитесь, что и вы, и клиент удовлетворены конечным продуктом.
Оптимизация и усиление; Эффективность
Всегда есть способы сделать что-то лучше. Ищите способы улучшить или оптимизировать код; озвучивайте их как можно раньше и чаще, чтобы ваш клиент и команда знали о потенциальной оптимизации.
В этом секретный соус: если вы можете найти способ оптимизировать программное обеспечение и показать данные, подтверждающие эффективность, вы — КОЗА. Целью программного обеспечения является оптимизация эффективности сложных задач; если вы можете найти способ оптимизировать или сделать что-то более эффективным, вы наткнулись на Святой Грааль программирования.
Будьте добры, не будьте дерзкими
Очень важно быть добрым. Я был в команде, где технический руководитель на меня кричал за то, что я не смог заставить что-то работать так, как, по его мнению, это должно было работать. Затем он созванивался со мной более двух часов и не мог понять, как заставить это работать!
Меня это очень расстроило, но я знал, что лучше проявить доброту и сделать все возможное, чтобы не мстить. Если бы технический руководитель с самого начала был более любезным, всем было бы лучше.
Я также сталкивался с ситуациями, когда знаю о React больше, чем члены моей команды. Были ситуации, когда член команды не знал, что не так с его репозиторием, когда ему просто нужно было установить зависимости из package.json — в подобных ситуациях важно не показаться высокомерным и уважать, что члены команды имеют разное происхождение. опыта.
Вы всегда можете учиться у других. Несмотря на то, что я знал больше о React, член моей команды познакомил меня с термином «Перегрузка функций< /a>», что вы, вероятно, делали, но могли не знать терминологии.
Лучше всего подавать пример с уважением и добротой. Программирование – это сообщество и обмен знаниями! Речь идет не о том, чтобы пристыдить того, кто учится.
Документация
Несмотря на чувство общности и обучения, важно документировать структуру, стандарты и кодовую базу вашего проекта, чтобы будущие разработчики могли легко подключиться к работе и все были на одной волне.
Иногда вы можете столкнуться с таким проектом:
И помните, что любая документация лучше, чем ее отсутствие.
Помимо юмора и amp; хотя большая часть этой статьи может показаться очевидной —
Большинство разработчиков программного обеспечения, включая меня, не обладают многими из этих навыков. Как бы вы оценили себя по этим навыкам (1–10)?
Общение:
Дизайн, структура, стандарты:
Сроки соблюдения сроков:
Не откладывать на потом:
Остаться в рамках:
Завершение проекта:
Оптимизация & сделать код максимально эффективным:
Быть добрым:
Документация:
Возьмите самые низкие баллы и сосредоточьтесь на улучшении этих областей в этом году!
Никто не идеален, но если вы сможете оптимизировать эти навыки в своей работе по разработке программного обеспечения, вы добьетесь успеха.
Спасибо за чтение и удачного программирования!
Мир,
— Уэс
Также опубликовано здесь.
Оригинал