Помогите новичку опредилиться

Здравствуйте. Я, надеюсь, начинающий программист. Так случилось, что к концу 4 курса обучения в своем родном универе я понял, что моя специальность, мягко говоря, этой стране не нужна.Sad but true. Посему решил как то изменить ситуацию, нашел толковые курсы и стал изучать программирование (на 2 курсе был Delphi и вроде все получалось, вот и решил программированием заняться), а именно С++ (Microsoft Visual Studio). Сейчас уже заканчиваю 5 курс и изучение С++ подходит к концу и вот собственно суть вопроса. Что дальше? В какой области я могу применить свои знания и кокой минимум надо иметь за плечами?

Возможно вам вопрос покажется некорректным, но сформулировал как смог :) .

Как мне представляется мин. базис:
1. C++
2. MS SQL Server
3. Java или C# (что выгодней?)

Также существует проблема с опытом работы, ведь при подаче резюме это один из важнейших пунктов. Где этот самый опыт то взять? Я слышал о start-up проектах. Что это такое?

Какие вообще направления в программировании у нас в стране есть, на что нужно ориентироваться?Куда стремится? Вообщем, объясните что к чему и задайте начальный вектор. Буду благодарен.

PS: Если ошибся разделом не судите строго.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Хм, вообщем общая картина мне понятна. Как только закончится С++ перехожу на С# / .NET или Java (судя по описанию здесь, то БД это не пусть истинного джедая). Хотя еще 1 год до окончания универа есть и время сейчас на моей стороне, но пока перспектива для меня достаточно мрачная ...

Смело заявлю перспективнее QA (если голова на плечах есть), пока вы не влезли в эти ожидания.. переходы из конторы в контору на разные требования и типа проектов. Уже собираюсь статью об этом написать :)
---

Если по Вашим пунктам, то:

1. О С++ сложно что-то сказать... все что пишется им.. лично для меня за 10 лет программирования показалось ужасом... как не калькуляторы кодят... так громкоговорители (ну это я утрирую... но в общем надо реально хотеть писать всю эту муть). По поводу стабильности технологий не могу сделать комментарий.

2. Программистом БД... Можно.. знаю зарабатывающих людей.. Все более менее стабильно. Но проектов где потребовался бы просто ДБ девелопер.. на пальцах посчитать.

3. Java или С#... тут опять же личные предпочтения.... Меня больше привлекает подход от Майкрософта. Приложения на любой вкус и цвет. Поэтому и выбрал его в 2005м (после 5 лет на делфях). Будьте готовы к тому что каждые пол года — год надо прочитать как минимум 1 талмуд на 1000страниц чтобы быть в курсе текущих технологий... Хотя после этого процесса вы всего лишь Джуниор при переходе (в другую компанию) по выбранной технологии (Даже если были Синьером по предыдущей). Это и есть основная проблема у разработчиков.

По поводу денег... кругом все одинаково :) ± Так что «выгоды» по выбору особой нету...

Поскольку редактор баганутый... добавлю QA советую только:
— под нормальным руководством... без начальниц с ин.яза и хим производств..
— на хорошем проекте для поднятия знания технологий и паттернам разработки (в вышеуказанных вами направлениях.. тут надо определиться тоже)

— ну и конечно же отсутствия желания «гавнокодить» :) (ну просто встречаются иногда личности которым, просто надо метать код и ничего больше)

Вот что что, а любовь к качеству выполняемой работы мне в универе привили :) .

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

И в итоге это сильно удручает... особенно молодых перспективных наивных специалистов.

Если размер з/п будет норм., то я готов забыть о принципах :)

А ниче шо КуА и Дев — это разные ветки развития?

Нет ниче...

В идеале (к которому и призываю):
1. Нормальный КуА знает не меньше Дева... вопрос только в том что КуА валидирует гавнокод, а Дев его порождает. (конечно же КуА валидирует еще и конечный продукт / процессы / правильность выбранных паттернов)
2. Оба кодят на тех же языках :)
3. Оба получают эквивалентные ЗП (в некоторых случаях выдвигая одну или другую сторону вперед)

Кстати... обе ветки заканчиваются менеджментом :) Так что.. тут думать надо.. :)

1. Нормальный КуА знает не меньше Дева... вопрос только в том что КуА валидирует гавнокод, а Дев его порождает. (конечно же КуА валидирует еще и конечный продукт / процессы / правильность выбранных паттернов)

Зачем КуА
— знать 100500 паттернов проектирования
— уметь рефакторить код
— уметь оптимизировать производительность
?
это так навскидку
Вопрос № 2: Где он (КуА) этому всему научится?

Вопрос № 3: Зачем деву на высоком уровне составлять тест-кейсы и разбираться в теории надежности? (ключевое слово «на высоком уровне»)

2. Оба кодят на тех же языках :)

Далеко не все КуА «кодят». Далеко не факт что на одних и тех же языках.

Самое главное: «Кодить», «программировать», «разрабатывать» — это разные занятия.

Оба получают эквивалентные ЗП

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

обе ветки заканчиваются менеджментом

Правда? А я всегда думал что менеджеров и инженеров готовят по разному.

Правда? А я всегда думал что менеджеров и инженеров готовят по разному.

Осмелюсь сказать, что инженер это универсальная боевая едина :) . Переучивается довольно быстро.

Ответы:
Вопрос № 1: для того чтобы понимать что надо тестировать а что нет (или точнее тупая трата времени).
Вопрос № 2: Там где и дев... вы же в одной команде работаете.
Вопрос № 3: Для того что бы понимать / подтверджать что он собственно девелопит (почитайте о TDD.. я знаю для многих девелоперов словжно выдумать все кейсы.. вот и гавнокодят). Кстати это поможет в вышеуказанном Вами рефакторинге.
Вопрос № 4: Далеко не все КуА получают ЗП больше девелопера :) И далеко не все могут нормально проверить качество. Но это не говорит о том что это норма.
Вопрос № 5: В моем случае это не так :) Более того есть много других положительных нюансов.

Вопрос № 6: Правда... Или на вашем стаже большинство ПМов и Тест Лидов брались со студенческой скамьи как Трейни/Джуниор ПМ или Трейни/Джуниор ТМ?

Вопрос № 2: Там где и дев... вы же в одной команде работаете.

А я немного знаю экономику. Вот только я е экономист. Разница в уровне знаний в той или иной области, и эти наборы отличаются у Девов и КуА

Вопрос № 3: Для того что бы понимать / подтверджать что он собственно девелопит

Для тех кто не читает до конца:

ключевое слово «на высоком уровне»

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

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

Кстати это поможет в вышеуказанном Вами рефакторинге.

Если КуА занимается рефакторингом, то что-то не так в процессе. Тесты со сложной логикой — это не нормально.

Или на вашем стаже большинство ПМов и Тест Лидов брались со студенческой скамьи как Трейни/Джуниор ПМ или Трейни/Джуниор ТМ?

Нет. Они переходили в ПМ после пары лет работы, на что-то вроде Джуниор ПМ (тупо писать спеки) или вырастали из бизнес аналитиков.

Вопрос № 2 + № 3:

Хорошо... знания отличаются. Но (если QA специалист хорош)
1. отличия только в «высоком уровне мелочей».. Т.е. примерно так.. Делопер копает... я тоже могу копать :) но че-то мозолятся руки и мускулатура не та... да и желания нет копать. Есть желает у переть носом девелопера в неправильно скопанную часть огорода. Ну пусть он знает что есть 20 разных производителей лопат.. для меня хватит понимания что такое лопата и что с помощью ей можно сделать и ка ею пользоваться.

2. на выходе «на высокого уровня» только плеш на башке, да функционал типа «программировал круглую кнопку 2 месяца». И ничего очобенного ведт все архитектурные/функциональные особенности делаются и определяются (по хорошему) не девелопером.

юнит-тесты и, например, функциональное тестирование

Действительно разные. Но нормально сделанные юнит-тесты позволят избавиться от функционального тестирования вообще. Есть бытующее мнение что юнит тесты и просто тестирование от КуА это разное и как бы народ из разных групп не лезет друг к другу. Но это легко опровержимо на примерах... и это не тема другой дискуссии тоже :)

Если КуА занимается рефакторингом, то что-то не так в процессе. Тесты со сложной логикой — это не нормально.

Я не говорил что КуА занимает рефакторингом. Насчет тестов согласен и опять же я не говорил противоположных вещей.

Они переходили в ПМ после пары лет работы, на что-то вроде Джуниор ПМ (тупо писать спеки) или вырастали из бизнес аналитиков.

Кто они?
ПМы спеки не пишут.

Бизнес Аналитикам трудно (если вообще теоретически возможно) быть Техническим ПМом.

То есть, знание MS SQL Server в моем случае это не столь важно (естественно знать надо, но не критично)?

Что такое QA ?

Неужели С++ так уж непопулярны? Ведь мне постоянно талдычили — С++ это скорость, это круто.

Как вообще обстоят дела с БД и вообще что это за фрукт и с чем его едят?

Хм, тогда за кем будущее С# или Java ?

1. Знание MS SQL Server .. и незнание что такое БД (База Данных) настораживает.
Критично по началу знать базовый ANSI SQL.
То что я вам написал (о работе программистом БД) подразумевало то, что кроме кодинга логики на стороне сервера БД (т.е. использование T-SQL, PL/SQL) вы больше ничем не занимаетесь, не знаете и не должны знать
2. По поводу С++ и Java пусть лучше какой нибудь эксперт в этой области отпишется.
3. QA — quality assurance (тестирование качества)
4. Имхо за Microsoft-ом будущее :) Но счас начнут Джависты отмахиваться :) Направлений развития море и в этом кстати большая проблема для молодого (и опытного сати тоже) специалиста.

1. Знание MS SQL Server .. и незнание что такое БД (База Данных) настораживает.

Так я и не знаю их :) , просто мне при изучении С++ настоятельно рекомендовали взяться за SQL.

Какие сети? Зачем сети пхписту например?

Зависит от конторы, если это небольшая компания/стартап то может быть. Если в конторке на ставке уже админ сидит, то он вполне должен сэтапать всякие фильтры против досов, пхп-шнику лучше сосредоточится на разработке. Ну и отождествлять знание что такое АйПи аддресс и знание сетей, я бы не стал.

Похоже ты не знаешь на каком порту работает пинг, т.к. он использует icmp протокол у которого портов нету ;-)

Ответ на твой вопрос — нет не обязательно, не вижу как это поможет пхпшнику в его деятельности

Я согласен, но речь то шла об обязательных знаниях?

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

С++ незаменимая вещь. В геймдеве или системном программировании без знания С++ просто не обойтись (правда в этих областях кроме знания самого языка нужно еще очень много чего знать).
Но где вы видели в нашей стране геймдев (кроме разве-что Mobile Development и флеш-игр)? Да и антивирусов, собственных осей, браузеров здесь никто не создает. Страна работает на аутсорс. Клепает проекты, ориентированные на крупного заказчика а не массового потребителя. Конечно есть и исключения, но их так мало.
Поэтому спецу по с/с++ труднее найти у нас работу, чем спецу по java/C#/php.

>>> Но где вы видели в нашей стране геймдев

GSC Game World, CryTek?

Это скорее исключения из правил.

Это не исключение, у нас полно контор, которые А) делают кучу аутсорса для зарубежа
Б) филиалы зарубежных

В) делают социалки и мобильные игры

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

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

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

дайте ссылку если не тяжело

попробую по пунктам ответить на вопросы
1. опыт- ищите курсы при компаниях. такие есть по java как минимум. или готовтесь работать за копейки на php на г0внопроектах (вариант по унылее)
2. про стартапы забудте. В стартапы берут только опытных зубров. (Или это черти что а не стартап и просто пустая трата\попил инвесторских\папиных денег)

3. работы на с++ для джуниоров в природе не встречал (

Неужели все так плохо в моем случае О_о ? Рекомендуете на С++ забить и в срочном порядке постигать Java ?

я не говорю что плохо- говорю что лично я работы такой вообще не видел... Посмотрите сами по сайтам работы- есть ли что то. Не моя область просто-МНЕ кажется что ее нет...
но тенденция к тому что с++ сейчас- это суровый ембедед и новичкам там как правило не рады ( ИМХО конечно).
с# тоже неплохой вариант — и активно используется например в геймдеве. Вопрос просто что больше нравится.

java — суровый веб интерпрайз и всячиские высоконагруженные бекэнды. Кривая обучения пожалуй будет по круче в многих случаях(сложная инфраструктура)
с# - веб програмирвание в более общем виде + игры и виндовс приложения.
а еще есть Object C :)

от эмбеддеда до энтерпрайза

Можете подробно расписать что это такое? Просто впервые слышу...

en.wikipedia.org/...Embedded_system
низкоуровневое програмирование для всяких железяк. роутеров, телефонов и прочей радости

ASM\C\C++ и глубокая, лютая ненависть к новичкам в комплекте.

Какие вообще направления/языки перспективны сейчас?

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

большая тройка — Java/C#/PHP
а в направлениях — web безусловный лидер в разных своих ипостасях.

он очень разный- от убогого Г до мозгоклюйного highload

большая тройка — Java/C#/PHP

Мде, походу зря время потратил на С++ ... Надо было с Java или C# начинать :( .

ЦПП лишним не будет.

ЦПП лишним не будет.

не силен пока в проф. аббревиатуре

чего зря? нормальный ооп язык — я вот его на мехмате тоже ботанил )

заодно хоть что такое не managed язык пощупал

Зачем уж так пессимистично?
Вон, народ и на С++ веб-приложения пишет.....
habrahabr.ru/...logs/cpp/61563

;-)

Вопрос только в том, каков обьем рынка таких проектов. Боюсь что на/в Украине очень маленький.

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

+ у наших людей извращенное понятие что такое junior developer пресловутый. Думаю что кто то готов платить им за то что они на работе будут книги читать. джуниор- человек который педалит несложные задачи как заведенный а не тот кто сидит и чему то учится. Ни кто ни где и никогда не возьмет человека «развивать»

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

3. Java или C# (что выгодней?)

Для определения этого вам понадобится некий финансовый базис. 5, 50 коп или 1 грн (монетой) — это минимум.

Что делать с монеткой объяснять надо?

Какие вообще направления в программировании у нас в стране есть

Разные: от эмбеддеда до энтерпрайза.

на что нужно ориентироваться?

Вот тут без стеба: на то что интересно, работу проще найти в веб-деве, но эмбеддедеры тоже как-то же начинают свой путь.

Можно про «от эмбеддеда до энтерпрайза» поподробней?

Вот тут без стеба: на то что интересно, работу проще найти в веб-деве, но эмбеддедеры тоже как-то же начинают свой путь.

Вот это мне и интересно, где перспективней?

Вот это мне и интересно, где перспективней?
то вы подразумеваете под «перспективней»?

Перспективней там где интересней ;)

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