А я 6 лет только с такими и работаю
на android developer’ов спрос хороший? кто-то получал H1B на данную позицию?
На андроид-разрабов, собственно как и на ios, спрос только растет.
Мне кажется, что в универе надо смотреть учебные планы по конкретной специальности. У нас в Питере в ИТМО на первом курсе программирование на си шарпе. Даже если к этому не лежит душа приходится писать на этом. Из Белоруссии много людей уехало по H1B. Значит образование хорошее, а язык выберите тот к чему лежит душа и чем планируете заниматься.
Да как же вы не поймете.
В универе вас не научат программировать коммерческое ПО на определенном языке. Цель обучения в ВУЗе другая совсем.
Хотите знать конкретный язык - идите на курсы.
Советую посмотреть вакансии в вашем регионе и уже по ним ориентироваться какой из языков более востребован, его и изучайте самостоятельно(кроме 1С). Понятно, что ситуация может поменятся с течением времени, но изучив хорошо один язык, вы сможете легко изучить любой другой. Смотреть на вакансии в U.S. на данно этапе бессмысленно, туда кого-попало не притащат по рабочей визе, вам еще локально нужно стать крутым специалистом, а без наличия работы вы этого не сделаете.
Язык, на котором вы будете делать лабы в универе ни имеет никакого значения, все равно уровень программирования, который вам дадут в универе даже близко не потянет для трудоустройства.
Зачем локально. Можно сразу глобально. Например, на фрилансерских сайтах.
Сколько займет времени выполнение начальных проектов на фрилансе, чтобы тебе стали поручать нормальные задачи? И как часто встречается работа в команде? Я бы побоялся брать к себе на проект специалиста, который всегда работал один.
Все зависит от индивидуума. От месяца до бесконечности.
Да, это минус. Но ИМХО, не фатальный. По большому счету, программист всегда один. Т.е. в четыре руки мало кто пишет. И если не полностью потеряный для общества человек, то сговориться с другими, кто чем занимается - не так уж и трудно. А работодателю, чего ему бояться. Не сложилось - минутный разговор, и с вещами на выход.
Программист один только на маленьких проектах (сайтах). На большом проекте команда - живой организм из БА+программер+тестировщик.
ЭЭЭЭ. А как же pairwise-программинг.
Вот тут не согласен. Есть кучу людей. не умеющие работать в команде. В итоге на комуникацию уходит кучу времени.
А работодателю есть чего боятся - нужно найти нового человека + время, чтобы он разобрался с проектом. А время - деньги.
Да по большому счету все равно, что Вы учите, и C# и C++ и Java Python - это все востребованные языки. Идете на indeed или dice, делаете поиск и смотрите кол-во вакансий. Там их достаточно будет для всех языков.
Начинать(и специализироваться) на каком-то специфическом языке (lisp, haskell, ocaml, например) я бы не советовал, просто потому что кол-во вакансий меньше.
Кроме того, помните, язык программирования всегда можно поменять, тем более что поледнее время появляются новые, модные и красивые языки. Я, например, начал как с++, потом искал позицию .net разработчика, а взяли меня на позицию java. А сейчас, спустя много лет, пишу на java, scala, python и javascript (node.js), не считая всяких domain-specific языков типа Datalog. Так что язык - не самое важное, главное чтобы был популярен (вакансию со спонсорством будет легче найти).
По опыту - учите базовые вещи, анализ алгоритмов, комбинаторику, математику, это всегда востребованно независимо от того, на каком языке программирования Вы выражаете свои мысли.
P.S. По поводу “хотите в MSFT - учите C#” - им все равно на чем Вы писали до них. собеседование можно проходить на чем угодно.
Я имею в виду не количество программистов в проекте, а сущность процесса написания программы/функции/объекта. Он один садится за компьютер, и пишет.
Так пишет программу все равно один.
Это скорее неправильно огранизованный процесс совместной работы. Но согласен, что есть люди асоциальные среди программистов.
В этом плане риск кончено есть. Но ИМХО, лучше рискнуть взяв талантливого но необщительного, чем посредственного любителя пообщаться.
Дело не только в общении. Программист работающий в одиночестве на проекте, как правило, не заморачивается с архитектурой, качеством кода, паттернами, best practices и комментариями. Он не будет думать, как его функционал будет работать в комплексе с другими модулями системы, как его код будут поддерживать другие разработчики. Крутой волк-одиночка может нанести проекту больше вреда, чем средний программист учитывающий подобные нюансы. И по мне, лучше взять пару средних разрабочиков, и поставить над ними крутого лида, чем иметь двух лидов, один из которых пишет невероятно крутой код, в котором, кроме него потом никто и никогда не разберется.
Если он этим всем не заморачивается, особенно архитектурой и качеством кода, то может ему заняться чем то другим.
А кто за него будет об этом думать, если он одиночка, и пишет всю систему целиком?
У меня есть знакомые, которые именно не заморачиваются, т.к. ориентируются на краткосрочный результат и их не интересует будущее проекта. Ведь потом будет другой проект, что время то терять. Во фрилансе это не так?
Я с трудом себе представляю программиста, который пишет систему целиком. Программку да, какой-то модуль - возможно. А вот написание системы в одиночку, уж извините. Когда великий труд данного индивидуума будет закончен, через пару десятков лет, я боюсь его система уже будет никому не нужна. Мы видимо имеем разное представление о проектах и человеко-часах которые требуются на их разработку. Я не могу считать проектом задачу, с которой справляется один разработчик за несколько месяцев. Я могу ошибаться, т.к. о фрилансе знаю со слов коллег, но большая часть задач там как раз небольшие программки и сайтики, и говорить о них как о системах как-то язык не поворачивается, как и думать о каком-то взаимодействии модулей внутри них. Если не прав, то прошу прощения.
В долгосрочной перспективе, если человек решил серьезно этим заниматься, заморачиваться нужно. Проекты будут другие, но если не относиться к мелким проектам как к халтуре, то повышается вероятность того, что следующий проект будет от того же заказчика. Далее, повышается вероятность того, что среди этих постоянных заказчиков кто то начнет большой проект, и вспомнив о надежности и беспроблемности товарища и его кода, возьмет его в этот проект.
Не знаю, какие такие системы можно писать десятки лет. Под системой, я не имею в виду операционную систему. Но вполне большие и сложные штуки можно написать за месяцы. Если человек достаточно пассионарный, то ведь его хлебом не корми, дай только писать.
Я не притендую на истину в последней инстанции. Случаи бывают разные. Но если человек ориентируется на США в смысле будущего места работы, и пока не может туда переехать, фриланс вполне реальная и простая возможность начать работать там, будучи физически еще здесь. ИМХО.
Я имел ввиду обычные проекты. К примеру если есть небольшой проект на один год, который пишут пять разработчиков, то грубо говоря один разработчик будет его писать в пять раз дольше. Понятно, что здесь много факторов. С одной стороны если разработчик гуру во всех областях, то теоретически он сделает проект быстрее, т.к. уйдут накладные расходы, а если нет, то даже медленнее, т.к. придется разбираться с вещами, которые он не знает. А если проект на 30 человек и более? На счет работать там, находясь здесь, может лучше все таки смотреть в сторону удаленки?
Т.е. этот же проект 50 человек напишут в 50 раз быстрее?
Вы сами-то в это верите?
Покажите пожалуйста, где я такое писал? Я указал, для примера, проект на пять человек. Допустим 2 UI-разработчика, 2-Back-End и один тех лид. Найти разработчика, который одинаково хорошо умеет проектировать, писать Back-End и UI достаточно тяжело и если такой есть, то он сделает этот проект быстрее. На практике, люди как правило, имеют специализацию и задачи, которые выходят за пределы их экспертизы они сделают за намного больший срок и с намного меньшим качеством. Так что, как я и указал, грубо может получится и такая разница. Понятно, что чем больше команда, тем больше накладных расходов и это число будет совсем другим.
Если есть такая возможность, конечно нужно пробовать. Это тоже фриланс.