Задать вопрос

Отрасли программирования. Кем можно стать?

Здравствуйте, дамы и господа. Я учусь в 11 классе и твердо решил стать программистом. У меня есть небольшой опыт в олимпиадном программировании(знаю немного C++). Недавно поставил себе Ubuntu 12.04 на десктоп , осваиваюсь. Пока времени хватает, следуя совету,пытаюсь пробовать себя в различных сферах(захожу на форумы,читаю хабр , тостер и т.д). Также читаю книгу Дейтелов по С++, потихоньку прокачиваю свой английский. Знакомых/друзей программистов нет, поэтому спрашиваю у вас - кем можно стать,какую работу можно выполнять? Хочется,чтобы профессия оставалась востребованной. Я очень хочу стать профессионалом в своём деле. У меня есть несколько вариантов:
1) Веб-программист.
2) Разработчик ПО.
3) Разработчик игр.
4) Системный администратор.
5) Что - нибудь ещё.
Можете рассказать по подробнее про каждую из вышеперечисленных профессий ? Добавьте что-нибудь от себя, советуйте , если не сложно. Ещё меня интересует такой вопрос - где можно найти себе наставника?
Спасибо за внимание!
  • Вопрос задан
  • 18225 просмотров
Подписаться 6 Простой Комментировать
Ответ пользователя Дмитрий К ответам на вопрос (4)
@hsc
full stack python back-end developer
Мне кажется, что есть смысл начинать с компилируемых ЯП. Они, как правило, более близки к железу, а это, в свою очередь, сыграет очень важную роль в понимании процесса в целом, ведь любая программа, будь то десктопное приложение, или мобильное, или какой-нибудь бэкэнд, рано или поздно превращаться в инструкции процессора, и чем быстрее этот процесс происходит и чем меньше инструкций — тем быстрее она выполниться. Раз у вас есть знания С++ - то это чудесный выбор для начала. Он покажет насколько важны оптимальные алгоритмы, научит планировать и продумывать архитектуру чтоб добиться производительности, научит экономить ресурсы и грамотно управлять ими, столкнет вас лоб в лоб с нюансами типа "битая куча", аварийное завершение приложения со стороны ОС, всевозможные переполнения и т.д. Не стоит этого бояться, в вашем случае, когда есть время, это может стать очень интересным. Кроме этого будет возможность параллельно почерпнуть знаний о строении ОС (виртуальная память, стек, дескрипторы, процессы и потоки и т.д.).

В последствии можно будет посмотреть и на веб программирование и на моб. платформы и на серверверное программирование. Конечно, не на С++. Каждой задаче - свои инструменты. Там уже выбор ЯП будет осуществляться не по принципу "что я знаю", а по принципу "на чем быстрее и эффективнее", поскольку зная что-то типа С++ на другой ЯП можно переходить уже намного быстрее. Высокоуровневые языки типа python, ruby и т.д. очень удобны, но поверьте, знание того, что происходит в ОС будет качественно выделять вас на фоне людей, которые не могут похвастаться этими знаниями. С знаниями "низких уровней" у вас появиться больше шансов попасть на высоко-нагруженные проекты и носить гордое звание профессионала.

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

Поступайте только в профильный ВУЗ. Его выбор, как по мне, не очень важен. В нашей специфике самообразование — это все. ВУЗ вам предоставит, в большинстве случаев, только устаревшую лет на 3-7 дорожную карту, экзаменаторов, время и, возможно, вдохновение, если попадется достойный преподаватель.

Успехов вам!
Ответ написан