Постоянное любопытство, кодирование в соответствии с условиями, дерзость и многое другое.

На самом деле я начал программировать задолго до того, как получил свою первую работу в качестве разработчика, загружая сайты здесь и там для друзей и друзей друзей. Я вырос во времена коммутируемого Интернета, дискет и кассет - классический ребенок 90-х с музыкальной темой Fresh Prince of Bel-Air, играющей во время обеда.

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

Это был странный прыжок и огромная кривая обучения. Это были дни моей работы, которые заставили меня выйти за дверь.

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

Вот 25 уроков, основанных на моем опыте и том, что я извлек из своего путешествия.

Уроки, которые я извлек как разработчик

  1. По сути, все в этой отрасли самоучки. Технологии, как правило, развиваются слишком быстро, чтобы традиционные образовательные учреждения могли их догнать. Если вы хотите что-то быстро освоить, вам лучше получить микро- и нано-степени и сертификаты, чем сидеть через три года экзаменов.
  2. Традиционное образование по-прежнему занимает место в фундаментальных исследованиях. Степень бакалавра - это один из способов открыть дверь, но не единственный. Если ваш мозг более практический, чем теоретический, и вы не можете финансировать выплаты по студенческим ссудам в течение следующих 10 лет, в Интернете сейчас доступно гораздо больше руководств и структур, чем 10 лет назад.
  3. Чтобы добиться успеха в отрасли, нужно постоянно проявлять любопытство. Вы постоянно задаете вопросы о том, как все работает, почему все работает, особенно в моменты эврики, когда все наконец становится на свои места.
  4. В течение долгого времени вы будете чувствовать, что на самом деле не становитесь лучше - до тех пор, пока вы не оглянетесь на свой старый код или вам не придется что-то кому-то объяснять.
  5. Количество кода, которое вы создаете, имеет значение как младший. Обучение программированию похоже на обучение письму. Чем больше вы напишете, тем больше вы начнете замечать закономерности, неэффективность и способы их устранения.
  6. Будучи юниором, вы попадете в стадию высокомерия и будете думать, что знаете все. В качестве промежуточного звена вы обнаружите, что отказываетесь от эго, которое когда-то демонстрировали. Став старшим, вы дадите достаточно советов, чтобы направить своих менее опытных коллег в правильном направлении, но вы также позволите им немного бороться, потому что все это часть процесса обучения для создания.
  7. Ошибки возникают из-за пробелов в знаниях. Код - это акт преобразования требований компилятора в «компьютерный язык». Когда что-то идет не так, это происходит из-за ошибки в переводе, сделанном разработчиком.
  8. Когда люди говорят вам, что вы занимаетесь гибкой разработкой, но не пускают вас в фазу планирования, которая непосредственно влияет на вас, это не настоящая гибкость.
  9. Как разработчик вы будете постоянно знать, но в то же время не знать.
  10. Когда дело доходит до удобочитаемости, форматирование является решающим фактором.
  11. Код - это инструмент коммуникации. Напишите его так, чтобы он был удобочитаемым и не усеян секретными кодовыми именами, которые поймут только посвященные. Когда это происходит, код не может быть самодокументированным и кратким.
  12. Паттерны функционального программирования делают вещи менее сложными. Объектно-ориентированные шаблоны также имеют свое место в качестве инструмента организации и категоризации. Эти два шаблона не исключают друг друга и при необходимости сосуществуют.
  13. Соблюдайте условия. Чрезмерное абстрагирование в целях «передовой практики» может в долгосрочной перспективе привести к увеличению технического долга.
  14. Все возрасты программного обеспечения. «Идеальный» код пять месяцев назад потенциально может оказаться неэффективным из-за изменений требований, обновлений зависимостей и неучтенных ошибок и ошибок в логике.
  15. Ваша база данных - это все. Если он чрезмерно спроектирован, есть вероятность, что ваша серверная часть также будет запутана в качестве побочного эффекта.
  16. Когда вы работаете в команде, простой и автоматизированный процесс будет решающим фактором для вашей продуктивности. Плоская структура означает, что вы можете перемещать код по конвейеру быстрее, а автоматизация означает меньше времени на щелчки мышью, ввод текста и ожидание завершения работы.
  17. Наследование плохого кода - это обряд посвящения. Каждый проходит через это в какой-то момент своей карьеры. Это также возможность учиться на чужих ошибках и возможность делать хорошие вещи для будущего развития программного обеспечения.
  18. Вы будете постоянно убирать за другими и своими прошлыми творениями. Это потому, что код подобен еде: если он не используется активно, он становится наследием и может испортиться с возрастом.
  19. Баланс между работой и личной жизнью по-прежнему актуален для разработчиков, потому что все мы по-прежнему люди. Не будьте стереотипом и пренебрегайте собой, своими друзьями или семьей. Позаботьтесь о себе и не позволяйте кодовой жизни овладеть вами.
  20. Если вы чувствуете, что находитесь на грани выгорания - остановитесь. Сделайте перерыв, а затем вернитесь - но к коду, который имеет более высокую цель или личное значение для вас. Программное обеспечение - это интерфейс между клиентом и бизнесом. Как разработчики, мы действуем как сила, которая позволяет этому случиться. Спрыгивать с корабля можно, если вы чувствуете, что на самом деле не способствуете этому - или просто не верите в это. Вы должны гордиться тем, что делаете. Независимо от того, где вы окажетесь, вы все равно будете получать приличный доход.
  21. Не зацикливайтесь на чужом коде. Работайте с тем, что у вас есть. Сосредоточьтесь на самосовершенствовании, чтобы стать эталоном.
  22. Если вас никто не зовет на собеседование, приступайте к творчеству. Если у вас нет опыта, чтобы написать резюме, приступайте к творчеству. Если у вас есть свободные выходные и у вас есть идея, приступайте к творчеству. Как разработчики, мы создаем код. В тот момент, когда мы остановимся, мы рискуем стать частью управленческой команды.
  23. Не надо просто учиться программировать. Чем шире ваша область знаний, тем легче будет кодировать ваши проекты. Это потому, что кодирование преобразует мир, его правила и процессы в цифровое представление реальности. Вы не можете эффективно создать то, чего не понимаете.
  24. Вы никогда не узнаете всего, что нужно знать о коде, но идеи конечны. Лучше иметь большой набор идей и использовать их в качестве руководства для процесса создания кода. В итоге вы получите более надежное программное обеспечение.
  25. Книги по программному обеспечению по-прежнему стоит читать и вкладывать в них. Именно здесь подробно исследуются многие важные идеи, особенно идеи Роберта К. Мартина и Мартина Фаулера. Они - боги индустрии среди нас, простых смертных.

Заключение

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

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

Но пока это все, и до следующего раза - спасибо за чтение.