Как стать автором
Обновить
3
-14

Программист

Отправить сообщение
для начинающего программиста часто опасно "заразиться" ленью и разгильдяйством

Обычно для этого нужна почва. Сами по себе люди не становятся лентяями и разгильдяями. Если с детства к аккуратности и трудолюбию приучили — избавится сложно.


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

Проблема в том, что единицы не задают общий формат. А надеяться на чудеса — опрометчиво.
Манкидевелоперы обычно у не очень способных руководителей, коих более чем достаточно. А удержать опытного разработчика бывает сложно.
Вот что бы точно опознавать этих "неспособных" руководителей — и нужно идти работать в НИИ на пару лет, лучше еще во время учебы на полставки — посмотреть на них в живую. Только не надо этого делать с устоявшимся мнением, что там все такие — цель понять как одних от других отделять. Будет ощущение, что потерял время, зато прививка на всю жизнь. С ходу этих "эффективных" будешь распознавать. Это не только куроводителей касается. Вообще всего спектра специальностей ИТ.
А низкая зарплата только в масть в этом случае.


А теперь попробуй в коммерции, когда работать приходится очень много, заниматься такой социальной инженерией. Долго протянешь? Зарплату тебе не за исследование фирмы дают.

Покажется странным, но поработать в НИИ все же стоит. Что бы понимать, как не надо работать. Речь про организационные вопросы и попо-часы.
Очень быстро сдувает все лишние и начинаешь понимать как должно работать предприятие. Особенно когда начнешь пытаться что-то менять и стараться, а все в мусор.
Во всяком случае, если нет никаких менторов адекватных, которые в случае чего объяснят или дурь выбьют, коей во всякой голове достаточно.


И нет, в коммерческой фирме более-менее не научат, а научишься. Нигде тебя особо учить не будут.

  1. Выбираете любую понравившуюся вам тематику.
  2. Ищите любой проект, который хоть как-то соответствует вашим ожиданиям.
  3. В зависимости от амбиций:
    3.1 Переделываете часть проекта как вам нравится — разумеется ничего не получится, но опыта будет выше крыши, гендальф будет отдыхать в сторонке;
    3.2 Смотрите багтрекер проекта и исправляете баги.

Как пример, было стремление разрабатывать игры, нашел игру freecol. Так как просто править баги мне наскучило — решил написать свой ИИ к нему, тот что был тогда — так себе, читер и не более того.
Пока писал ИИ нашел несколько интересных багов в серверной части проекта, которые обычным способом найти нельзя, как пример: ИИ высаживал юнит с корабля, понимал, что это не его район и обратно юнит на корабль сажал. Согласно правилам игры так делать нельзя — очков движения не хватит у юнита, а вот сервер разрешал.
ИИ я конечно же не закончил, но он один, сам по себе мог строить колонии и более менее существовать сам по себе. Вроде 1,5 месяца просидел над ним.
И только через год у меня были методы оптимизации в институте, которые бы очень сильно помогли =(

Совет конечно запоздалый, но лучше за время учебы поучаствовать в опенсорсе на сотню-другую часов. Мозги прочищает, да с людьми общаться научишься, чужой код читать и оценивать. Курсы такого не дадут никогда. И главное, что в любой момент можешь уйти. С работой так не выйдет, трудовой договор обе стороны защищает же.

  1. Не все знают стандарты наизусть. Более того, однажды выучив, через какое-то время удивишься, что часть уже забыл или исказил;
  2. Нужно думать гораздо больше, чем ожидается от среднего по больнице;
  3. Отладчики работают почти всегда построчно, а если и есть возможность по операторам, то сделать это проблематично в плане интерфейса — неудобно;
  4. Порядок выполнения задает номер строки или скобочки, но никак не стандарты — вот правило, которое должен знать каждый программист.

Рекомендую заглянуть сюда: http://asn1-playground.oss.com/
Так и проверял, правильно ли я понял доки. Все интеграционные тесты "а" в бинарном виде получены как раз из этого сервиса.

Основной упор был на поддержку спецификаций (X.680-X.683) для чтения и представления схем в модель. Иначе что-либо делать далее не имеет смысла.
Аннотации в данный момент — рудимент, который нужно будет переписать с нуля. На это дело потрачено часов 10. Для сравнения, суммарно (включая предыдущую попытку, которая так же на гитхабе у меня валяется) на проект ушло более 300 часов.

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

Проект писался и пишется исключительно по фану и ради удовольствия.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность