Привет, пикабу, мой первый пост, с русским языком не дружу - строго не судите, комментарии для минусов внутри. Читаю пикабу давно под анонимом, но вот зарегался, оставил комментарий, появились подписчики - что ж, делаю пост (повествование будет немного сумбурным, чукча не писатель).
Хочу сразу сказать - себя я считаю довольно тупым программистом, я много роюсь на StackOverFlow, задачи выполняю по подобию(копипаст копипаст), особой любви к программированию нет, но литературу ботаю. В итоге, со среднем образованием и незаконченным высшим - 3 года как работаю программистом, когда начинал ЗП была 20.000 руб - сейчас больше чем в 5 раз. Все что ниже - только мое мнение.
Закончив школу в деревушке, поступил в один из один из сильных Московских технических ВУЗов(что-то типа на программиста), отчислили, восстанавливался, отчислили- в итоге ничего не закончил, образования нет, опыта работы нет, желания работы нет, из знаний только математика(за знание синусов никто что-то платить мне не хочет). Поработав курьером, официантом, грузчиком, манагером по продажам - хотелось найти работу где: 1 - хорошо платят, 2 - не надо работать с людьми, окей будем программистом. На входе из навыков имелось: математика, немного знаний по паскалю со школы, немного знаний Си с 1 курса универа(знаний реально немного, на уровне - вместо begin end {}), базовые знания английского языка.
Т.к. немного знал Си - решил ботать Си++, типа сложный и должны хорошо платить(как же я ошибался). Сказано сделано, разобрав два тома Брюса Эккеля (Thinking in C++: Volume 1 & Volume 2, сводку по литературе и технологиям сделаю в конце поста) ели как нашел работу у себя в подмосковье. На работе нужен был GUI, начал ботать фреймворк Qt. Поработав меньше года решил идти дальше(зп не менялась), устроился в крупную кампанию с головой окунувшись в гавно-код на С++. Начал осваивать Git, потом следующая работа - там начал осваивать сети и работу с БД. Дальше новый проект JS +QML, после этого захотелось в web, новая работа(дольше года пока нигде не работал) и текущий стак - C#, ASP.NET MVC, JS, Ext.net, Ext.Js, SQL Server, WCF, Git.
Собеседования - я опирался только на hh.ru мониторил зп, смотрел какие технологии будут поинтереснее(так например выбор пал на Qt а не на wxWidgets), каких предложений больше(логичный вопрос чо я Java не стал ботать - ничего ответить не могу, я тупой). часто вам придется поддерживать гавно-код (с переходом на C# такого не было правда), так что ботая модный Swift возможно придется ботать и мерзкий Obj-C( аккуратнее выбирайте технологии, тк это ваше время). Представьте себя кадровиком, вам такие буквы как С++ Java вообще ни-о-чем не говорят, важно чтоб ногти окей выглядели, по-этому поиск ведется по совпадению ключевых слов, стажа работы и наличия вышки, так что - врите, работали немного с xml, внесите в список своих навыков, писали простой SQL запрос - поздравляю, вы эксперт в бд. На очном собеседовании - вот там нужно что-то рассказать(big-O нотация, принцип бинарного поиска - типовые вопросы нагуглите), показать (что вы не полный овощ) и немаловажная деталь, технологии технологиями, но вы в первую очередь будете работать с людьми, а кто хочет в себе команду неопрятно одетых бук(это потом можно в майке ходить). И самое главное - торгуйтесь по ЗП, точно могу сказать - две разные работы, с одними и теми же функциями может разница по зп в 2-3 раза по Мск легко(так зачем получать меньше? не демпингуйте - это рынок).
Литература и подготовка - сейчас тоже постоянно что-то ботаю(и нужно очень много всего еще заботать, края не видно) так как это отражается на рыночной капитализации. Крайне не рекомендую изучать С/C++, проблема с изучением С++ заключается в том что вас учат вручную управлять памятью и писать свои контейнеры, чтоб показать как это работает, а в работе вы будите использовать уже готовые компоненты. С++ начал с Брюса Эккеля (два небольших тома упомянутых выше, простым языком, с примерами, немного о паттернах проектирования даже), C++ Primer (5th Edition) Lippman (хорошая вводная, по сути тоже самое что Эккель), серия книг Скотта Мейерса(по STL, по типовым ошибкам и стандарту 11/14). По Qt - Бланшет и Саммерфильд, а так же прекрасная онлайн документация. SQL - Бен Форта(освой SQL за 10 минут). По C# - Троелсен, Абрахари, ASP.NET - Фримен, JS - Флэнаган.
При провале в Яндекс (:D) порекомендовали почитать Рихтера(я думаю тем кто хочет в яндекс мои советы ни к чему). Порекомендую смотреть в сторону python, C#, Java.
ps еще немного работаю на Upwork, и занимаюсь репетиторством по математике(типа хобби), если что спрашивайте, отвечу подробнее