Форум: Медико-психологические вопросыСам себе юристО Жизни и про Жизнь
Новые темы: 000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Головоломки на PHP для хакера (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

О Жизни и про Жизнь

Выбрать другой skin

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Об устройстве на работу
 
 автор: MMG   (06.09.2010 в 11:27)   письмо автору
 
 

Здравствуйте, уважаемые участники форума!
Здравствуйте, Максим Валерьевич и Игорь Вячеславович!

Прежде всего искренне желаю МВ скорее поправиться и снова встать в строй!)

Я бы хотел обсудить наболевшую тему...
Об устройстве на работу программистом.
Вернее, об устройстве на первую работу.

Буду говорить о себе, уверен, что многие найдут в этой истории и о себе тоже)

Я закончил специальность "прикладная математика", программирование нам преподавали - самые основы, мы решали много алгоритмических задач, программировали много математических задач...
В общем, программировать нас в принципе научили.
Я сам со второго курса начал самостоятельно изучать C++, с четвертого курса самостоятельно изучал Java.
Но опять же, подчеркиваю, я изучал основы, базовые принципы языков, синтаксис, возможности языка и пр.
В добавок сам штудировал SQL, писал примитивные приложения-клиенты, которые подключались к СУБД....

Когда стал пробовать устраиваться на работу программистом (начал я это дело на 4м курсе), на собеседованиях столкнулся с неприятными моментами..
Я побывал не на одном собеседовании (точнее, я обошел наверное 9 компаний тогда), на каждом, НА КАЖДОМ, меня гоняли по всем возможным тонкостям языка...

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

Ну ладно, все возможные тонкости языка - допустим, это действительно справедливо, человек который устраивается программистом (даже если устраиваешься на самого что ни на есть начинающего типа Junior Developer или стажера) должен владеть языком в совершенстве...
Но это не все.

На собеседовании требуют владения в совершенстве теми технологиями, которые данная компания использует в работе!
Это же вообще бред.
В городе, где я живу, множество компаний, у каждой свое направление работы, каждая использует свой набор технологий, фреймворков....
ПРишел я в одну - там делают ПО для iPod-ов, i-Phone-ов...
меня там спрашивают - "вы имеете опыт программирования для i-Phone?"
разумеется я не имею такого опыта, у меня такой модной железки нет в кармане да и не было у меня практики программирования для этого дела...
они отвечают - "Как жаль, вы нам не подходите! Получите опыт программирования для данной платформы и приходите потом"
Пришел в другую - там делают ПО под Windows Mobile.
Вопрос - "вы имеете опыт программирования под Windows Mobile 6 с использованием GPS API?"
Ну да, блин, всю жизнь только и делал, что писал программы, которые используют GPS-навигацию...
"Вы нам не подходите"
и так везде, где я был..

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

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

2) есть 8 монет, одна из них фальшивая, фальшивая немного тяжелее.
есть весы с чашками.
как за два взвешивания определить фальшивую монету?

3) есть ручка и бумага.
пишешь на бумаге ручкой - не пишет.
в чем проблема?

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

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

и это еще не все....)))
теперь о тестовом задании!
это самое интересное.
мне давали разные тестовые задания.
один пример...
устраивался на вакансию Junior C++ developer
то есть - "младший" разработчик, предполагается, что еще не опытный...
задание знаете какое?
написать клиент-серверное (!) приложение, используя напрямую функции WinAPI (!!), реализовав в нем свою собственную файловую систему (!!!).
существующие файловые системы типа Fat32, NTFS и линуксовские ext копировать запрещается.
надо свою придумать....
знаете сколько дали на выполнение?
три дня.
я разумеется не справился.
"вы не приняты, очень жаль"

и таких примеров у меня много...

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

я написал им письмо, потребовал объяснений - почему?

ответ пришел через неделю - внимание, ржать - "вы в коде не применили паттерны".
ну е..... мать!)) паттерны я не применил.
я всю жизнь прогал, с рождения, и я уже такой опытный, что вижу случай, когда надо паттерн вот сюда засобачить... вот прям сюда, Singleton или Abstract Factory...

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

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

либо работодатели охренели, либо я в чем-то не прав....

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

  Ответить  
 
 автор: asked86   (06.09.2010 в 14:07)   письмо автору
 
   для: MMG   (06.09.2010 в 11:27)
 

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

Чтобы более менее стать профессионалом в каком-нибудь деле, нужно им заниматься постоянно. Вплоть до того, что знать большинство функций со всеми аргументами которые она принимает не говоря уже о методологии программирования и опыте. Иначе говоря бить в одну точку. Если Вам интересно Web - программирование, то им желательно заниматься ежедневно и брать реальные проекты, каждый раз увеличивая нагрузку. Как говорил Игорь Вячеславович недостаточно прочитать книжку по программированию, ее нужно пропустить через себя, плотность информации в ней велика. Он был прав, иначе нельзя. И нужно постоянно с книгами работать. Даже профессионалы их открывают часто.

>я ощущаю себя неудачником.
Я тоже себя им ощущал и не мало контор обходил, на моем счету их больше чем у Вас ... более 10 это точно. Это реальность, Вас в вузе учили базовым вещам. Т.е на берегу показывали как нужно плавать, что нужно делать в такой то ситуации и т.д и в конце концов базовые вещи Вы усвоили.
Вы сейчас нырнули на глубину 4 метров и почувствовали себя неудачником. Теперь проанализируйте, а у Вас был опыт плавания на глубине 4 метра? Сомневаюсь, отсюда и Ваши пессимистические высказывания. Нужно просто работать в узком направлении и постоянно иначе никак.


>как же программистом работать в наше время?

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


> устроиться же после универа нереально....

Начинайте от простого к сложному. В базовом курсе философии если Вы ее внимательно проходили там есть такое понятие "От простого к сложному". Именно так можно чего то добиться.
Устройтесь на работу программистом за 4 или 5 тыс., наберетесь опыту и параллельно развивайтесь, более того появится опыт общения в коллективе и т.д. После этого будете расти ..

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

  Ответить  
 
 автор: Eugene77   (06.09.2010 в 18:50)   письмо автору
 
   для: MMG   (06.09.2010 в 11:27)
 

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

Можно учиться всему этому, но можно и "петь свою песню".
Писать, например, игры и продавать их 1С. Они теперь торгуют в основном прогами написанными в чужих лабораториях.

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

  Ответить  
 
 автор: Axxil   (06.09.2010 в 23:26)   письмо автору
 
   для: Eugene77   (06.09.2010 в 18:50)
 

>> чистое программирование в серьёзном кризисе

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

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

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

  Ответить  
 
 автор: Симдянов И.В.   (07.09.2010 в 15:49)   письмо автору
 
   для: MMG   (06.09.2010 в 11:27)
 

Поэтому, мы в свое время предпочли работать сами на себя. Во всем можно разобраться, но подстраиваться под дикие требования, которые в процессе работы можно усвоить за неделю - увольте. Как вариант - становиться специалистом такого уровня, когда не вам, а вы сами говорите компании - извините, но работа на вас меня не устраивает. В этом случае, обычно к вам с подобными вопросами не обратятся - побоятся спугнуть. Однако, для этого нужно время и быть на голову выше конкурентов, чтобы походя брося фразу: "Я все же оставлю вам телефон, ваша компания мне приглянулась", вы в 90% случаев знали - перезвонят.

  Ответить  
вверх
Консультации от известных специалистов и авторов многих книг