Программист. Образование. Опыт

Andrew Minkin
Jan 20, 2017 · 4 min read
Image for post
Image for post

Этот пост посвящается всем тем, кто хочет научится программировать. Кто не знает где набираться опыта на старте. Что изучать и куда идти.

Сначала я хочу сделать пару выводов об образовании.

Что даст мне универ?

Что даст универ:

  1. Протертые джинсы

Хотя, если ты не знаешь, что такое самообразование, то может быть там тебя этому научат.

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

Нужен ли диплом?

Диплом нужен только в двух случаях.

  1. Миграция в другую страну. Хотя в Германии диплом можно заменить стажем в 5 лет. А в Штаты насколько я знаю 7 лет. А с новым законом Трампа, мигрировать в штаты стало вообще изи без диплома, если у тебя зпшечка от 100к в год

В остальных случаях больше имеет вес:

  1. Профиль на Linkedin

Братан! А математика! Математика нужна же!

Опять же. Смотря для чего.

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

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

  1. Читать графики мониторинга

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

Ок, а где почитать про алгоритмы?

Читать — одно. Главное — применять их. Можно прочитать всего Кнута и Кормена, и не уметь написать обычную, банальную сортировку. Главное — понимание, где и как применить. Плюс практика. Прочитал про алгоритм -> закодил -> понял, где можно применить -> отложил в памяти.

А что еще изучать стоит?

Изучать стоит ТОЛЬКО базис. Компьютерные сети, Операционные системы, устойство компьютера, алгоритмы. Список литературы к изучению

  1. Таненбаум — Компьютерные сети. Эта книга даст понимание об устройстве компьютерных сетей, а если еще понимать, что происходит в tcpdump или в дампе вайршарка — отлично.

Но я же хочу программировать на %LANGUAGE_NAME%, зачем мне все это?

А затем, чтобы ты не был говнарем, а был со временем бородатым дядей, который знает, почему и как его код работает. Или не работает. Чтобы ты смог продиагностировать, где у тебя проблема. В коде или в настройках какого-то сервиса на сервере под определенной ОС.

Понял, но как мне начать и где брать опыт?

Начать — легко. Главное — делать это постоянно. Вообще тут есть три варианта:

  1. Херачишь фриланс, не развиваешь свой мозг, учишь фреймворки и лечишь симптомы. При этом, занимайся еще не технической деятельностью. Устройся продажником куда-нибудь. Или ПМом. Или маркетологом. Открой свой бизнес… И тогда тебе конец через 1–4 года.

Во втором и третьем пункте без стажировки может и не обойтись

Ок, но я хочу учиться и быть стажером.

Хорошо. Допустим ты нашел хорошего тимлида, который готов взять тебя стажером. Но что ты можешь предложить ему, учитывая, что ты сейчас еще личинка личинки программиста? Сейчас ты не клевый и ты ничего не умеешь и обучение тебя — это трата времени и мозговых ресурсов тимлида. Это инвестиции. А любые инвестиции должны окупаться. Поэтому нет смысла в летних стажировках, стажировках на полшишечки и прочих не фултаймовых вещах. По опыту скажу, что из человека с улицы, слабого джуниора можно вырастить где-то за полгода. По достижению уровня джуна, ты сможешь рассчитывать на 200–400 зеленых за свои потуги.

Ух, много текста. А можно как-нибудь в кратце?

Да.

  1. Пиши код

По поводу литературы выше. Ее полезно читать на всех уровнях.

  1. Читаешь, когда ты джун

Если делать так, то с каждым прочтением, ты будешь все больше получать понимание материала и структурировать его.

На этом все. Если есть вопросы — велкам в комментарии.

И напоследок видео с митапа об образовании

Удачи тебе, падаван, в твоих начинаниях!

Mad Devs Blog — Custom Software Development Company

Engineering your growth. Mad Devs is the team behind large scalable projects, globally.

Andrew Minkin

Written by

Mad Devs Blog — Custom Software Development Company

Mad Devs is a Cambridge-headquartered IT company developing enterprise-level software solutions for finance, transportation & logistics, security, edtech, and advertising industries. For more information about us, please browse our website: https://maddevs.io/

Andrew Minkin

Written by

Mad Devs Blog — Custom Software Development Company

Mad Devs is a Cambridge-headquartered IT company developing enterprise-level software solutions for finance, transportation & logistics, security, edtech, and advertising industries. For more information about us, please browse our website: https://maddevs.io/

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store