Программист: выбор специализации.

Всем доброго времени суток!

В настоящее время изучаю в Украине программирование в частном учебном заведении, с интересом поглядываю на большой остров, находящийся севернее Южной Америки. Срок обучения два с половиной года. Уже 5 месяцев изучаем С++, через полгода начнется специализация - будем в течение полутора лет изучать одно из направлений - Java, C#, Web (HTML+CSS, PHP, SQL).
Вот хотелось бы услышать мнение “бывалых” программистов: что выбрать? С одной стороны понимаю, что вопрос звучит несколько глуповато: “типа… что лучше - коньяк или виски?”. И все же, думаю, что какие-то аргументы выделить можно - востребованность, зарплата, перспективы развития языка программирования (ничто не вечно под луной), подобность (вроде как все языки си-образные, но, возможно, хорошие знания помогут освоить какие-то смежные навыки).

Заранее благодарен,
с уважением, Евгений

whatever ESRI is using…

Интересная кстати тема. Присоединяюсь к вопросу.

Начните реально работать - все равно где - в комании какой-то, на мунлайте, хотите, в open source какой-то контрибутните. Опыт на самом деле значит больше чем любой курс который вы возьмете.
Ну и учите язык - джуниору без языка тяжело.
А вообще, C# или Java - тут к чему больше душa лежит. SQL надо хотябы основы знать в любом случае, а HTML+CSS тоже не вредят, но специализироваться на такой комбинации Web (HTML+CSS, PHP, SQL) я бы не стал.

HTML+CSS даже я знаю, хотя не программист. Вместо PHP, мне кажется, лучше учить Ruby. По Java, по моему, больше вакансий чем C#. Ну и С++ форева.
И очень важен опыт работы. Успехов!

Ага ага :yes:

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

Реально если есть разрешение на работу.

Надеюсь на грин кард… Хотя, конечно, надежды маловато - шансы почти никакие.

Это главная проблема. Но для H1B визы вам нужно получить IT образование.

все так когда то думали :slight_smile:
С++ учите дальше - не ошибётесь.

Если к перегрузкам операторов, виртуальным деструкторам и множественному наследованию душа не лежит, C++ лучше забросить и учить что-нибудь реальное, типа Node.js, Django, Rails, MongoDB и всякий mapreduce

По-моему это ещё далеко не самое сложное. То есть надо забросить изучение языка и учить фрэймворки, которые написаны на другом языке? Что-то я вас не совсем понимаю.

Я пока не учился нигде по IT направлению, но C# знаю на приличном уровне. Всё учил самостоятельно по книгам и практике в виде написания приложений. Правда в последнее время редко занимаюсь программированием, но скоро продолжу, возможно подучу Java и разработку под Android. Единственно, недавно написал одну прожку маленькую, так как стал учить английский с репетитором по Skype, был момент, что мне показалось, что трудно отвечать сколько время (как я был наивен :slight_smile: ), написал себе программу (C# + WPF + MVVM pattern), жмёшь кнопку и окошке выставляется случайное время, а снизу текст, как сказать это по-английски (если надо кому, могу скинуть). Короче для тренировки написал. Мне говорили, что C# ещё как востребован в США, это же Microsoft разработка, оно будет актуально по-любому. Кстати, говорил это мне Тимур Тажетдинов, у него есть канал на YouTube, он работает в США в сфере IT, думаю ему можно верить.

А вообще по теме, кроме просто языка (программирования), надо знать фрэймворки, шаблоны проектирования, вообще уметь всем этим пользоваться. Так что просто знать язык это вообще мало, просто, практически ничего.

Вообще интересно, каковы в среднем требования к уровню знаний программиста, для того чтобы уехать H1B…
Нужно быть суперхакером, или и обычному среднему программисту можно устроиться? “Средний” - это именно средний, человек который имеет определенный опыт, которому реально интересна его работа, но который при этом может чего-то в своей области не знать или знать не в полной мере…
Вот я к примеру уже 8 лет в С++, так и не пользовался boost и навороченным метапрограммированием на шаблонах, ну просто на работе эти вещи не нужны, там нужно быстро выполнять требования заказчика, причем как правило это нечто простое и тупое, не требующее каких-то навороченных алгоритмов и специальных знаний. Это оказывается проще сделать “по-старинке”, да и далеко не все коллеги готовы изучать что-то новое просто ради “крутизны” и “новых знаний”:slight_smile: Многим к сожалению достаточно что зарплата капает и ладно.

По сабжу, если реально надо выбирать спецуху, то либо Ява, либо Шарп. ПХП очень популярный, но “закостенелый” язык. Хотя, при этом, позволяет разрабатывать web-приложения очень быстро, и при определенных навыках качественно. Но и Java и Шарп в последнее время так же вполне дружелюбны к вэбу, а на мой личный вкус, с выходом ASP.NET MVC 3-4 (плюс двенадцатая студия), мелкомягкие поймали тренд и они откусят крупный кусок вэб-пирога, если не придумают какую-нибудь мега глупость. А про CSS+HTML - мне кажется, если web “зацепит”, то разобраться не проблема. Домохозяйки сайты хреначат, сам видел! :))) Короче, я бы взял C#.

Hard to believe that there is someone opposing closures in Java: http://*******/RLaL60 . Is one new lang feature in 10 years too much?
The arguments against Java closures boil down to: “Java developers aren’t smart enough”. Same attitude that screwed Java in the first place.

К вопросу о “закостенелых” языках.

Java и C# это совсем не тот web как php, ruby, python итд.

Добрый день, форумчане и особенно IT специалисты. Помогите по возможности разобраться с таким вопросом. Местный колледж (на основе Hi-Tech Training program), предалагает бесплатное годичное обучение по следующим направлениям:

  1. CISCO Certified Network Associate (CCNA)
  2. Microsoft Certified IT Professional: Server Administrator (Microsoft CIT)
  3. Java Programming
    В этой сфере никогда не работал, имеющиеся знания и опыт пока не вижу возможности применить. Понимаю что звучит глупо - но что посоветуете выбрать исходя из соотношения простота обучения/востребованность специальности на рынке? И реально ли за год освоить такой курс (например Java Programming?) или это будет только потеря времени?
    Спасибо за помощь.

Я бы, конечно, из это списка выбрал Джаву :slight_smile: Но стоит посмотреть на программу курсов - если курс ограничивается примитивными консольными приложениями с 3 классами и 2 циклами, то я бы не стал тратить на это время. Конечно это индивидуально, но в большинстве случаев, кроме core java необходимо знание современных фреймворков и все, что связано с вебом, sql еще - за год все это можно освоить самостоятельно на примитивном уровне, т.к. реальных проектов у вас не будет, а примеры в книжках уж очень идеализированы. Ну и еще - пока сами не захотите научиться - никто не научит - основной упор надо делать на самообучение, но показывать свои учебные проекты специалистам :slight_smile:

1 лайк

Это не правильный подход. С таким подходом не станешь успешныи IT специалистом. IT специалистам и платят прилично, потому что это не легко. Да и заниматься надо тем, что нравится.

В вашем случаее у вас на выбор абсолютно 2 разных направления. Администрирование и программирование. Восстребовано и то и то. Что больше по душе то и выбирайте.

1 лайк

Тут все зависит от целей.

Если брать перспективы - то берите Яву (но она будет самая сложная, необходим свой склад ума). Потом идет Циски. (тоже надо будет учить команды)
Если чтобы легче - берите администрирование Винды.

1 лайк