Привет, дорогой мой читатель. В последнее время на меня опять напало желание выливать мысли в текст. Пытаюсь писать полезно для тебя.
На этот раз я продолжу вот
эту свою писанину и раскрою за тебя некоторые моменты.
Если ты программист и хочешь достаточно быстро найти местечко, на котором еще и есть шанс быстрого роста, то пробуй действовать так. Я постоянно стараюсь выражать только свое мнение, но сейчас я за тебя обобщу целый набор вакансий, которые появляются очень часто. То есть, именно в этом топике, я выступлю не только со своим мнением, но и еще как с единственно верным мнением. Уж простите, за такой пафос.
Сразу скажу, что речь только про наш рыночек и только для чистого программиста, не стратего строителя.
1) Начну с того, что тебе придется работать на Линуксе. Этим пунктом сразу отрезается масса языков, которые просто не вяжутся с этим ОС. Не, ты конечно можешь сказать, что поставишь mono или net.core или еще другие Приблуды. Но нет.
2) Если ты когда то изучал ассемблер, тебе это будет плюсом в работе. Но не для того, чтобы на нем писать, а для того, чтобы понимать очень тонкие нюансы работы железа. Хотя, не исключаю, что какие то ассм вставки для спец инструкций интела тебе делать придется, хотя компиляторы развиваются такими темпами, где уже это все реализовано.
3) Так или иначе, тебе придется въехать во всякие технические аспекты железа. Поэтому, если ты подготовишься заранее, это будет тебе плюсом. Как работает CPU — ОП, как работает CPU — ОП — PCIe, как работают южные мосты, контроллеры DMA. Как работает кэш всех уровней, обмен между ядрами и тд. Нужна ли многопоточность?
4) Так или иначе, тебе придется въехать в работу сети. Все уровни протоколов. L2, L3 и и тд. Друг, не пугайся сильно. Начни изучать хотя бы сырые сокеты (raw sockets), если ты никогда не делал сеть. Знание сырых сокетов тебе сильно поможет стартануть дальше.
5) Оформи тестовые доступы на биржу и начни там приторговывать на тестовых контурах. Тебе это сильно поможет. Как это сделать, ищи это в первых статьях блога.
6) Профилирование. Мало кто владеет этим подходом. Научись и будешь уже на голову сильнее. Знаешь что? Сделай массив на миллион 64-х разрядных чисел и раз в 30 секунд забивай его случайными значениями и через 20 секунд подсчитывай сумму этих чисел. Сделай замер времени подсчета суммы. Попробуй построить расчет так, чтобы он всегда считал за одинаковое кол-во времени в наносекундах.
Вообщем как ты уже понял, чем ниже владеешь, тем лучше. А это практически только один язык — c/c++ под Линукс. Это минимальные базовые аспекты, овладея которыми, у тебя, как у программиста, есть все шансы заскочить быстро и остаться на долго. Нет, ты конечно можешь владеть и Phyton и R, mathlab, но это совсем другая история с совсем другой частотой вакансий и с совсем другими шансами остаться надолго.
Удачи, уважаемый читатель.
PS. Да кстати, пройдя эту школу, мир для тебя будет уже открыт.
Нет у нас на нашем рыночке вакансий для программистов. Если какая и появляется, то туда скорее попадёт зубр с опытом, потому что программить на C++ уже довольно мало надо кому и его сократили на прошлом месте работы.
Разработка на современных языках типа Go и даже джаваскрипта получается быстрее и качественнее, а лишний процент скорости никому не нужен — надёжность гораздо важнее.
Лучше научиться минимально (ВО) чтобы взяли младшим в приличную большую контору и уже там научиться всему как надо.