Постоянное любопытство, кодирование в соответствии с условиями, дерзость и многое другое.
На самом деле я начал программировать задолго до того, как получил свою первую работу в качестве разработчика, загружая сайты здесь и там для друзей и друзей друзей. Я вырос во времена коммутируемого Интернета, дискет и кассет - классический ребенок 90-х с музыкальной темой Fresh Prince of Bel-Air, играющей во время обеда.
Моя первая настоящая работа в качестве разработчика была несколько случайной. Меня наняли, чтобы сыграть новую девушку-маркетолога, но в итоге я провел рефакторинг всего интерфейса мобильного приложения в течение шести месяцев после получения работы.
Это был странный прыжок и огромная кривая обучения. Это были дни моей работы, которые заставили меня выйти за дверь.
По мере того, как мы проходим середину и продвигаемся вперед во второй половине года, я размышлял и думал о своем пути как разработчик.
Вот 25 уроков, основанных на моем опыте и том, что я извлек из своего путешествия.
Уроки, которые я извлек как разработчик
- По сути, все в этой отрасли самоучки. Технологии, как правило, развиваются слишком быстро, чтобы традиционные образовательные учреждения могли их догнать. Если вы хотите что-то быстро освоить, вам лучше получить микро- и нано-степени и сертификаты, чем сидеть через три года экзаменов.
- Традиционное образование по-прежнему занимает место в фундаментальных исследованиях. Степень бакалавра - это один из способов открыть дверь, но не единственный. Если ваш мозг более практический, чем теоретический, и вы не можете финансировать выплаты по студенческим ссудам в течение следующих 10 лет, в Интернете сейчас доступно гораздо больше руководств и структур, чем 10 лет назад.
- Чтобы добиться успеха в отрасли, нужно постоянно проявлять любопытство. Вы постоянно задаете вопросы о том, как все работает, почему все работает, особенно в моменты эврики, когда все наконец становится на свои места.
- В течение долгого времени вы будете чувствовать, что на самом деле не становитесь лучше - до тех пор, пока вы не оглянетесь на свой старый код или вам не придется что-то кому-то объяснять.
- Количество кода, которое вы создаете, имеет значение как младший. Обучение программированию похоже на обучение письму. Чем больше вы напишете, тем больше вы начнете замечать закономерности, неэффективность и способы их устранения.
- Будучи юниором, вы попадете в стадию высокомерия и будете думать, что знаете все. В качестве промежуточного звена вы обнаружите, что отказываетесь от эго, которое когда-то демонстрировали. Став старшим, вы дадите достаточно советов, чтобы направить своих менее опытных коллег в правильном направлении, но вы также позволите им немного бороться, потому что все это часть процесса обучения для создания.
- Ошибки возникают из-за пробелов в знаниях. Код - это акт преобразования требований компилятора в «компьютерный язык». Когда что-то идет не так, это происходит из-за ошибки в переводе, сделанном разработчиком.
- Когда люди говорят вам, что вы занимаетесь гибкой разработкой, но не пускают вас в фазу планирования, которая непосредственно влияет на вас, это не настоящая гибкость.
- Как разработчик вы будете постоянно знать, но в то же время не знать.
- Когда дело доходит до удобочитаемости, форматирование является решающим фактором.
- Код - это инструмент коммуникации. Напишите его так, чтобы он был удобочитаемым и не усеян секретными кодовыми именами, которые поймут только посвященные. Когда это происходит, код не может быть самодокументированным и кратким.
- Паттерны функционального программирования делают вещи менее сложными. Объектно-ориентированные шаблоны также имеют свое место в качестве инструмента организации и категоризации. Эти два шаблона не исключают друг друга и при необходимости сосуществуют.
- Соблюдайте условия. Чрезмерное абстрагирование в целях «передовой практики» может в долгосрочной перспективе привести к увеличению технического долга.
- Все возрасты программного обеспечения. «Идеальный» код пять месяцев назад потенциально может оказаться неэффективным из-за изменений требований, обновлений зависимостей и неучтенных ошибок и ошибок в логике.
- Ваша база данных - это все. Если он чрезмерно спроектирован, есть вероятность, что ваша серверная часть также будет запутана в качестве побочного эффекта.
- Когда вы работаете в команде, простой и автоматизированный процесс будет решающим фактором для вашей продуктивности. Плоская структура означает, что вы можете перемещать код по конвейеру быстрее, а автоматизация означает меньше времени на щелчки мышью, ввод текста и ожидание завершения работы.
- Наследование плохого кода - это обряд посвящения. Каждый проходит через это в какой-то момент своей карьеры. Это также возможность учиться на чужих ошибках и возможность делать хорошие вещи для будущего развития программного обеспечения.
- Вы будете постоянно убирать за другими и своими прошлыми творениями. Это потому, что код подобен еде: если он не используется активно, он становится наследием и может испортиться с возрастом.
- Баланс между работой и личной жизнью по-прежнему актуален для разработчиков, потому что все мы по-прежнему люди. Не будьте стереотипом и пренебрегайте собой, своими друзьями или семьей. Позаботьтесь о себе и не позволяйте кодовой жизни овладеть вами.
- Если вы чувствуете, что находитесь на грани выгорания - остановитесь. Сделайте перерыв, а затем вернитесь - но к коду, который имеет более высокую цель или личное значение для вас. Программное обеспечение - это интерфейс между клиентом и бизнесом. Как разработчики, мы действуем как сила, которая позволяет этому случиться. Спрыгивать с корабля можно, если вы чувствуете, что на самом деле не способствуете этому - или просто не верите в это. Вы должны гордиться тем, что делаете. Независимо от того, где вы окажетесь, вы все равно будете получать приличный доход.
- Не зацикливайтесь на чужом коде. Работайте с тем, что у вас есть. Сосредоточьтесь на самосовершенствовании, чтобы стать эталоном.
- Если вас никто не зовет на собеседование, приступайте к творчеству. Если у вас нет опыта, чтобы написать резюме, приступайте к творчеству. Если у вас есть свободные выходные и у вас есть идея, приступайте к творчеству. Как разработчики, мы создаем код. В тот момент, когда мы остановимся, мы рискуем стать частью управленческой команды.
- Не надо просто учиться программировать. Чем шире ваша область знаний, тем легче будет кодировать ваши проекты. Это потому, что кодирование преобразует мир, его правила и процессы в цифровое представление реальности. Вы не можете эффективно создать то, чего не понимаете.
- Вы никогда не узнаете всего, что нужно знать о коде, но идеи конечны. Лучше иметь большой набор идей и использовать их в качестве руководства для процесса создания кода. В итоге вы получите более надежное программное обеспечение.
- Книги по программному обеспечению по-прежнему стоит читать и вкладывать в них. Именно здесь подробно исследуются многие важные идеи, особенно идеи Роберта К. Мартина и Мартина Фаулера. Они - боги индустрии среди нас, простых смертных.
Заключение
Путь, который привел меня туда, где я сейчас как разработчик, был наполнен хорошим и плохим кодом, интересными решениями и не очень хорошими архитектурами.
По мере того, как я начинаю летать в одиночку и больше работать фрилансером и работать по контракту, мой опыт как разработчика, безусловно, будет расти и двигаться по другой траектории.
Но пока это все, и до следующего раза - спасибо за чтение.