
Одной из моих обязанностей в Groupon было помогать компании нанимать отличных разработчиков, так что меня можно считать представителем команды разработчиков Groupon, в основном отвечающим за публикацию информации о вакансиях и ответы на вопросы. На прошлой неделе я ответил двум студентам, которые пришли узнать о летних стажировках.
Я внимательно пересмотрел содержание своих ответов по электронной почте и обобщил 8 советов, которые считаю ценными, для студентов, мечтающих стать программистами:
1. Если вы начинаете обращаться к компаниям на стороне уже на втором курсе, ваш подход заслуживает похвалы. Многие студенты задумываются о поиске работы только за два месяца до выпуска (или даже позже). Даже если вы не можете получить стажировку, вам всё равно стоит часто ходить на собеседования и общаться с некоторыми компаниями, стараясь произвести хорошее впечатление на людей.
2. Если вам интересна какая-то зрелая технология, вы можете сначала изучить соответствующие базовые знания из книг. Старайтесь сочетать теоретические знания с практическими упражнениями. Знания в книгах тщательно отредактированы и дадут вам полный набор систематизированных знаний. Но нельзя только читать книги; нужно выполнять упражнения из них. Например, если вы хотите изучить Rails, можете прочитать "Agile Web Development with Rails" — она научит вас, как за неделю разработать полноценный сайт электронной коммерции. Иногда практика нередко предшествует пониманию (или, точнее, без практики понять невозможно).
3. По этому пункту я хочу сказать: не просто сидите и ждите, пока учебная аудитория научит вас новым языкам программирования или передовым технологиям. Цель курсов по информатике, предлагаемых в учебном заведении, — позволить вам изучить теоретические основы программирования, а также некоторые правила и специальные темы. Но многие технологии (такие как управление кодом, управление серверами, настройка nginx и т. д.) и языки программирования (в учебных курсах преподают только C и Java) не войдут в учебную программу. Но в компании вы часто будете изучать новые технологии целенаправленно, исходя из своего карьерного планирования и потребностей бизнеса. Поэтому, если вы хотите чего-то добиться в своей карьере в будущем, постарайтесь уже сейчас изучить некоторые новые знания за пределами учебной программы.
4. Не ограничивайтесь только конкретными языками программирования и фреймворками; диверсифицируйте свои технические навыки. Такие книги, как «Structure and Interpretation of Computer Programs» (бесплатное онлайн-чтение http://mitpress.mit.edu/sicp/full-text/book/book.html), «Clean Code» и «The Pragmatic Programmer», — все они хороши.
5. Если вы только что пробежались глазами по предыдущему пункту, лучше прочитайте его снова! Прочитайте SICP, посмотрите видеообъяснения. Эти тренировки сделают вас отличным программистом.
6. Выучите хотя бы один малоизвестный язык программирования. Это позволит вам узнать много вещей, которые вы не можете узнать из мейнстримных языков, таких как Java. Лично я предпочитаю язык Lisp. Книга «Land of Lisp» великолепна, она предоставляет вам увлекательный способ изучения Lisp.
7. Найдите проект, над которым можно работать. Не обязательно делать что-то очень значимое или важное; главное, чтобы это позволяло вам практиковаться. Напишите небольшую программу, которая может искать ближайший к вам Starbucks, разработайте единую систему управления веб-сайтом для вашей учебной группы, разработайте программное обеспечение автоматического робота, которое может выполнять задачи по сборке пазлов. Просто для практического обучения, и опубликуйте проект в Интернете, выложите исходный код на GitHub, а также часто пишите свои собственные учебные выводы и публикуйте их в блоге. Таким образом, проекты, которые вы делаете, станут общедоступными. Преимущество в том, что в будущем работодатели будут иметь хорошее впечатление о вас, особенно во время собеседований. В то же время это также дает вам возможность упражнять свои навыки письма, позволяя вам знать, где находится ваш прогресс каждый год.
8. Свяжитесь с большим числом разработчиков, связанных с вашей областью. Благодаря Google, если в вашей области есть соответствующие конференции и мероприятия, вы можете найти их за 5 секунд. Если вы не можете найти ни одной конференции, это означает, что организовать их слишком затратно по времени или слишком сложно. Вы также можете вызваться добровольцем, чтобы внести вклад в эти конференции, например найти места для встреч. Делать эти вещи не очень сложно; главное — уделять время и иметь уверенность. Эти вещи принесут вам хорошую репутацию, помогут поддерживать связь с другими, работать вместе и вместе развиваться.
В заключение я хочу сказать: тратьте $100 в год на книги и усердно практикуйтесь. Вы обязательно станете студентом колледжа, который в глазах работодателей будет лучше любого другого.