Pull to refresh
11
0
Теймур @teimur

Пользователь

Send message

 к сожалению, нужно высшее образование)

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

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

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

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

А вы как считаете зачем оно нужно по факту и почему его требуют?

Наш принцип такой: если вы что-то используете - вы должны понимать, как это работает.

Ну если только так, то да. Было бы очень тяжело работать с тем что ты не понимаешь)

А ответили-то Вы что на этот вопрос? Потому что из общих соображений очевидно, что это выведет 3.

Ответил я

var a=3;
console.log(a)

Над чем и посмеялся собеседующий и сказал что я не прошел собеседование.

Есть куча собеседований, где спрашивают то, что автор вопроса прошел вчера, или какие-то детали,

Так вот суть в том, что где платят джуниорам от 3500$ требуют таких тонкостей, и я туда не подхожу, и не могу предугадать вопросы. Но конечно есть и простые вакансии, куда я аж влетаю, но, работы много, платят мало...

Вот сразу интересный момент. Сколько ни делал разных чужих проектов и своих я не использовал. И я не знаю ответ на него.

document.getElementsByClassName('btn btn-buy');

Сразу, 5 секунд открываю в гугле и вижу ответ, возвращает все элементы которые содержат class="btn btn-buy" причем неважно в каком порядке, но должны содержать все.... Но вы уже меня не возьмете, потому как я кучу таких методов не знаю наизусть. Да и вообще мне только раз попадался модуль в котором используется нативный javascript, в основном на этом месте JQuery. Мелочь, а уже не подхожу... Вот именно об этом я говорил. Тут зубрить нужно, а потом придется поневоле забыть. И даже сейчас я это уже узнал, пройдет 3 дня и я не отвечу на этот вопрос, так как уже голову займут реальные вещи. На мою работу это не повлияло бы ни как, если вы реально используете нативный яваскрипт для браузера, то без проблем, 2-3 дня и я все буду помнить, пока не перейдем на другой проект без этого. И вот я такой прихожу, у меня куча проектов, и заваливаюсь на первом же вопросе.... А такого было не мало. И никто не думает что человек запомнит эти методы на раз два, он их не помнит потому как не работает с ними сейчас. Меня даже заваливали на методах console, так как я знал только log....

Еще пример. Я в свое время изучал детально яваскрипт по книге "Дэвид Флэнаган JavaScript Подробное руководство" И там есть детальное описание необязательной точки с запятой, и я детально все изучал и практиковал на тот момент.

Но на одном собеседовании меня спросили

var a
a
=
3
console.log(a)

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

var a; 
a=3;
console.log(a)

Я просто не встречал на практике ничего подобного, а если бы встретил до того как зазубрил просто бы гугленул разок и все, но встретить не пришлось.... Таких моментов которые я забываю уйма, не представляю как это исправить.Например, у document больше 150 свойств и методов, и если в одной компании какие-то используются часто, то не факт, что в другой компании это так же. Перед собеседованием не говорится какие будут вопросы. Так как его пройти?

Видимо у Вас очень хорошая компания попалась, и как я понимаю вы там находитесь в офисе. А я вот все пытался найти удаленно. И вот нашел, сейчас у меня на самом деле две с половиной работы. И моя универсальность состоит именно в том что я описал. И даже настройка OpenVPN, настройка микротиков, создания VLAN, работа на сетевом уровне с пакетами, парсинг всяких маркетплэйсов, создания различных веб приложений, интеграций, и еще много разных технологий, что-то знаю хорошо, что-то забываю, а что-то изучаю, работать приходится много, вплоть до 16 часов в сутки, и выходных так же нет. Но самое что тут важное, за это платят, и бывает (очень не часто) что я могу и 20 000$ заработать за месяц, но это было пару раз. В такие моменты я просто не могу отказаться от работы. Вот в голове и путаница, платят то за одно, а на собеседованиях которые проходил я, вопросы были совсем другие, отсюда и вывод я сделал уже давно, что до программиста мне далеко. Так как собеседования показывают что нужно знать то что я либо забыл, либо даже не использовал. Уровень моей неуверенности в себе у меня стал очень большим....

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

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

Вот я опишу вчерашнюю задачу которую мне нужно было сделать как мне сказали "еще вчера". Есть 30 select элементов которые исходят из библиотеки selectize.js. У них у всех одинаковые options, задача в том что бы при выборе одного значения у одного select, эта option исчезала у остальных, и появлялась если выбрать другую. Звучит просто, пробежался по всем селектам и удалил все ненужное, и добавил нужное, но на деле оказалось что с selectize.js не все так просто, так как нужные функции не документированные, не удалишь элемент просто так и не добавишь. Пришлось гуглить, и нашел не документированные функции которые косвенно помогли это реализовать, но потратил время....

Я это написал что бы продемонстрировать за что мне конкретно платят. И дополню тем, что это старый проект который я не трогал с сентября прошлого года. И selectize.js используется только там, так захотел разработчик, который начал тот проект. Я же использую semantic ui. То есть мне не резонно изучать к примеру selectize.js. Запоминать какие там у него методы и т.д. Так как завтра меня попросят сделать что-то вообще в другой библиотеке, о которой я может и не слышал. За это мне платят.

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

Пример с промисом это завал одного моего собеседования на джуниора с ЗП 3500$ в иностранную компанию. Разговор был на английском, до этого я сделал 3 задания и справился на время, а с промисом я сказал что не знаю как решить. И даже подозреваю что я чего-то не понял, так как на английском я очень плохо разговариваю. Тогда я сильно разочаровался. Но потом начал разбираться, но бросил, так как были другие собеседования.

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

1) У вас в компании реально день изо дня делают такие вещи как на пример filter, reduce, map. И готовых свободных аналогов точно нет. Можете привести пример?

2) Я хочу привести такой пример на отстраненную тематику, но схожую по смыслу. В свои 18 лет, у меня был старый автомобиль мазда 90 года. Так вот денег тогда толком не было, но на ней сломалось сцепление. И мне пришлось изучить эту тему, и отремонтировать его самому. Сделал я все хорошо. И сейчас если меня спросить, "знаешь ли ты как работает сцепление?" я отвечу да. Но тогда вы дадите мне сцепление в разобранном виде, инструменты и скажите собрать его и установи на тот автомобиль, но только вот болты будут без резьбы, нарежешь ее сам, а вместо пружин проволока, вон тебе станок, рассчитай и сделай пружины сам, все это на время и т.д. То я вам скажу что я не справлюсь, даже если резьба и пружины будут готовы. Но пройдет какое-то время, я практикуюсь, и стану профи в этом деле. Но потом я узнаю что за это все платят сущие копейки, и всегда сцепление идет готовое с болтами и пружинами! И представим что я изучил полностью автомобиль, запомнил все (я гений) и прихожу на работу. Меня берут, но в основном я просто меняю чип на блоке управления и прошиваю его, и за это платят, так как это востребовательно. Проходит пол года, а я уже забыл как собирать сцепление. Но моя компания закрывается, и я ищу работу по перепайки и прошивке чипов. Нахожу ее, а меня там просят собрать уже двигатель... И только после этого я смогу паять чипы.  То я задам вопрос, зачем я изучал как собирать сцепление? Переводя это все по нашей теме. (тот же чип будет поиском и перекрашиванием кнопок, сцепления поиском гласной буквы в словах, двигатель промисом) Зачем мне знать как написать тот же промис, когда я легко могу им пользоваться? И платить мне будут за его использование, а не изобретение велосипеда, с учетом, что в основном я буду селектить разные DOM элементы и юзать события?

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

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

Возможно эти все непонимания у меня из-за того что я не работал в крутой компании. Но очень интересно ваше мнение.

Отвечу сразу на 2 комментария.

Сейчас я работаю удаленно, плюс на меня работают мои проекты, в месяц получается вытягивать 2500-3000$. Но были проекты по знакомству где и во много раз больше заработал. Я оцениваю хорошесть программиста в его затрачиваемом времени на работу и оплате труда. И 3000$ по различным сайтам вакансий, это ниже джуниора. Могу даже поискать и примеры скинуть. Если человек работает по 16 часов в сутки и при этом его ЗП 3000$, я не назову такого программиста хорошим. Уверен что есть программисты которые знают яваскрипт и алгоритмы просто по памяти и пишут с закрытыми глазами, но получают максимум 2к$....

а что Вам мешает стать хорошим программистом?

Для начало что такое хороший программист для меня. Хороший программист получает от 10 000$ в месяц на руки. И это в каком нибудь мелком городе, удаленно.

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

Я просто физически не успеваю подготовится ко всем вариантам собеседований.

Есть еще одна беда которая мне не дает стать хорошим программистом, это память. Я проходил много собеседований, много заваливал. А вот были собеседования где меня брали на работу, и собеседования были различне, например в гугл докс просили писать код на время, под типу вашего, работы со строками, оптимизации функций, и я проходил и устраивался на работу. Но обноруживал, что все это никогда не применяется на практике именно в той компании, да на этой работе я реально наизусть изучил как селектить элементы и работать с событиями, но я уже забыл алгоритмы. Да и работа была однообразная, и оказалось есть потолок зарплаты, и он далеко не для хорошего программиста. И так случалось много раз. Но компании обещали золотые горы...

А как я проходил такие собеседования, это наверное не обычно. Я проходил по сути не благодоря памяти, а распечатал на листках все основные функции и определения, и развесил их вокруг себя. Таким образом с легкостью писал функции в том же гугл докс, где требуется обработка строк, массивов, оптимизации sql. И даже сейчас когда программирую у меня так же вокруг висят те же листы, что ускоряет мою работу.

Немножко примеров,

Было время когда я делал проект с докером, и зазубрил все его команды, обширный список, пользовался ими около года, проект закончился, через пол годика опять проект с докером, и я обнаружил что я все забыл. Я не забываю саму суть, но забываю команды, функции, параметры, методы классов. Я всегда пользуюсь в основном табом в линукс, а в IDE пользуюсь ctrl+space. И даже когда я что то зазубриваю, я забуду через какое то время.

Дальше как пример приведу роуты в laravel. Я один раз их написал и забыл о них на веке... Если где что дополнить, взял шаблонно и все, у меня проекты на laravel, а я вам не смогу рассказать как там устроены роуты, так как не помню просто в деталях как там устроены мидлвары, префиксы групы и так далее... И написать без справочника вряд ли смогу что то замудренное.

В SQL я постоянно забываю различные моменты. Вот хоть убей, суть помню, как написать нет...

понимаете, в нашей компании от хорошего программиста, помимо знания собственно языка и базы, требуется еще внимательность и трудолюбие

И это просто отлично! Если зарплата соответствует. На моих работах я всегда все успевал вовремя, а вот оплата моего труда за мной не успевала.

И принципиальная разница между typeof и выборкой элементов, обработкой событий и отправкой данных на сервер состоит в том, что последними тремя вещами фронтендер занимается каждый день, 80% своего времени.

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

А что касается уровня абстракции - то хороший мидл понимает, какой примерно класс задач с хорошей вероятностью умеет решать человек, если он может вручную написать filter-map-reduce.

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

Лет 8 назад я на c++ решал задачи со связаными списками, сортировками. Сейчас уже ничего не вспомню.

Если человек не понимает, как вручную написать filter - то задачи этого класса он не решит никогда.

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

 И все равно какие-то смежные технологии всегда пригодятся - Websocket там, например.

Всегда мечтал на практике использовать Websocket. И делал кучу домашних самоделок с ним, но ни разу за реальные деньги, и соответственно все забыл...

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

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

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

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

К сожалению мне никогда не платили за то что бы я находил глассные буквы и перекрашивал их, или вручную велосипедил функцию map, reduce и прочие массивов. Я не пройду собеседование, не то что на джуниора, но даже и на программиста, несмотря на то что у меня есть проекты которые продаются и приносят деньги, магазины, интеграции маркетплэйсов и т.д. К сожалению мне приходится работать на javacript (node js и его библиотеками, react, vue, jquery, нативным javascript), php (laravel, нативный php) python (django, Flask). И мой мозг просто не в состоянии запомнить все методы работы со строками, массивами и т.д. этих трех языков. Они путаются в голове и забываются. Из за чего приходится просто открывать справочник. И на собеседовании я врятли точно вспомню как пишется та или иная функция.

Пример, как узнать тип на трех языках

  • PHP: gettype($x)

  • Javascript: typeof x

  • Python: type(x)

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

Я так и не смог найти работу где платили бы строго за знания нативного javascript.

Если я разбираюсь в бизнесе, зачем мне работодатель?

Если я умею успешно проводить переговоры, зачем мне работодатель?

Если у меня есть оффер на 4к, зачем мне работодатель?

Со всеми этими знаниями и умениями, работодатель, это я!

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

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

Во первых непонятно зачем…
Во вторых если предположить что для спортивного телосложения, то где правила питания? Можно я буду съедать по 2 пицы 40 см в диаметре, 3-6 шаурмы, пару бургеров, запивать все двумя большими редбулами, и под вечер литр коллы? При этом я все это буду делать, и буду спортивным и красивым?
Отличный пост. Попробую сделать подобное на FreeBSD.
Полностью согласен с автором поста.
То что нужно!
Хочу задать вопрос про образования Вам.
Почему за границей учат, и дают огромный опыт в работе.
У нас же учить не должны, и большинство программистов сделав пару никому не нужных самоделок раздули о себе самомнение?
В чем плюсы этого по Вашему?
Точно! Особенно когда ты родился и живешь в горах до 18 лет, и электричество видел только во сне, ну и слышал по рассказам. Вот тогда и становятся программистами, верно!
Поверьте, эта правда, и не только у автора…
Этот пост поймет только человек который всегда стремится достичь большего, не останавливаясь на достигнутом и родился в маленьком богом забытом городке.
Автор описал все очень красиво и без обмана, показал правду жизни такого программиста как я сказал выше.
Человеку родившемуся в столице не понять написанного…
Автору выражаю свое уважение! У меня почти все так, только с образованием совсем по другому (Я сам учился изначально) И в столице я остался.
Я давно понял что меньше работы — больше зарплаты. И это важно, так как ты не живешь с мамой и папой, и квартиру или дом тебе никто не подарит.
Прочитал пост и все комментарии. Видно что понятие «знание математики» просто очень расплывчато!
Одно дело знать как решать правильно поставленные математические задачи, со школы и института.
А вот:
  • Уметь найти нужный математический метод решения поставленной задачи.
  • Уметь правильно поставить математическую задачу из имеющихся данных.
  • Уметь решить её, и изложить решение.
  • Уметь запрограммировать решения для общих случаев.

Это уже совсем иное! Именно это нужно программистам, по моему опыту.
Я не плохо работаю с комплексными числами, но не могу себе представить как их использовать в реальной жизни.
Отличный пост, нужный.

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity