Украинское сообщество программистов

Samsung Electronics Ukraine R&D

Опубликовано 21.03.2009 в ИТ, Киев

Samsung Group (Самсунг Груп) — промышленный концерн (группа компаний), один из крупнейших в Южной Корее, основанный в 1938 году в единой Корее. На мировом рынке известен как производитель высокотехнологичных компонентов, телекоммуникационного оборудования, бытовой техники, аудио- и видео устройств. (http://ru.wikipedia.org/wiki/Samsung)

www.samsung.com/ua/

131 отзывов о компании “Samsung Electronics Ukraine R&D”

Страниц: [1] 2 3 4 5 6 7 8 9 » Показать все

  1. оценка: +9
      
    JBM

    Был я сегодня на собеседовании в Самсунге. Самсунг – великая компания, но раньше я думал, что у них нету R&D в Украине, а оказывается недавно появилось. И вот, пошел я собеседоваться в Самсунг на позицию SSE (Senior Software Engineer).

    ***

    Тут надо сделать небольшое отступление, чтобы читателю было понятно чего я вообще туда пошел. Сейчас я работаю на датскую компанию, которая исповедует откровенный XP (eXtreme Programming) в его худшем проявлении, а проще сказать – откровенный бардак, главный принцип разработки - «поехали, потом заведёшь!».

    Простой пример: окончательно запарившись с багами в двух core модулях, заказчик решает сделать массивный рефакторинг этих модулей, чтобы уменьшить tight coupling, который имелся там во всей красе, и сделать его более loose. Мне даётся простое задание: написать тесты на существующее состояние, чтобы после рефакторинга behavior сохранился прежним. Но на мой вопрос об источниках, по которым мне писать тесты, как то: требования, дизайн, или доки какие-нибудь на худой конец, мне сказали, чтобы я писал тесты по коду. Я был очень удивлён, ведь в таком случае (поскольку точно известно, что в системе есть баги), своими тестами я заставлю девелоперов повторить все баги в отрефакторенном виде. Пытался это объяснить, но меня не поняли; в общем сделал тесты, госпади прости, ребята сделали рефакторинг; что потом с этой системой было не знаю.

    Вот в таком ключе приходится работать. И такая же фигня почти в любой компании. И вдруг появляется R&D на Самсунге. А надо сказать, что мои друзья с прошлой работы ездили на проект на Самсунг в Корею, и их отзывы о корейском Самсунге супер позитивные. Деталей они не раскрывали (полиси не позволяет), но говорили что там всё очень, очень хорошо и правильно поставлено, и методики, и процесс.

    Поэтому, на Самсунг я возлагал очень большие надежды. Практически, я его воспринимал как спасенье от нынешнего экстрим программинга и краудсорсинга, который повсеместно вытеснил всё разумное. Если такая серьёзная корпорация открывает R&D в Киеве, я ожидал, что оно будет такое же как в Корее. Но я совершенно не был готов к тому, что произойдёт…

    ***

    Вакансия, на которую я собеседовался, позиционировалась как Senior Software Engineer со следующими обязанностями:
    Main functions:
    - managing all technical activities related to the project
    - developing overall software design
    - implementing software design
    - developing technical requirements
    - supervising software implementation
    - supervising quality assurance procedures
    - ensuring documentation quality
    - ensuring timely product delivery

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

    Мне было предложено написать на листе бумаги простую функцию на С, которая переводила бы число в строку:
    char*atoi (int value)

    Я немного удивился такому заходу; учитывая список, приведенный выше – явно какая-то неувязка. Но Андрей объяснил мне, что у них все должны уметь кодить, и даже проджект менеджеры у них – инженеры и тоже умеют кодить. Сейчас я понимаю, что это был первый звоночек, поскольку такая кросс-функциональность (а точнее бардак) характерна для Agile команд, но никак не для серьезного процесса, но тогда я этого не заметил.

    Ну ладно, приступил я к имплементации этой функции. Но тут стало проявляться что-то неладное. По мере того как я писал код на бумаге, ребята стали отпускать язвительные комментарии по поводу написанного. Кто писал код на бумаге, тот знает что это не самая лучшая идея – возникает много чирканины, вставить строчку в написанное – нельзя, приходится тулить её боком, в общем неблагодарное занятие. Написав функцию, я отдал эти листы с чирканиной Сергею и приготовился объяснить, что и где имеется в виду, но договорить мне не дали.

    «В общем, идея алгоритма такая…» - начал я, но Сергей прервал меня – «Та нам уже всё понятно». Сказано это было очень пренебрежительно, я был поражен таким отношением. В дальнейшем Сергей часто пренебрежительно обрывал меня, не давая завершить мысль - «Та уже ясно», «та всё с этим понятно». Я поражался всё больше и больше, удивляясь – в чем цель этого чмырения?

    Далее Сергей с Андреем «прошлись» по алгоритму, всячески выискивая и высмеивая неточности и неоптимальности. Я чувствовал, что меня избивают. В течение тех 10-15 минут, что мы обсуждали реализованный алгоритм, Сергей говорил с нескрываемым пренебрежением (к чести Андрея надо признать, что он к этому был менее причастен). Короче, мою имплементацию они зачмырили. Хотя, при этом имплементация была рабочая, и они это тоже признали.

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

    Я спросил ребят: чего мы вообще общаемся на тему ловли блох в чужом коде? Я пришел собеседоваться на синиора, а не на джуниора. Почему мы не беседуем на темы архитектур, интерфейсов, девелопмент процесса, технологий, паттернов наконец? И тут выяснилось, что они вообще не в курсе, на какую позицию я пришел!!!

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

    «Где ты учился?» - спросил меня Сергей – «в каком-то… эээ.. Херсонском? вроде?» («херсонском» было сказано с таким пренебрежением, как будто это бурса какая-то, хотя неясно что за «херсонский» он имел в виду). Я учился в ХАИ. Возможно, сам Сергей учился в университете Массачусетса, с ХАИ конечно не сравнить, но пусть даже и так, это не даёт ему право пренебрежения другими школами.

    «Компиляторы проходили?» - спросил Сергей.
    «Проходили»
    Тогда он написал на бумажке вот такую конструкцию:
    i = i+++++*c;
    и спросил «Компилятор Си это разберёт?»

    Я решил уже не сдерживаться и сказал ему: «Давай так! Как в шахматах. Вот это был твой ‘E2-E4’, теперь мой ход. Грамматики бывают GLR и LALR, к какой из них относится грамматика языка Си? Знаешь?» Он не знал. У него на лице была снисходительно-издевательская улыбка, но нужно было как-то парировать. Он не нашел ничего лучшего, чем заявить «Здесь вопросы задаём мы!». После этого у меня отпали всякие сомнения, что в _этой_ консерватории что-то _сильно_ не так!

    В общем, это уже больше походило на комедию, чем на разговор двух технических специалистов. К тому времени я уже видел, что Сергей сам «плавает» в вопросах, которые задаёт. Я прямо спросил его: зачем он это делает, зачем он задаёт вопросы, в которых сам не разбирается? После этого собеседование было закончено.

    Пытаясь спасти лицо фирмы, Андрей сказал, что это был их план – заставить человека психовать, и посмотреть как он будет реагировать. Найс трай, но увы это было не так (а даже если и так, то заниматься подобным должны эйч-ары, а уж точно не технари). То, что я видел – было тупым избиением кандидата, и никаким «планом» это прикрыть нельзя.

    Последний удар маразма был нанесён в лифте, когда мы спускались с Андреем и Сергеем. То, что я увидел в киевском Самсунге, не лезло ни в какие ворота, и совершенно не соотносилось с рассказами о корейском Самсунге! «Знаете, ребята,» - начал я задумчиво, – «мои друзья были на Самсунге в Корее, и были в восторге от того как там всё круто поставлено…» - но был опять прерван Сергеем: «Да уж, мы тут не ружья кирпичом чистим!» - горделиво заявил он. Я поразился глупости этого человека…

    ***
    После этого «собеседования» я был подавлен и разорван. Я возлагал большие надежды на Самсунг, надеялся, что если меня возьмут, то наконец-то я смогу писать софт нормально, как он и должен писаться, по науке и по методикам, и забуду об этом маразме, который сейчас творится в отрасли.

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

    Далее, с такой манерой вести собеседования – кого они в конечном итоге наберут? Будет ли это здоровый коллектив толковых специалистов? Тот же Сергей, о ком он даст позитивное заключение? – конечно же о том, на ком он получил наибольшее удовольствие от бития. Андрей был более адекватен, но и у него проскакивали издёвки. Это значит, подобный стиль практикуется постоянно. Кого в конечном итоге они наберут в коллектив? – мальчиков для бития! Тех, кто молча вынес чмырение на собеседовании, дав над собой поглумиться таким интервьюерам!

    Я читал про такое в Зорал Лабс, но там хоть интервьюеры – реально маститые мужЫки, но я никак не ожидал увидеть подобное в Самсунге, только в его самом жалком проявлении. Идя на собеседование в Самсунг, я готовился к тяжелому бою, но я никак не ожидал, что противник окажется так мЕлок.

    Всё это очень печальные признаки. Похоже, в Samsung Electronics Ukraine R&D процветает тот же краудсорсинг, что и у других. Надежды рухнули.

    ***

    Тот, кто собирается на собеседование в Самсунг – приготовьтесь к худшему. Боюсь, с вами тоже повторится то, что я описал, поэтому будьте морально готовы к унижению, если конечно вы хотите так работать.

    Про проекты они обмолвились уклончиво, сказали что «реализуют алгоритмы». Насколько я понял – пишут некий utility framework для телефонов. Точнее даже не пишут, а только собираются писать, набирают людей. Вообще, про проект не рассказали, про компанию не рассказали, сразу перешли к «экзамену». Т.е. такое впечатление, что кандидату должно быть достаточно уже того, что до него снизошли пригласить, а мотивировать его to join Samsung – не царское это дело. Я всё понимаю, на дворе кризис, некоторые вообще без работы, но нельзя же настолько цинично…

    Сотрудников оформляют на ЧП, я вот кстати этому особенно удивился; ожидал что такая компания должна людей оформлять официально. Еще один признак краудсорсинга, кстати.

  2. оценка: -1
      
    JBM

    Только что увидел ту вакансию, на которую я шел, выставленную через агентство Апейрон Систем:

    Senior Software Engineer 14500 грн.
    Апейрон Систем
    [описание вакансии полностью совпадает, добуквенно]

    Я просил $2400, это было четко указано в моём резюме, но они ориентируются на 14500 грн (что сейчас составляет около $1500).
    Кроме того, паренёк из Материалайз пишет, что они не потянули его на $1800 (вот здесь: http://www.developers.org.ua/company-db/materialise/comment-page-2/#comment-8146):
    «Не договорились: 1800 слишком большие для них деньги»

    Подозреваю, что на самом деле всё было гораздо проще, примерно так:
    - Сначала фирма назначила мне собеседование на среду, но потом перенесла на пятницу. Видимо, раздумывали брать или не брать, т.к. 2400 было явно выше бюджета.
    - Видимо, решили не брать.
    - Но вместо того, чтобы перезвонить, извиниться, и отменить встречу, они просто решили зачмырить кандидата на собеседовании и типа зареджектить его по «результатам». Видимо, извиняться гордость не позволила.

    Если это правда, то это характеризует фирму крайне негативно. Это худшее проявление цинизма, неуважения к сотрудникам, и комплекса Наполеона.

  3. оценить:
      
    Виктория Дегелер

    JBM, а по какому адресу вас собеседовали? Я знаю, что представительство Самсунга уже долгое время находится на Жилянской, интересно, там ли они собираются открывать отдел разработки.

  4. оценить:
      
    JBM

    Да, именно на Жилянской, в центре “Евразия”.

  5. оценка: +1
      
    VovaN

    2 JBM
    Я тоже был на собеседовании в Самсунге. Позволю себе пару коментариев:
    1) Я тоже писал код похожей функции. Почему то мне никто язвительных коментариев не выписывал. Может быть потому что она очень простая и я её написал за пару минут? Согласись, что что это явно задача для ОЧЕНЬ джуниор девелопера.
    2) Тоже готовился к серьёзному собеседованию. Но Самсунг видимо шерстит кадры, выбирает кого подешевле и получше нанять. Тоесть в первом туре они отрбрасывают заведомо плохие/дорогие кадры.

  6. оценка: +6
      
    eugene_n

    Подешевле-подешевле.
    Ищут парочку очень грамотных сеньоров на зарплату миддлов,
    Выглядит это все крайне несолидно.

  7. оценка: +3
      
    JBM

    VovaN
    > Но Самсунг видимо шерстит кадры, выбирает кого подешевле и получше нанять.
    > Тоесть в первом туре они отрбрасывают заведомо плохие/дорогие кадры.

    Да, я теперь тоже так думаю. Сначала я негодовал, но потом когда увидел ту вакансию в другом агентстве с указанием “цены”, которая была явно вдвое ниже моей, то понял что ребятам просто дали команду “зачмырить и отправить за ёлки”, и они её выполняли. Так что к ним у меня теперь претензий нет. А вот руководство ихнее, конечно, сильно неправо.

  8. оценить:
      
    VovaN

    >>Сначала фирма назначила мне собеседование на среду, но потом перенесла на пятницу. Видимо, раздумывали брать или не брать, т.к. 2400 было явно выше бюджета.
    Нет, что-то у них в среду видимо не срослось. Мне тоже предложили придти вместо среды в пятницу, хотя я цифру в резюме не обнародовал.

  9. оценка: -6
      
    cencio

    2JBM:
    >>высмеивая неточности и неоптимальности
    вот быстро и straighforward сваяный на коленке atoi (в коде нету проверки на переполнение), в задании на собеседовании от него сложно оживать оптимальной работы, такими задачами выявляется умение думать и писать алгоритмы, а самое оптимально решение приходит не в ограниченом по времени собеседовании, а в более спокойной обстановке

    #define SPACE_SYM ' '
    #define MINUS_SYM '-'
    
    int atol_custom(char* src)
    {
    	int result = 0;
    	char* current_symbol = src;
    	int digit_indx = 1;
    
    	if (!src)
    		return 0;
    	//let`s treat first word in string as a decimal number
    	bool first_symb_found = false;
    	// second part of the IF expression can be optimized,
    	//but it is more human readable as is
    	while(*current_symbol != 0 && (SPACE_SYM != *current_symbol || !first_symb_found))
    	{
    		if(!first_symb_found && *current_symbol != SPACE_SYM)//ignore leading spaces
    			first_symb_found = true;
    		current_symbol++;
    	}
    	if(current_symbol == src)//string not found, exit
    		return 0;
    
    	for(current_symbol--; current_symbol >= src && SPACE_SYM != *current_symbol; digit_indx*=10, current_symbol--)
    	{
    		//process negative integers, leading '-' is symbol of it.
    		if(MINUS_SYM == *current_symbol)
    		{
    			if(src == current_symbol || SPACE_SYM == *(current_symbol - 1))
    				return (int)(-1 * result);
    			else
    				return 0;//incorrect syntax
    		}
    		//convert symbol into integer, 0 is 0x30, 1 is 0x31, etc
    		int val = (int)*current_symbol - 0x30;
    		if(val 9)//it is not a number
    			return 0;
    		result += val * digit_indx;
    	}
    	return result;
    }
  10. оценка: -6
      
    escritor

    За автором замечен серьозный оверюзинг слова “чмырить” за что ему глубокий незачет.

    Глупо было полагать что в большой и богатой компании работают ангелы, все мы люди со своими проблемами и багами, может у ребят понижена самооценка вот они таким образом ее подымают, когда я работал в АджайлМайнд(Харьков) там практиковалось следующее;
    Приходил кандидат на собеседование (следует отметить что собеседование это уже вторая стадия первая это майкрософтовский тест, тоесть к собеседованию доходили далеко не дауны) собиралась группа ребят и серьозно его пресовала, после чего вся група возращалась на робочее место и дружно осмеивала соискателя в самых неприятных формах.

  11. оценка: +1
      
    JBM

    2 cencio
    > вот быстро и straighforward сваяный на коленке atoi ….

    Так в том-то и дело, что предложено было написать именно число->в строку, т.е. itoa, но интерфейс Сергей написал именно такой:
    char* atoi(int value)

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

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

    char* atoi(char* outbuf, int value)

    Сергей сказал что лучше не так, а объявить буфер внутри функции, но статиком. Я возразил, что тогда буфер будет не thread-safe. Сергей сказал, что есть способ объявить статиком, но thread-local. Я такого способа нарезки памяти в С не знаю, и попросил его “вот тут по-подробнее”. Он уклончиво что-то ответил, типа “все крутые фирмы давно уже написали соответствующие макросы”. Короче я понял, что он слышал звон краем уха.

    Я им заимплементил алгоритм, который пошагово получает дробную часть от деления на 10, переводит её в ASCII с помощью +’0′, и скидывает в свой внутренний буфер. Таким образом, число получается “вывернутое” задом наперед, поэтому перед возвратом этот внутренний буфер перебрасывается в выходной буфер в обратной последовательности.

    Таким образом, на каждую цифру числа получаются следующие “расходы”: 1 целочисленное деление, 1 целочисленное умножение, и пересылка 1 байта. При этом, выполняется только столько проходов цикла, сколько реально цифр в числе.

    Однако такая имплементация вызвала у них бурю негодования, во-первых потому что она двухпроходовая, а во-вторых потому что внутренний буфер я объявил на 1024 байта :) С буфером признаю, был неправ; обсудив, мы выяснили что можно было всего 11 байт. Однако насчет двухпроходности критика необоснована!

    Я посмотрел в инете “хрестоматийную” имплементацию, она таки-да, однопроходная, и видимо именно её имел в виду Сергей. В ней на каждую цифру приходится только 2 целочисленных деления, без пересылки. Однако, в ней всегда выполняется фиксированное число проходов цикла; в случае с 32-битным интеджером их получается 10.

    Таким образом, на каждую цифру моя двухпроходная имплементация отстаёт от хрестоматийной на 1 пересылку на длинных числах, НО на коротких числах - обгоняет на 2 операции деления. Если выбирать из двух зол, то пересылки предпочтительнее арифметических операций (тем более на коротких массивах - там всё в основном в кеше процессора перекидываться будет). Поэтому, считаю что я всё-таки не такую уж фигню там написал, как они мне заявили!

    В общем, учитывая ошибку с atoi/itoa, ошибку с интерфейсом, думаю Сергей сам не очень хорошо разбирается в вопросе. Кроме того, он мне сам сказал, что никогда не работал ни с AVR, ни с ARM - т.е. я так понял он НЕ эмбеддщик. По его словам про thread-local могу предположить, что до этого он писал на Visual Studio. Таким образом не совсем понятно, зачем выставлять такого специалиста собеседовать кандидата, у которого в резюме написано “3+ years intensive experience in Embedded development”. Естественно, вот вам и результат.

  12. оценка: +1
      
    cencio

    2JBM : нужно позитивней относится к собеседованиям, а не искать ошибки у интервьюверов.
    относительно thread-local memory, то скорей всего это TLS - thread local storage (http://en.wikipedia.org/wiki/Thread-local_storage )
    btw. на ARM подобное тоже может работать (это фирча больше скорей зависит от ОС а не от проца)
    а относительно задачки, то я не доглядел в параметры :) не нравиться мне решения кучей умножений/делений на одну цифру, немного позже наваяю кусок кода с другим решением, может кому-то пригодиться :)

  13. оценить:
      
    llex

    JBM
    Или, заполнять буфер с конца и возвращать сдвиг на начало числа, например.

    Дело в том, что каноничная функция имеет интерфейс “void itoa(int value, char* str, int radix)” и таки переворачивает строку

  14. оценка: +26
      
    kned

    Как же всё это убого. Хочется кое-кому напомнить, что шарик-то круглый. Сегодня какая-то офисная крыса, в жизни не написавшая ни строчки кода сказала тебе: “Придёт человек на собеседование, затопчи его.” И ты топчешь. А завтра эта же гнида выбросит тебя на улицу и ты придёшь на собеседование к человеку, которого ты унизил.
    “собиралась группа ребят и серьозно его пресовала, после чего вся група возращалась на робочее место и дружно осмеивала соискателя в самых неприятных формах. ” Я в шоке. Никому ничего не напоминает?
    Какая коллегиальность? Какая гордость за свою профессию? За с”аный доллар готовы с г”вном друг друга смешать. Стыдно.

  15. оценка: +1
      
    мегапокемон

    Не стоит переоценивать корейский офис Самсунг R&D, там далеко не шоколад.

Страниц: [1] 2 3 4 5 6 7 8 9 » Показать все

Подписаться, не оставляя комментарий

Если ваш комментарий сразу не появился, значит он ожидает модерации. Пожалуйста, дайте время админу его отмодерировать.

Оставить комментарий

Вы должны зайти, чтобы отправить комментарий. » зайти.

Навигация

Компании по городам

интернет магазин бытовая техника магазин Laptoper