Бизнес-план of Junior Software Developer

Прежде всего стоит понимать что в IT «капусты» нет. Если вы пошли в IT только для того, чтобы быстро и без усилий «нарубить капусты» на виллу на Мальдивах, то вам стоит сменить специальность прямо сейчас. Быстро заработать денег при определенном везении можно, окончив какой-то юридический факультет или духовную семинарию. Вам для этого придется изучить довольно толстую Библию и несколько апокрифов, но в IT вам таких «библий» придется читать по пять-десять в год. Что же может дать IT? Часто довольно интересную, высокооплачиваемую — на уровне остальных специальностей в Украине, — работу, с хорошими условиями труда — в чистом офисе с кондиционером. Если это не то, что вас интересует — начинайте просматривать список юридических факультетов.

Формы обучения

Навыки специальности можно обрести разными путями. Это получение образования в колледже или компьютерной академии на дневной, заочной или дистанционной форме обучения. Все они имеют различные преимущества и недостатки, которые рассмотрены ниже.

Преимущество обучения в колледже состоит в том, что оно занимает от года до двух и ведется сугубо на прикладном уровне. Всему тому, что прямо не относится к IT, — типа математики, философии, различной аналитической геометрии или теории вероятностей, — вас учить не будут. Это, с одной стороны, преимущество, так как по сравнению с теми, кто сейчас «покупает» экзамены, вы ничего не потеряете, но в то же время выше уровня «23-летнего синьора» вам без дополнительного обучения не дорасти. Учить вас будут полностью прикладным вещам, как на PHP + MySQL забабахать сайт или же на C# + MSSQL написать бизнес-приложение. В более провинциальных колледжах вас будут учить писать «телефонные справочники» на Delphi + MSSQL, и это довольно печально.

Дневная форма обучения практически во всех украинских университетах обладает одной печальной особенностью, полностью противоположной обучению в колледже. Там обучают теоретиков-гениев-одиночек, практически полностью игнорируя прикладное применение знаний. При этом вся структура обучения направлена на то, чтобы из программиста сделать «гениального одиночку», который сам пишет одному ему понятный «гениальный» код, совместимый только с ним самим. Так называемая «производственная практика» превратилась в филькину грамоту, которая игнорируется как самими студентами, так и кафедрой. Что хорошего в дневной форме обучения, так это довольно серьезный математический бэкграунд и способность к самообучению. Но это только если вы не покупали экзамены и зачеты; если же покупали, то ваш диплом стоит не более бумаги, на которой он напечатан.

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

Опять же, основной недостаток дневной формы обучения таков: после получения диплома из вуза выходит не специалист, а эдакий полуфабрикат, которому еще три года необходимо осваивать прикладную часть на рабочем месте. В СССР таких называли «молодой специалист».

Современные технологии дали новую современную форму обучения — дистанционное образование. В Украине два университета (возможно, больше) дают возможность получить дистанционное образование в области IT: ХНУ и СГУ. Оба имеют 4-й уровень аккредитации и выдают дипломы государственного образца. Срок обучения в данных образовательных учреждениях не отличается от дневной формы. Основное преимущество перед колледжами и дневной формой — вам, как и на очной форме обучения, даётся солидный математический уровень, но в то же время у вас остаётся возможность и свободное время, чтобы на практике изучать прикладную часть. В результате, изучая основные дисциплины, вы где-то после окончания первого курса сможете устроиться работать по специальности и нарабатывать опыт.

Цены на дистанционное обучение довольно демократичны — 3000-4000 грн в год, что даже с учетом разовой покупки компьютера (5000 грн) и оплаты за Интернет (1200 грн в год) сравнимо или менее стоимости проживания в студенческом общежитии. Сдача экзаменов — четыре раза в год, но требуется приезжать в центр тестирования. Курсовые и лабораторные выполняются и сдаются удаленно.

Получение практических знаний и опыт работы

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

Один из способов — студенческий фриланс. Прочитав книжку по какой-то модной технологии и зарегистрировавшись на каком-нибудь freelancer.com, можно взять заказ на $50 за проект. Здесь главное — не деньги, а возможность потренироваться на реальном проекте и коде. Через некоторое время вы довольно неплохо разберетесь в технологии и, возможно, даже найдёте постоянных заказчиков.

Второй способ — стажировка. Работа в офисе или удаленная, за символическую плату или даже без неё во время обучения. Но работа не офис-менеджером или продавцом-консультантом, а по специальности. Компании часто идут на это, так как либо им не хватает денег, чтобы платить (особенно это относится к государственным компаниям), либо они стараются учить собственных специалистов.

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

Третий способ — Open Source, еще называемый «студенческим кодом». Всегда можно опробовать новую технологию, начав какой-то открытый проект на sf.net. Преимущества этого подхода в том, что вам никто не указывает, что и как делать, но при этом некому указать вам на ошибки.

Языковый вопрос

Ситуация на рынке сложилась таким образом, что в украинском IT в основном используются два языка — русский и английский. Знания русского языка вам будет практически достаточно для проектов, выполняемых для внутреннего заказчика или же для российских клиентов. Но даже в этом случае вам, скорее всего, потребуется знание английского языка на уровне Elementary для чтения технической документации. Но это только около 10% не самых богатых проектов рынка.

90% проектов с высокой оплатой труда требуют знания английского языка на уровне Intermediate и выше, вплоть до Advanced. От начинающего программиста никто не будет требовать уровень знания выше Intermediate, а за пару лет обучения вполне можно с Intermediate достичь Advanced уровня. Многие компании даже готовы обучать технологиям и платить стипендию при высоком уровне знания английского языка.

Поэтому знание английского языка для IT-шника стоит даже выше, чем получение высшего образования. Проблема состоит в том, что поднять уровень с нулевого до Intermediate на платных курсах обойдется почти в 10000 грн (1250$), и такая сумма довольно высока для студента. Сэкономить можно, обучаясь на бесплатных электронных курсах английского языка, например, здесь или здесь, читая параллельные тексты, причем можно сделать так, чтобы их зачитал робот, чтобы вы учились воспринимать речь на слух. Просмотр фильмов, сериалов, чтение книг на английском — всё, на что хватит времени и желания. Конечно, ничто не заменит обучения с профессиональным учителем, так что если вы готовы потратить 10000 грн, это будет выгодным капиталовложением.

Заключение

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

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn



Підписуйтесь: Soundcloud | Google Podcast | YouTube

71 комментарий

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

Спасибо за статью, нашла, что искала.

что за бред написан про семинарию ? Сплошной стереотип

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

Всему тому, что прямо не относится к IT, — типа математики, философии, различной аналитической геометрии или теории вероятностей, — вас учить не будут.

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

Теперь для гуанокодинга используют не компоненты, а сразу целый фреймворк или пару фреймворков.

Как минимум, тот же SQL без базового знания дискретной математики и комбинаторики понять довольно сложно.

Мальчик спрашивает электрика копающегося в подъездном щитке:
— Дядя, а что такое электричество?
— Ммм..... не знаю, но могу сделать так, что у тебя в квартире будет свет.

ИТ — давно НЕ математика, уж точно поболе 10 лет.
Конечно, есть те кто разрабатывает нечто новое. Но как и число ученых — таких программистов нужно весьма малое количество. Как и число компаний могущих вкладывать деньги в разработки, которые можно будет начать окупать через пару лет.

А нужны — электрики. Как и в любой другой отрасли — чтобы нечто научное приносило пользу (И деньги) нужны менеджеры, инженеры и рабочие.

Или вот:

Как минимум, тот же SQL без базового знания дискретной математики и комбинаторики понять довольно сложно.
А зачем — понимать что такое электричество если нужно врезать розетку?
(да и не только, как Фейнман в «Вы конечно шутите мистер Фейнман?» написал — мы, физики не знаем что такое электрон. Да нам это и не нужно. Это пусть философы работают над этим вопросом)

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

Но миф о математике — факты не разрушают. На то он и миф.

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

Да пусть хоть перебором сделает. :D Абы это была — законченная, работающая, «сбалансированная программа»!
Если правильно будет произведена декомпозиция, и правильно спроектирована программа — переделает этот кусочек, или попросит математика помочь.

Дает ли математика знания о правильном проектировании?

Или только как вы привели пример — об алгоритмах? То есть для олимпиад по программированию готовит?

И получается ради «преждевременной оптимизации» человек несколько лет должен потратить ради изучения математики?

Алгоритмы же кодируются в крупных корпорациях или сообществах. Большинство программистов мира такого рода алгоритмами НЕ занимаются. И не потому что тупы, а потому что — программистов-алгоритмщиков нужно немного.

Ну вот сейчас занимаюсь доработкой библиотеки для распознавания штрихкодов — это алгоритмы или «законченная, работающая, сбалансированная программа»?

Не знаю. Я же не видел вашей библиотеки. Ни документации к ней, — ничего.

Как напишите, выпустите в люди, тогда вам и скажут, получилась у вас: «законченное, сбалансированное решение» или нет.

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

Ну вот сейчас занимаюсь ...

Не нужно путать предметную область и разработку программ. Когда речь о математике почему-то постоянно путают.

Кстати, как вам, пригодилось интегральное исчисление? Тензоры может быть полезны оказались, в вашей библиотеке?

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

Ну вот сейчас занимаюсь доработкой библиотеки для обработки бухгалтерских проводок — значит программист просто обязан знать бухучет!

90% программистов 1C посещали бухгалтерские курсы, без этого выше уровня мальчика по установке 1С обновлений клиентам там не подняться. 10% изучали бухучет сами.

Q:Стоит ли изучать 1с программирование конфигураций без знания бух.учета и налогообложения
A: без знания хотя бы основ ведения бух учета делать нечего

otvet.mail.ru/...stion/73147989

90% программистов 1C посещали бухгалтерские курсы

ну, как более 10 лет 1Сничавший скажу — приврали :) не более 30%. Потому что просто — некогда по курсам шастать.

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

без знания хотя бы основ ведения бух учета делать нечего

Для этого не нужны полновесные курсы бухгалтеров. Пара книг, пара более опытных товарищей, может несколько дней в году внутренние курсы (если во франчайзи). А дальше — клиенты учителя. Слушай, мотай на ус, почитывай статьи, разъяснения на которые они ссылаются.

Или вы хотите доказать что ВСЕ программисты обязаны знать бух учет?

Я же о том что математика, бух учет, и прочая — это предметные области. Для которых пишутся программы.

Что программирование как журналистика — ты не обязан быть нобелевским лауреатом по физике чтобы взять интервью у нобелевского лауреата по физике.

Разумеется, как любая инженерная дисциплина программирование нуждается в некоем мат аппарате.

Но и чтобы деньги в кошельке посчитать — азами арифметики конечно нужно обладать. А вот знать гипотезу Римана — вовсе не обязательно.

Наверное мы говорим про разную математику. Лично я про математику для инженеров, что если понадобится, человек должен понять что говорится в этом вот справочнике.

www.alleng.ru/...ath/math342.htm

Но и чтобы деньги в кошельке посчитать — азами арифметики конечно нужно обладать. А вот знать гипотезу Римана — вовсе не обязательно.

Ну если так посмотреть, что знания предметной области особо не нужны, то берем школьников, обучаем из за 2 месяца C#+SQL и у нас есть куча дешевых джунов и нет дефицита программистов. Почему так никто не делает? Это же выгодно.

человек должен понять что говорится в этом вот справочнике.

Почитал темы. Там для мостроителей инженеров, а не для инженеров-программистов главы.

Сразу, с первой главы — И ТРИГОНОМЕТРИЯ (ПЛОСКАЯ И СФЕРИЧЕСКАЯ) — кому это надо? Разработчикам игровых движков? Проектировщикам GPU? Сколько их в мире требуется?

Я когда-то да, решал уравнения по Сканави. Сейчас — напрочь забыл и совершенно не беспокоюсь об этом. Я их не видел уже много лет в своей профессиональной деятельности и на 101% — не увижу. Как и дифуры с векторными пространствами.

Если бы вы дали ссылку на справочник по прикладной математике, то да, для программиста стоит ориентироваться в этом, слегка презираемом другими математиками ответвлении.

Ну если так посмотреть, что знания предметной области особо не нужны, то берем школьников,

Не обучишь школьников за два месяца C#+SQL. Попробуйте выпускника профильного ВУЗа за пару месяцев дообучить :D

Почему так никто не делает? Это же выгодно.

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

Вторая вот — что в этом процессе нужна высшая математика.

А если еще и математике их учить, то и получаем кучу выпускников технических вузов не знающих ни математики, ни того что у них в дипломах написано.

И повторюсь, какие дифуры с тригонометрией нужно вначале выучить чтобы асилить Грубера «Понимание SQL»?

Вот как вы лично их использовали при написании своей библиотеки? Чтобы конкретно — «вот если б не теоремы Пуанкаре, то все, не смог бы написать!»

Или C# - большая польза от векторных пространств для его профессионального изучения?

А может «Совершенный код», «банду четырех» с фаулерами, Рихтера... да просто SICP полезней проштудировать? Проработать, с лабами и курсовыми. Как думаете?

Часто можно услышать
Математика развивает ...
Игра в го — тоже развивает.

А почему бы сразу не поразвиваться скажем Prolog’ом и Haskell’ем?

Математику просто удобно преподавать. За века в ней много наработано, и главное это не меняется. Можно далдонить школьникам студентам десятилетиями одно и тоже, и оно будет истинным.

В жизни оно подавляющему большинству не пригодиться, но зато апломбу и преподам и выпускникам да, прибавит.

Какая разница между выпускником школы и ВУЗа?

Выпускник ВУЗа не сдаст вступительные экзамены в ВУЗ.

А меня и десятиклассник средней толковости уже что по математике, что по физике сейчас уделает. Хотя область по физике брал. И что? Ему можно доверить хоть маленький кусочек моей работы? Я же отупел, математики уже и школьной не помню.

И повторюсь, какие дифуры с тригонометрией нужно вначале выучить чтобы асилить Грубера «Понимание SQL»?

Наверное эти — теория множеств, это тоже математика и да, её тоже изучают в ВУЗ-е

www.intuit.ru/...ms/thsetcomb/2

Иначе получим программиста, который тянет весь рекордсет на клиента и далее в цикле...

Ему можно доверить хоть маленький кусочек моей работы? Я же отупел, математики уже и школьной не помню.

Вы помните следствия из математических теорем, причем для вас они уже не математика, а истина из опыта.

Наверное эти — теория множеств

Вы справочник привели. Сколько там глав на подобную тему?

и да, её тоже изучают в ВУЗ-е

Ну было бы вообще зашибись если бы дифуры изучали, а вот ее то как раз нет.

Только вопрос — сколько выделено времени на дифуры, а сколько на теорию множеств, комбинаторику, вероятности и т.д.?

Вы помните следствия из математических теорем,

Не помню. Даже с теоремой Пифагора уже запутаюсь. кубическое уравнение не решу. а уж какая связь между производной и интегралом... она вообще есть, или это просто слова что остались в памяти с первого курса?

а истина из опыта.

Вот из моего профессионального опыта, и из опыта общения с коллегами разного уровня и вывод:
Чем ближе ВУЗ, тем больше «математика программисту как воздух нужна!».

Чем дальше от ВУЗа и вверх по карьерной лестнице программиста — на кой черт она надо, кроме отдельных разделов, для которых даже прилагательное выдумали — «прикладная»

Исключения конечно есть. Когда предметная область обязывает.

А так, обычная психология, человек горд тем что имеет, даже если эта цаца бесполезна. Вот студенчество и гордится, и в рунете кругом рассказывает как нужна математика. И форумы забиты — помогите с Java, лаба — нужно перемножить матрицы.

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

Причем из общения с вчерашними выпускниками, чуть ли не победителями вузовских олимпиад по математике, а то и по программированию — и им туго доходит. Только набивая шишки, только плодя г*код до них как-то начинает доходить.

И какая польза программисту от знания математики? Не от математики вообще, не от Кнута и иже с ним?

Вы пока не пояснили.

Не спора ради, вот возьмите тот справочник, и выберите то что вам нужно было что в нынешнем проекте, что в предыдущем.

Дает ли математика знания о правильном проектировании?
Математика — не даёт. Дают другие дисциплины. Однако кто сказал, что человек не будет одинаково поверхностно относиться ко всем им вместе взятым и что поругивая на кухне матиматику он на самом деле таки читал проектирование или хотя бы знает о его существовании или хотя бы может сделать вывод, что что-то такое уже должно быть. А на практике — нет, нет, и еще раз нет. Велосипеды — наше всё.
— Ммм..... не знаю, но могу сделать так, что у тебя в квартире будет свет.
Да, с такими людьми и приходится работать. А потом Ксерокс при копировании документов шестёрки в восмёрки превращает. Но работает ведь!?
А зачем — понимать что такое электричество если нужно врезать розетку?
Незачем. Один такой врезал. И не один. И имя им — легион! Достаточно примерно быть в курсе спроса и предложения на электриков в Киеве и других городах Украины. И это еще только бытовая часть — промышленных уже попробуй найди.

Как насчет «врезать розетку» — в датацентре? Электричество не нужно?

(да и не только, как Фейнман в «Вы конечно шутите мистер Фейнман?» написал — мы, физики не знаем что такое электрон. Да нам это и не нужно. Это пусть философы работают над этим вопросом)
LOL! Вот именно для того, чтобы понимать, что имеет в виду мистер Фурман, когда говорит «мы, физики, не знаем...» — для этого нужно сперва знать, чего именно не знают физики и что именно они знают. А вырванная из контекста и примененная здесь эта фраза говорит как раз об обратном, а вовсе не о том, о чем говорит сам мистер Фурман.

Но, в общем, я привык. Индусов — так вообще миллиард. Нервов на всех не напасёшься.

Выскажу свое, субъективное мнение.

Как начинающий карьеру человек следует сразу понимать что будет делать последующие годы и что ты будешь за это иметь, автор тут прав. ОК.

Но но у меня есть веские основания не согласится с тем, что в случае «чего» следует бежать в юриспруденцию. крайне ошибочное мнение, поскольку средний юрист не зарабатывают, столько сколько средний программер. Я отработал 5 лет в юр фирме программистом, и сохранил отличные связи (спасибо им отдельное, что дали возможность вырасти!), и поверьте, не все так радужно.... И другой факт, моя супруга с двумя высшими и честным красным димпломом (!) уже второй год сидит дома. Да зарплаты программиста хватает это позволить. Я не буду рассуждать о том как изменилась схема решения дел в судах с приходом януковича, это отдельно... скажу, что юристы уже не так востребованы.
И второй момент английский. 1250$ чтоб поднять до интермедиейт, это оптимистичная цифра. Мягко говоря. Есть человек (близкий родственник), с репутацией, занимающийся частным репетиторством. Поголовная масса учеников из ИТ. + Я :) так вот отбоя нет все расписано. Цена часа 250 грн и выше. Есть представители платящие по 50 эуро. Я сам в тихом шоке..., но это правда из первых уст.

Поэтому считаю, что ни о каких 1250$ не может идти речь, не стройте иллюзий. Дешевое образование — как правило такой и уровень «intermediate» будет.

Ес-но все ИМХО.

Если говорить о студентах, то большинство советов сводятся к «ЧТО учить, ГДЕ учить и КАК учить».
Советы правильные, но ИМХО нужно начинать с того ЗАЧЕМ учить. Студенты тоже люди (во открытие :) и точно также нуждаются в мотивации (стимул «Не сдашь сессию — вылетишь из института» работает до поры до времени).
Рискую ошибаться, но думаю, что большинство неработающих студентов не видят ясного ответа на вопрос «А на хрена оно мне надо и как я заработаю на хлеб с маслом».
Если показать на живых примерах как знания, полученные сегодня, помогут завтра:
— Получать 3К+ работая джава синьором
— Получать еще больше как фрилансер
— Свалить в любую страну по желанию
— Стать СТО/CIO/CEO
— Начать свой бизнес в конце концов

то желание учиться у многих сильно вырастет. А желание в этом деле самое главное...

большинство неработающих студентов не видят ясного ответа на вопрос «А на хрена оно мне надо и как я заработаю на хлеб с маслом».

Если человек к 16-22 годам не понимает откуда берутся -дети- деньги и зачем оно надо — это уже диагноз.

самое для меня удивительное когда сидят «в контактах» уже не один год.
Ладно бы — депрессивный регион, такие же родители, телек — единственное окно в мир.

Но вот когда каждый вечер в инете, и не сподобится поискать там ответы на — «кем же хочу стать, что мне интересно?», «а где больше платят?», «а где перспективнее?» и т.д. — загадка для меня.

В 22 может уже и начинают, но бывает поздно.
А до 20 — абсолютно нормальное явление.

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

Человек будет пахать только в случае если его не устраивает его текущий уровень комфорта.

Ну могу пожелать удачи такому человеку.

дякую, дуже толкова стаття, але :

«устроиться на стажировку после первого курса» навряд вийде, кантори ж проявляють інтерес до студентів аж на 3+ курсах

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

Прежде всего стоит понимать что в IT «капусты» нет.

Автору давно не увеличивали компенсацию за офисную жизнь :)

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

Отлично прокачивает умения разбираться в большом количестве чужого кода, знание конкретных технологий и собственно английский язык. Идеальный вариант в этом отношении — Google Summer of Code.

Дневная форма обучения практически во всех украинских университетах обладает одной печальной особенностью, полностью противоположной обучению в колледже. Там обучают теоретиков-гениев-одиночек

я от хотіла б внести поправочку: співбесідую частенько випусників наших славних вузів, і щоб перевірити наявність потенціалу і взагалі вміння програмувати, даю простенькі алгоритми написати — всякі там об’єднання масивів і т.п., на худий кінець (ну елемент стресу теж враховую) — визначити, чи перетинаються між собою 2 прямокутники. і от народ валиться штабелями. в універі вчили і паскаль, і сішку, і джаву і рубі, а сраного алгоритма написати (я до синтаксису і дрібних помилок взагалі не придираюсь, та хоч ідею сформулювали б, в якому напрямку вирішувати задачу) не можуть просто в доску. дубову.

так от, якщо раптом мене тут прочитають джуніори, моя вам порада: мова, технологія, досвід, куплені екзамени з філософії і математики — це одне. але що б ви не робили в цій галузі, в команді чи геніальною одиночкою, на ооп чи функціонально (ну хз — всяке буває) — вам завжди треба буде писати алгоритми. і якщо ви цього досі не вмієте, то міцно задумайтесь, фіглі ви робите в ІТ. задумавшись, відковиряйте який-небуть старенький збірник задач для шкільних олімпіад, чи стендфордський курс аналізу алгоритмів, чи і то і друге і ще щось в придачу, і прокачайте цей базовий для програміста навик. ато якось вас аж невдобно співбесідувать )))))

та і працювати якось куди легше вам буде.

сраного алгоритма

:)))))

міцно задумайтесь, фіглі ви робите в ІТ.

Я б поправив, в програмуванні! Ато чомусь тільки всі відносять ІТ до програмування. А мережі зв’язку виходить уже не ІТ?:)

і qa і адмінам теж час від часу треба написати який скриптєц і взагалі алгоритмічне мислення дуже і дуже потрібне в їх нелегкій справі.

Я звісно можу уявити співробітника служби підтримки (2ий рівень, не кол-центр, але і не фахівець) який зовсім не розуміється на деяких загальновідомих алгоритмах. Але якщо профільний інженер з підтримки пакетних мереж чи транспортних(L2-L3), не має хоча б деякого уявлення про алгоритми пошуку шляху на графі, то чи дійсно він розуміє, що являє собою процес маршрутизації і як працюють ті самі RIP, OSPF etc.

алгоритми пошуку шляху на графі

На мою думку це зовсім інші речі. Для мене наприклад графи йшли легше ніж зрозуміти С++.

Не зовсім зрозумів зміст вашого заперечення.

Я мав на увазі, що (як приклад) для маршрутизації використовуються саме алгоритми пошуку шляху на графах, і відповідно, щоб краще розуміти з чим цей самий «сферичний» інженер працює, йому дуже бажано їх знати. Не вміти зробити імплементацію, ні! Цього інженеру, що супроводжує мережу ніколи не доведеться робити, але розуміти алгоритм і хоча б пояснити його на пальцях чи записати у псевдокоді.

Эту хорошую статью — да выпускникам в уши.
Еще раз напишу банальную истину: знания ничего не стоят, если ими не пользоваться.
Нельзя наесться впрок на 2 года вперед. Так же бесполезно учить высшую математику, теорию графов или логику предикатов если первые 2-3 года придется работать «кодером». Если вы не понимаете зачем то, чему вас учат, нужно — значит оно еще не нужно (не возникла практическая потребность).

Если есть возможность — не идите в ВУЗ сразу. После 5 лет работы в ИТ вы будете жалеть что «прогуляли», «не поняли» или выучили но уже забыли такие полезные курсы как, например, «распознавание образов», «экспертные системы», «нейронные сети», «искусственный интеллект», которые позволяют выйти на совсем другой уровень проектов.

Если есть возможность — не идите в ВУЗ сразу.

Увы, у нас, вроде, на контрактную армию не перешли еще. Я понимаю, что, скажем так, поступление в ВУЗ — не единственный способ решения данного вопроса, но остальные — не всем подходят или не всем доступны финансово.

А ведь правда! Что если для развития ИТ в Украине позволить проходить альтернативную воинскую службу в «ИТ войсках»?! Замечательный стимул обучаться ИТ еще со школы — тогда в настоящую армию не заберут.
Создается специальная «воинская часть» в провинциальных городах и там в течении года «призывники» проходят «курс молодого джуна». На выходе имеем готовые к работе кадры (а заодно «боевых хакеров» на случай войны).
Если сильный — иди в армию, станешь еще сильнее; если умный — иди в ИТ и не бойся что сильные отобьют мозги.

Что-то похожее в России делают, была ссылка в Дайджесте недавно: habrahabr.ru/post/138819

Кроме того, поступить в ВУЗ после нескольких лет перерыва в учебе — будет весьма проблематично. Да, практических знаний и опыта — прибавится, а вот математику, физику и что там еще требуют в качестве вступительных экзаменов — скорее всего, подзабудешь.

Подзабудешь — таки да. Зато денег подзаработаешь. В наших реалиях именно их чаше всего требуют в качестве вступительных экзаменов ;)
А вообще в ИТ ВУЗ и вступительные экзамены должны быть соответствующие.

Кроме того, поступить в ВУЗ после нескольких лет перерыва в учебе — будет весьма проблематично.

Так фича дистанционки в том, что она довольно дешева 3000 грн в год и учится можно в удобное тебе время, хоть ночью. Общение с преподавателем можно вести в офлайне.

на дистанционную форму обучения, так как для IT-шника она несет минимальные отличия от дневной формы, и устроиться на стажировку после первого курса

Вот тут не задачка. Наиболее простой способ устроиться на стажировку — это через «собутыльников» ... то есть людей с которыми вы установили некие социальные связи, как правило в универе.

Ну и, конечно, английский язык.

Вы наверное 100500 человек который это говорит. Давайте я буду 100501-м. Суть в том что пока человек не почувствует, что оно ему надо ниче не получитсо. Пример: на данный момент мой (неопределенно посредственный) уровень ангельского куда выше чем у людей которые его активно изучали во время учебы в универе, а после устройства на работу забили ибо оно им особо не надо.

При этом вы получите и диплом государственного образца

И непоймикакого ВУЗа.

изучение математических дисциплин

Само по себе оно мало чего стоит. А вот в комплекте со всем окружением что дает ВУЗ уже куда больше.

опыт работы в 3-4 года к окончанию вуза.

А как у меня и еще у 100500 человек это получилось на стационаре?

Что же может дать IT? Часто довольно интересную, высокооплачиваемую — на уровне остальных специальностей в Украине, — работу, с хорошими условиями труда — в чистом офисе с кондиционером.

Это не ИТ, а нормальный работодатель.

Третий способ — Open Source

Аааааааааа!!!!111 Убейсебяапстенуживотное Вот почему никто из тех кто советует джунам занятсо опенсорсом не рассказывает как это помогло им (когда они были джунами)? Догадка: потому что они такого не делали.

> Вот почему никто из тех кто советует джунам занятсо опенсорсом не рассказывает как это помогло им (когда они были джунами)?

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

не об «опенсорсе»
самообучении
по своей инициативе
обычного человеческого интереса
Вы понимаете что это 4 принципиально разных понятия?

Дальше про «самообучения»:
Оно эффективно только на очень хороших выборках фактов. Если в выборке много шумов или она не достаточно большая (как правило оба этих фактора присутствуют) — это очень хорошая вероятность получить не правильный результат.

Вот тут не задачка. Наиболее простой способ устроиться на стажировку — это через «собутыльников» ... то есть людей с которыми вы установили некие социальные связи, как правило в универе.

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

зато будет и распознавание образов, и теория графов, и обработка изображений и пр.
Чета по приведенной вами ссылке ниче такого нет.

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

Могут дать работу, например, по исследованию новых методов для проекта OCR

по исследованию новых методов для проекта OCR

То есть по вашему любой “стажер” даже без степени бакалавра сможет справится с такой задачей? Хотя:

www.aspose.com/.../LoadImage.aspx

Please browse a valid BMP or TIFF image file and press a button to check the output. Note: Arial and Times New Roman (16pt and 32 pt) fonts are supported.

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

Там сейчас все переделывается на структурные методы распознавания, как в FineReader. Пока там шрифтозависимое распознавание.

Это как? вы сперва шрифт определяете? или вы просто используя шрифты нагенерировали себе тренировочный сет и сет для валидации?

Шаблонные системы

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

www.mari-el.ru/...x.html#part_2_1

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

Вы упустили одну маленькую деталь из того же комента:

И если распознаваемый шрифт хоть немного отличается от эталонного, шаблонные системы могут делать ошибки даже при обработке очень качественных изображений!

что я и наблюдал на простом примере
интересно, какая целевая аудитория у такого продукта?

какие метрики качества? Ведь этот дизайн кто-то утверждал и это же комерческий продукт, а не студенческая лаба

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

То есть

распознавание образов, и теория графов, и обработка изображений

это по-факту: кодинг алгоритма «из википедии»? Это та практика которая нужна software engineer-у?

Вот почему никто из тех кто советует джунам занятсо опенсорсом не рассказывает как это помогло им (когда они были джунами)? Догадка: потому что они такого не делали.

Мне помогло.

Мне помогло.
как это помогло им (когда они были джунами)?
Так расскажите как. Интересно же. Думаю многим это может быть полезно.
Уточнение под джуном я имею ввиду не человека с 0 лет ОР, а человека с 0 навыками разработки.

Так расскажите как.

Ну как — улучшил навыки, социализировался, етц. :)

Уточнение под джуном я имею ввиду не человека с 0 лет ОР, а человека с 0 навыками разработки.

Определение уровня навыков самого себя — сложный вопрос, особенно лет через 6 после факта. Я возился с опенсорсом до того, как начал профессионально разрабатывать и считаю, что это полезно всем. Если разработка интересна, а не чисто как способ заработать денег больше, чем в среднем по больнице.

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

Опять жуниоры зажрались? Хотят сходу $3K+ получать? ;-)

Ну там, пробные 2 месяца 1500~, затем пару месяцев 2000~. А потом уже синьйор, почему бы и не 3000+ ;)

за пол года до сениора? ну.. тогда я спокоен за свою конкурентоспособность. чудес не бывает Ж)

C++, Python, JavaScript, SQL Server, C, OOP, C#, XML, Design Patterns, SQL, ASP.NET, LINQ, WCF, Visual Studio, AJAX, Web Development, SOAP, Web Services, .NET, WinForms, Win32, Multithreading, Programming, Object Oriented Design, Software Development, Architecture, ADO.NET, Databases, MFC

Похоже чудеса бывают ;-)

хотел написать что вы не правы , и вполне нормальный набор знаний для человека который начал програмить в конце девяностых. но похоже я ошибся насчет десятилетия).

Я еще когда то на FoxPro педалил но писать об этом сейчас моветон, нужно писать о том чем вы владеете здесь и сейчас. На многие вопросы по MFC сможете сейчас ответить? ;-)

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

Можно ссылочку, где там джуниоры за пару месяцев начинают 2000~ получать? :)

Подписаться на комментарии