КОЛОНКИ · 09 ноября 2016, 13:39 · Отдел информации dev.by
Михаил Дубаков: восемь советов начинающим программистам в Беларуси

Михаил Дубаков, основатель группы компаний Targetprocess, разрабатывающей одноимённую систему управления проектами, написал в собственном блоге пост, содержащий ряд практических советов начинающим программистам в Беларуси. dev.by размещает колонку с согласия автора.

В минском офисе Targetprocess. Фото: Андрей Давыдчик.

Я часто получаю резюме от программистов. Возьму на себя смелость дать несколько конкретных советов тем, кто в профессии пару лет. Конечно, советы только для тех, кто хочет стать отличным программистом.

1. Первую работу найти непросто. Раньше было очень непросто, сейчас, конечно, всё гораздо легче. Но если у вас получится, постарайтесь не попасть сразу в огромную корпорацию. В таких местах слишком много формализма, устаревших процессов и мест, где можно не напрягаться. И нет ничего хуже для новичка быть в расслабленной атмосфере на задворках аутсорса. Лучше выбрать стартап с маленькой зарплатой и большой неопределенностью, пока вы можете себе это позволить. Там у вас будет больше ответственности и развитие будет идти гораздо быстрее. Год за два :)

2. Всеми правдами и неправдами избегайте старых технологий. ASP.NET, O/R mappers, ExtJS, MSSQL, Oracle, Windows — оставьте вот это всё ветеранам. Вам может быть пока сложно понять, куда всё двигается, но постарайтесь интересоваться трендами отрасли. Не всё новое одинаково полезно, но со временем вы научитесь выбирать и лучше поймёте, чего хотите и что вам интересно.

3. Учите английский. Вы как минимум должны научиться свободно читать техническую литературу. Без этого крайне сложно стать хорошим программистом.

4. Заведите блог. Вам кажется, что вам не о чем писать. Конечно же, это не так. Любое новое знание, усвоенное вами и выраженное письменно с учётом ваших личных переживаний и мыслей, может быть полезно другим. Напишите 100 постов. Потом можно решить, продолжать или нет.

5. Не зацикливайтесь на книгах о технологиях. Конечно, у вас есть явная потребность углубиться в ASP.NET на работе, но разбавляйте такие книги более абстрактной литературой. Почитайте про ООП и ФП, про дизайн систем, почитайте о разных концепциях (микросервисы, конкурентность, DDD, AI/ML).

6. Программируйте дома. Начните свой проект. Неважно какой. Простое мобильное приложение. Движок для сайта. Трекер расходов. Выбор следующего фильма для просмотра. Пробуйте на этом проекте всё новое для вас. Важно доделать проект и получить работающее приложение — так вы научитесь доводить большие вещи до конца. Не бойтесь выпустить приложение в мир — это в любом случае клёвый опыт, который со временем может привести к хорошему продукту.

Михаил Дубаков. Фото: Андрей Давыдчик.

7. Не задерживайтесь долго в аутсорсе (1-3 года достаточно). В целом у вас два варианта: продуктовая компания или сервисная компания (типа tut.by или oz.by). Пока почти все сервисные компании работают на местный рынок, поэтому там масштаб поменьше. Вроде бы EPAM превращается в сервисную компанию на мировом рынке, но всё же думаю, там ещё много проектов, где чистый аутсорс. Если хочется чего-то большего, остаётся только продуктовая компания с фокусом на мировой рынок (B2B или B2C, кому что ближе).

8. Не уезжайте в США. Там Трамп.


 

*Мнение колумнистов может не совпадать с позицией редакции.

Источник: dev.by
Новые комментарии

Обсуждение

Missing-male
+21

лол, программистов из беларуси где уже 22 года лукашенко пугают штатами где трамп :)

Cf1302b4f66a3c90c2f458412a9f04ad?1507552097
+12

ASP.NET, MSSQL, Windows - странные пункты из списка устаревших технологий. Можно увидеть обоснования архаизма технологий, относящихся к перечисленным терминам? Ибо получается, что добрая треть разработчиков из мира .net являются динозаврами.

Missing

Как начинающий программист, расскажу свою недолгою историю изучения ASP.NET.

Начал с изучения ASP.NET Web Forms. Не успев разобраться, я узнал, что модно нынче использовать ASP.NET MVC. За то время, что я пытался разобраться с авторизацией и настроить ее на своем учебном проекте, обновились 4 провайдера авторизации, каждый из которых обещал быть более простым (настроить ни один из них под себя толком так и не смог). Пытаясь разобраться с Razor и написать свои HTML хэлперы, я узнал, что так никто не делает и все уже давно пишут SPA с применением JS фреймворков, а от ASP.NET используют в основном только REST API. С надеждой на светлое будущее, я изучал OWIN, Katana, выхода в релиз всего этого добра я так и не дождался.

Печальная история случилась у меня и с Entity Framework. В компании, где я работал его использовали его поверх БД Oracle, многие документированные функции не работали, приходилось писать костыли и настоящая боль была дебажить LINQ запросы, а для написания мэпинга на 50 таблиц в БД мне пришлось написать свой генератор кода. На ту же работу с использованием чистых SQL запросов уходило в 2-3 раза меньше времени. Естественно, приложения, написанные на EF, так никогда не переехали на другую БД, а если бы и переехали, то вероятно не работали бы.

Про WinForms думаю и так все понятно (приходилось сопровождать приложение, написанное на каком-то модном в 2000-х .NET фреймворке). Решил я как-то изучить перспективный WPF. Настоящая боль была писать собственные компоненты и стилизовать их при помощи XML (кстати, почему современный Windows имеет квадратный плоский дизайн - а потому что другой на WPF без слез не сделаешь). Свой инстаграм на нем я так и не написал, т.к. для WP8 нельзя было писать шейдеры. Вряд ли сегодня кто-то начинает писать новое приложение под Windows Mobile и под WPF на десктоп.

В общем для себя я сделал выводы такие же, как и в статье: лучше бы я использовал это время на понимание архитектуры, нежели на изучение заклинаний никудышных API. Когда я вижу в вакансии упоминание ASP.NET MVC, WebForms, Angular, Bootstrap, то сразу же понимаю, что от меня ждут сопровождение какого-то доисторического костыльного монстра.

Missing-male
+6

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

Picture_432?1356409809
-1

У нас все плохо. У нас NHibernate и ему 10 лет.

425430dd6319f7df5899a4626125ae5c?1427577634
+13

Я таких советов могу еще 25 штук придумать, Мишаня.

Picture_432?1356409809
-4

Давай начнешь с поста "25 советов всем". Заодно и блог заведешь. А?

Missing
+6

Устаревший MS SQL, говорите... Кстати, а еще можно почитать Мориса Клайна: "Математика. Поиск Истины" и "Математика. Утрата определенности".

Missing
+2

В США Трамп. В России Путин. На Украине Порошенко. В Германии Меркель. И только Беларуси повезло. :))

Ну шо ж вас всех в политику так тянет. Пять минут прошло с момента новости, что Трампа избрали - и уже и запись в блоге есть, и статья на девбае. А как новости какие - так на девбае искать бесполезно. Можно не дождаться. Омг. Рукалицо. :))

Missing-male
-4

не НА а В неуч

Missing-male
+1

Астрологи объявили неделю Трампа. Количество постов с его упоминанием выросло в 100500 раз.

Свой блог вести не нужно - 99% постов в нём будет нечитабельно. Чтобы учиться писать надо готовить тексты для хабра и аналогов.

Picture_432?1356409809

Можно и сразу с постов для хабра, но это думаю многим стремно. Хотя как вариант это конечно лучше блога.

Missing-male
+16

... Начните относиться к словам "современные технологии", как к неприличным. Изучайте теорию. Не будьте попугаем, который повторяет одни и те же кейворды по любому поводу. Равняйтесь на инженеров, таких как Дейкстра и Лампорт, а не на идиотов, которые имея 10-летний опыт не знают, как работает компьютер. Будьте ответственным и относитесь должным образом к своей работе, а не метайтесь в "айтишники" как только клюнул жареный экономический петух.

Picture_432?1356409809
-2

Норм. Лайк.

Missing
+4

> Вроде бы EPAM превращается в сервисную компанию на мировом рынке

заявляет что превращается, подозреваю что как продавали рабов так и продолжают

425430dd6319f7df5899a4626125ae5c?1427577634
+2

Не буду говорить за всю компанию, все примерно как вы и написали, но делаются нехилые попытки это поменять. Компании выгодно чуть сдвинуться в более серьезную сторону, сами понимаете. Пока получается с переменным успехом и не во всех доменах. Но изменения есть, поверьте, я работал с 2002 по 2008 и с 2013 по н.в. Мне незачем врать.

Missing
+6

А можно подробнее мнение почему MS SQL и Oracle устарел? А я тут сижу его тонкости познаю, а он уже устарел, оказывается.... (Я нагуглил только "oracle устарел пароль")

Missing

Ну, Oracle — это старая компания. Поэтому, наверное. А MS SQL — пес его знает.

Missing
+1

Не знаю, что имел ввиду Михаил говоря об устаревшести упомянутых технологий, но могу сказать своё видение.

Каждая технология имеет жизненный цикл, начиная от "ух ты какая клёвая штука" и заканчивая "это работает хорошо в таких-то ситуациях с такими-то ограничениями".

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

И когда это происходит, технология перестаёт быть ключевой для бизнеса, никто же не говорит что офисный пакет или ОС это ключевой софт для, например, нефтяной компании.

А когда софт перестаёт быть ключевым становится экономически эффективным (ИМХО) использовать на его месте свободный софт, если конечно он есть сравнимого качества.

Хотя в посте скорее речь, что такие зрелые технологии хоть и нужно знать, но они уже не передний край отрасли.

Missing-male
+8

В общем и целом можно сказать, что Михаил успешно затроллил dev.by. В очередной раз.

Cf1302b4f66a3c90c2f458412a9f04ad?1507552097
lex_kar
– .NET Developer в Itransition

+6

И это, надо сказать, не делает ему честь.

Picture_432?1356409809

Забыл добавить Angular в список. Никогда он не казался мне хорошей идеей.

Missing
+2

а за пределами веб-"технологий" есть жизнь для программиста в Беларуси?

7df30b74d305843fa914ee4b84813649?1508058659

Посоветовал бы я новичкам научиться задавать правильные вопросы. Правильный вопрос (даже не будучи "рожденным" наружу) - это ого-го!

Picture_675?1356409817
Игорь Ермолаев
– Начальник отдела компьютерного зрения в Synesis

+1

Правильный вопрос как правило уже имеет ответ на stackoverflow :)

B993ebcd20d5803b01e1810b59038c5b?1508437192

А кому в хорошем стартапе/небольшой конторке нужен джун? Михаил, по-моему вы сами говорили что джунов не набираете.

Missing-male
Mitri
– Капитан в ИП

Таски ведь бывают разные. Например - приходит от заказчика просьба поменять в файлах ресурсов тексты для validation messages. Список что на что менять прилагается. Ну какой уважающий себя сеньор будет заниматься такой черновой работой ? )

Picture_432?1356409809
-1

Не набираем, мы не умеем их учить. К сожалению. Поэтому у начинающих выбор сложен и небогат. С другой стороны, мы не смотрим на "опыт", мы смотрим на знания и умение решать задачи при собеседовании. Поэтому человек с опытом 1-2 года может к нам попасть, что бывало.

Missing-male
+7

Так JS устарел, webassembly грядёт.

Может и с HTML что-нибудь толковое сделают. Выкинут, наконец, к чёрту, будут UI рисовать прямо на канвасе, а html оставят для вёрстки тестов, для чего он и создавался.

Missing-male

теКстов

6178553c3088be31671f8146ba91fd4b?1401052672
+1

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

0637d67f9b5b0722533849f4b77c0194?1499980914
Maksim.Likhorad
– Junior Software Testing Engineer в EPAM

-1

8. Не уезжайте в США. Там Трамп. - топовый пункт)))

Missing-male
+19

1. Первую работу найти непросто....постарайтесь не попасть сразу в огромную корпорацию.

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

И поселитесь как раз по соседству с другом программистом Петей, который уже 10 лет назад купил здесь квартиру, воспользовавшись помощью большой компании, и спокойно там себе ест сыры, обрастая женой и детьми. И прекрасно выглядит. Здоров. Весел. Подтянут. Спокойно и без особого напряга, веслая себе где то "на задворках аутсорса" в компании с бюрократизмом и формализмом. Пока вы на голом энтузиазме, работая по 24 часа без выходных-проходных, далеко не формально заработали себе язву, геморрой и посадили зрение.

А дальше, пока Петя продолжает строить карьеру, вы больше озабочены не тем, как реализовать ваш охренительный потенциал и опыт, полученный от работы 24/7, а где найти хорошего доктора, что б подлечить геморрой, псориаз, поправить потенцию и т.д. и т.п. Доктор Белоголовешкин не даст соврать - даже просто постоянное напряжение и овертаймы, не говоря даже о работе в режиме 24/7 - так просто не проходит.

2. Всеми правдами и неправдами избегайте старых технологий. ASP.NET, O/R mappers, ExtJS, MSSQL, Oracle, Windows.

Старые технологии говорите? Ну-ну :)

- А каким вы видите будущее?

Андрей Себрант (директор по маркетингу Яндекс): Именно потому, что темпы столь высоки и еще ускоряются, отвечать нет смысла. Двадцать лет назад даже лучшие эксперты не прогнозировали и половины того, что сейчас изменило нашу жизнь. Выглядят нынче такие эксперты как-то не очень. Так что если не хочешь, чтобы через 20 лет читатели вытащили на свет твои прогнозы и потешались над твоей недалекостью — не отвечай на такие вопросы.

3. Учите английский.

Отл. Но я бы сказал: "1.Учите английский"

4. Заведите блог.

почему то гуманитарии считают, что свою печаль и глубокий внутренний мир надо обязательно изливать всем окружающим. Вот обязательно надо всем знать ваши эмоции по результату изучения какой то технологии? Ладно 14-летние школьницы под влиянием изменений пубертатного периода тайно под партой или одеялом писали целые романы в тетрадки. Но взрослые бородатые мужики... (особенно не понимаю зачем свои старые тетрадки публикуют давно уже повзровслевшие школьницы и далеко не молодые дамы).

5. Не зацикливайтесь на книгах о технологиях ... Почитайте про ООП и ФП, про дизайн систем, почитайте о разных концепциях (микросервисы, конкурентность, DDD, AI/ML).

Норм.

6. Программируйте дома. Начните свой проект. Неважно какой. ...

Дома попробуйте отдыхать от программирования. Живите полно. Развивайтесь не только в области ИТ. Посвятите время хобби. Заведите девушку. Или хотя бы кота. Очень важно: обязательно уделяйте максимально возможное время для общения с родными, друзьями, обязательно родтелями. Программирование будет и через 10 лет, и через 20. А родители...

7. Не задерживайтесь долго в аутсорсе (1-3 года достаточно).

Делайте дело, которое вам нравиться, не важно какое. Пусть даже аутсорс. Главное развивайтесь в этом деле. Аутсорс? Ну пусть будет аутсорс. Можно развиваться по разным векторам. Станьте вторым Добкиным. И пусть хоть один Михаил Дубаков после этого скажет, что это в чем то зазорно...

8. Не уезжайте в США. Там Трамп.

:)

Missing
+2

Я бы слегка перетасовал:

1. Учите английский. Стимул - когда у вас будет 5 лет опыта, ваша зарплата будет как минимум в 2 раза выше чем у того, кто английского не знает. Дальше разрыв растет.

2. Начните свой проект - обязательно. Это автоматически отвадит вас от древних / неудачных технологий.

3. Помните - спешить некуда :) Не слушайте дребедень про супер-устаревающие технологии и пр. Это все проходящий хайп. На самом деле ничего кардинально не поменялось в IT за последние 10 лет. Поэтому учите то, что пригодится всегда. И применяйте на практике.

Missing-male

Можно было бы еще поговорить про Windows/UNIX, но лучше, наверно, не стоит.

Missing

"ASP.NET, O/R mappers, ExtJS, MSSQL, Oracle, Windows"

Oracle — компания, O/R mappers — такая же не технология, как "ООП и ФП".


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси