singlepost

Кто больше востребованузкоили широко профильные кодеры? << На главную или назад  

Я сам недавно начал изучать программирование, начал сC++, и вот решил просто пройтись по сайтам трудоустройства и посмотретькакаятам картина.И меня удивило то, чтоте, кто ищут работу, в своих резюме пишуттакой огромный перечень всего.Ну, скажем,есть такие резюме,гдепишут по 15 языков программирования и больше и притом соискателюоколо 20 лет, неужели человек в таком возрасте уже все знает наотлично и много чего или это просто людиуниверсалы, который знают все, но по немного, а толком ничего? Или может лучшебыть в каком – то направлении одном скажемC++и знать его очень глубоко? (все технологии, порты, протоколы, хорошо разбираться в системе и так далее)
Просто когда вижу в резюме другихпрограммистовтакой перечень, где больше 15 языкови направления практически все (системное, прикладное, web), ну тогдазадумываешься или это вундеркинды? Ия, даже изучив C++ простоне смогу конкурировать с ними?Или все-такиэто люди, которыезнают по немного, атолком ничего, иони менеевостребованы работодателями?

39 ответов в теме “Кто больше востребованузкоили широко профильные кодеры?”

  1. 27
    Marsianka Rr ответил:

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

  2. 26
    Alex Belyaev ответил:

    Жека jkff Кирпичев,что сказать!? Реально молодец ! Респект, пару моментов реально зацепили, возьму в обиход)) Спасибо!
    Думаю препод из тебя хороший)

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

    Но все-таки реально хорошая статья!

  3. 25
    Alex Belyaev ответил:

    А насчет "Начинающему разработчику рановато думать о вакансиях ;) "
    Не согласен, нужно хоть помощником но устраиваться, т.к именно в работе возникают те проблемы при решении которых ты развиваешься… А изучая дома на диване, нету той самоотдачи и просто мотивации, имхо!

  4. 24
    Жека Кирпичев ответил:

    Я на работе, вообще, пишу на Java – но на мой стиль, корректность, эффективность, краткость кода оказали исполинское влияние изучение хаскелла и лиспа.

    Желающие могут почитать, например, про набор выработанных мною приемов применения техник ФП к Java – см. //antilamer.livejournal.com/245962.html и //spbhug.folding-maps.org/wiki/EugeneKirpichov?...

  5. 23
    Alex Belyaev ответил:

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

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

    Ведь реально вакансий на С++ и Java больше, гораздо….

    Или я опять не прав?)

  6. 22
    Жека Кирпичев ответил:

    Начинающему разработчику рановато думать о вакансиях ;)
    Я согласен, что начинающему лучше начать с чего-нибудь типа паскаля, где есть туева хуча обучающих ресурсов и который все вокруг знают; и, конечно, всяких CS-дисциплин – алгоритмов/структур данных итп.

    Когда базис будет получен – наверное, надо параллельно изучать что-нибудь востребованное работодателями и параллельно расширять кругозор изучением чего-нибудь, расширяющего кругозор – а именно, читать SICP :)

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

  7. 21
    Жека Кирпичев ответил:

    Разработчиком в Яндексе , + преподавателем курса "функциональное программирование" в АФТУ.

  8. 20
    Alex Belyaev ответил:

    Жека jkff Кирпичев, можно поинтересоваться где ты работаешь??

  9. 19
    Жека Кирпичев ответил:

    И еще – господа, прочитайте, пожалуйста, вот этот пост

    //enfranchisedmind.com/blog/posts/programming-d...

    Он великолепно высказывает мое мнение на тему "экзотических" и "неэкзотических" языков.

  10. 18
    Жека Кирпичев ответил:

    >это все равно что изучать диалект папуасов Новой Гвинеи
    Нет.
    1) Аналогия неверна. Язык папуасов новой гвинеи НЕ является настолько же более продвинутым по отношению к русскому, насколько хаскелл продвинут по отношению к си или джаве. Изучение папуасского – это скачок вниз, а не вверх.

    2) Цель изучения "экзотических" языков – не в том, чтобы писать на них за деньги. Она вот в чем:

    Пока ты программируешь только на си и на джаве – ты умеешь решать задачи только так, как тебе объяснили в учебниках по си и джаве. Циклы, массивы, присваивания, процедуры, структуры, объекты. Паттерны GOF. ВСЁ!

    Функциональные языки открывают принципиально новые способы проектирования.

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

    Представь себе скачок в способах проектирования программ при появлении структур данных – способа абстрагирования всегда появляющихся совместно данных.

    Представь себе скачок в способах проектирования программ при появлении объектов – способа абстрагирования внутреннего представления куска данных в терминах, грубо говоря, кусков кода.

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

    Начинаются вещи, о которых ты, видимо, не задумывался.

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

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

    Ровно такой же по величине скачок дают синтаксические макросы (я о макросах лиспа, а не о жалкой и опасной, но неизбежной, хренотени в Си) – способ создать собственный мини-язык, бесплатно пользуясь всеми преимуществами исходного языка.

    Ровно такой же по величине скачок дают по-настоящему мощные системы типов (не еле формализуемая фигня типа генериков в джаве с FAQ на 500 страниц), доводя дело до того, что если программа компилируется – то она в 90% случаев работает правильно.

    Ровно такой же скачок – логическое программирование – способ абстрагирования от однонаправленной зависимости между "входом" и "выходом".

    Все вышеупомянутое, будучи испробованным, навсегда меняет то, как ты сам *думаешь* о программах, как проектируешь их, какие способы решения принципиально способен увидеть, какие потенциальные ошибки видишь за версту.
    Даже если твой рабочий язык не позволяет тебе выразить все это в явной форме – ты уже способен совершенно по-другому *придумать решение*, осталось только, пользуясь своим виртуозным владением си или джавой, выразить его в их терминах.

  11. 17
    Александр Васюченко ответил:

    Присоединяюсь к Андрей werdnals Марков.
    Действительно, лучше учить те языки, которые востребованы и популярны.

  12. 16
    Максим Потапов ответил:

    к #4 там уже разделение на специализации идёт, и всёравно я сомневаюсь что там только одним языком можно отделаться

  13. 15
    Андрей Марков ответил:

    Учить надо востребованные языки — и да, несколько. Для прикладного ПО это в основном C, C++, Java, для веба — PHP, Ruby, JavaS?1?ript.
    На мой взгляд, учить "Haskell, Lisp, J, Prolog" — это все равно что изучать диалект папуасов Новой Гвинеи — то есть это конечно может когда-то пригодиться, но вряд ли все вакансии пестрят такими требованиями. Если это такое хобби — пожалуйста, но я бы не стал говорить "вы ничтожные людишки, потому что ни разу не играли в гольф, а я его так обожаю, хотя учился играть долгих 5 лет" )

  14. 14
    Alex Belyaev ответил:

    Богдан GruL Чечин
    +1 , хороший коммент!

  15. 13
    Богдан Чечин ответил:

    То, что зная С++ проще изучить Java и PHP объясняется историей их создания, но врядли знания C++ сильно помогут в изучении JavaSсript. Есть конечно много общего, но и разница большая.
    А в такич языках как Lisp и Prolog ещё сложнее разбраться будет, так какони очень сильно отличаются от С. Для примера могу сказать, что в нашей группе(специальность "компьютерные науки") в Прологе разобрались лишь 4 человека, правда у нас лекций по нему не было, так что пришлось всё по Братко учить:).

    Pascal пожалуй самый простой язык, именно поэтому с него начинают в школах и ВУЗах.

  16. 12
    Alex Belyaev ответил:

    лан…успокойся, ты прав ;) видимо ты реально долго учил "Haskell, Lisp, J, Prolog"что так о них с любовью!__)))

    Но я не унываю ;0 у меня еще 3 года до твоего возраста могет быть я выучу их за это время))

    И да, точно Object Pascal вроде не С подобный но почему-то его тож быстро изучил на том уровне чтобы писать программное обеспечение для платежных терминалов $)

    А вообще мы немного отошли от вопроса Сергей Noname….)))

  17. 11
    Жека Кирпичев ответил:

    Зная хотя бы один си-подобный язык и ООП, ничего не стоит разобраться с си-подобной и ООП-частью другого си-подобного ООП-языка. Не более того.
    Просто ты (как и, увы, многие) никаких языков, кроме си-подобных объектно-ориентированных и не пытался изучать.

    Haskell, Lisp, J, Prolog – не си-подобны и не объектно-ориентированы.

    "Разобраться" с ними – совсем не просто, зато результат будет действительно ощутимым – ты станешь по-другому программировать, а не просто выучишь, что в джаве вместо strstr надо использовать .length().

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

  18. 10
    Alex Belyaev ответил:

    Жека jkff Кирпичев, обязательно посмотрю….. но кто-то уже говорил про время….))

    С тобой согласен про "А язык – это гораздо больше, чем то, какие у него функции работы со строками, файлами и сокетами"…. взять туже Java… вот фиг там выучишь все библиотеки и т.д.

    Кстати не претендую на замечательные знания всех языков…. знаю хорошо тока С++ … но согласись тоже, зная хотяб один язык и ООП допустим , ничего не стоит человеку разобраться за короткое время с другим языком!! ВСЕ зависит от желания имхо ;)

  19. 9
    Жека Кирпичев ответил:

    Судя по тому, что ты рассуждаешь о языках в терминах "половина функций схожи" (какие, кстати, функции ты имеешь в виду?), и по тому, что говоришь "Короче схема одна во всех языках!", ты знаешь все упомянутые тобою языки на чрезвычайно поверхностном уровне – на уровне нескольких (ну, нескольких десятков) библиотечных функций.

    А язык – это гораздо больше, чем то, какие у него функции работы со строками, файлами и сокетами.

    Попробуй все-таки глянуть на Haskell, Lisp и J – утруди себя, расширь кругозор.

    Ну или, хотя бы, выучи *как следует* джаву и джаваскрипт.

  20. 8
    Alex Belyaev ответил:

    Сергей Noname, Богдан ♪♪♪ Микушев – да лан вам, половина функций схожи…. И я это сказал так же как и про С++ и ПХП, почему то про это вопросов не возникло ;)

    А вообще, хелп всем поможет! И самое главное не бояться работать, а там само придет от безысходности $)))

  21. 7
    Ваня Яни ответил:

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

    Язык, который не меняет вашего взгляда на программирование, не стоит изучения (с) Алан Перлис

  22. 6
    Bogdan Микушев ответил:

    > >Javasсriрt – уменьшенная копия Java?? Вот уж выучил так выучил,
    >> ничего не скажешь.
    +1.))))

  23. 5
    Александр Васюченко ответил:

    Присоединяюсь к Alex …blеnDЕR… Belyaev.
    Действительно, зная один язык, к примеру С++, очень легко перейти на другие языки, т.к. синтаксис похож и принципы программирования похожи (например ООП).

    Да и вообще имея логическое мышление,можно не один язык выучить…

  24. 4
    Жека Кирпичев ответил:

    Javasсriрt – уменьшенная копия Java?? Вот уж выучил так выучил, ничего не скажешь.

    Ну-ка, а Haskell (haskell.org, book.realworldhaskell.org) – уменьшенная копия чего? А J (jsoftware.com)? А Coq (coq.inria.fr)? А lisp?
    Может, и их за недельку как-нибудь по-быстрому выучишь? :) Я б даже заплатил, если бы меня кто-нибудь научил программировать на J – сам уже пару лет его штурмую время от времени, так и не осилил толком, а очень хочется.

    Если уж и говорить, что javasсriрt – уменьшенная копия чего-то, то он гораздо ближе к лиспу, чем к джаве.

  25. 3
    Максим Потапов ответил:

    Не требуется прям досканальное знание всех этих языков. Просто с ними нужно уметь работать и в случае чего обучиться нужным работадателю функциям. Ну естественно ты должен хорошо работать в основных, нужных ему же языках..
    А по вопросу в теме: естественно широкопрофильные. Заказчику проще платить парочке таких, чем кучи специалистов.

  26. 2
    Сергей Семенец ответил:

    Alex …blеnDЕR… Belyaev
    Тыговоришь за синтаксис или за технологии, ведь синтаксис может и похож и- это самое простое , что есть в языках,но технологии гораздо больше времени отнимают в ихизученииионив каждом языкесвои???

    Максим БелыйКлык Потапов
    А если говорить о серьезных проектах, которые стоят десятки и сотни штук баксов, там тоже нужны люди, которые знают все по чучуть ?

  27. 1
    Alex Belyaev ответил:

    просто зная один язык отлично ты в принципе можешь понимать дофига каких языков, т.к. схема практически одинакова… так я оч неплохо знаю
    С++, понадобилась Java я за месяц почти на том же уровне что и С++ ее знаю!)) А Java в свою очередь является как Web я зыкомтак и приложения для ОС ) А в свою очередь PHP очень похож на С++, следовательно и его я выучил за 2 недели)) А Perl чуть сложнее PHP… JavaS?1?ript уменьшенная копия Java…

    Короче схема одна во всех языках!

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.