7C3
@7C3
PHP-программист

Какие ЯП не требуют кучу прикладнухи для устройства на работу?

Всем привет!
Уважаемые программисты, подскажите, какие из востребованных языков программирования и направлений (hardware\web\desktop\mobile\etc) не требуют знания кучи дополнительных технологий?

Поясню на примере:

PHP-программисту устроиться на работу, зная только PHP, практически нереально. Нужно, часто, знать HTML, JS, jQuery, верстку, какой-то из PHP-фреймворков, MySQL, MSSQL.

JS-программисту почти то же самое - HTML, jQuery, AJAX, JSON, Node.js, верстка.

Веб-дизайнеру - все то что выше, плюс PhotoShop, SEO, SMM.

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

Большое спасибо за ответы!
  • Вопрос задан
  • 4124 просмотра
Решения вопроса 4
Я постараюсь подключить философию, примеры и "как если бы я говорил в баре с вами".

ЯП - это инструмент. Инструмент всегда взаимодействует с объектом и со средой. Соответственно, вам точно нужно что-то знать про объект и уметь пользоваться инструментом внутри среды, а это потащит дополнительные знания, назовем их "естественными" зависимостями. Насколько глубоко их нужно знать? Тут ответа не бывает: настолько, насколько нужно и хочется. Тут важен баланс и акцент. Если нет строгих параметров на уровне разума, нужно верить интуиции, потому что больше нечему. Для JS-программиста JSON/jQuery/AJAX - это естественные зависимости, их в любом случае не получится обойти. Даю зуб, что вам хватит вечера и немного гугла, чтобы стать чуть ли не LIKE A PRO в этом. Это все форматы хранения данных, либы, парадигмы. Это примерно как прочитать состав у шоколадки по сложности и входному порогу. Скорее всего, вас пугают сложные слова. Примерно как сказать "НАПРАВЛЕННЫЙ АЦИКЛИЧЕСКИЙ ГРАФ", и вы сразу знаете теорию графов, хотя с практической точки зрения суть настолько элементарна, что аж страшно, а вы будете долго прокрастинировать и искать что попроще.

Это что касается близких и неизбежных естественных зависимостей. Но есть и более далекие, но тем не менее все равно естественные, их знание позволяет развиваться, иметь более полную картину в голове. Вот есть гитарист, он может быть просто технарем. Есть гитарист-музыкант, который чувствует дорийский лад в блюзе. А есть гитарист-музыкант-звукорежиссер, который наконец-то понял, как надо жирно сводить гитары и теперь в симбиозе со звукарем. Кто из них самый крутой, очевидно.

Вы можете просто верстать (html/css) и игнорировать программирование в целом. Но естественная среда противится: вы уже (!) пишете на декларативном языке, неплохо было бы узнать об этом подробнее (о языках или даже о типизации), тем более, что крайне близко к вам находится интереснейший язык js, а там моментально вылезут проблемы связывания html и js, разные подходы к этому, целые парадигмы и фреймворки; и вот вам выпадает интересная задача по анимированию svg, вы курите мануал по нужной либе, читаете что-то про reflow/repaint, внезапно узнаете что-нибудь про селекторы. И через какое-то время, будучи все тем же верстальщиком, вы видите архитектурный косяк дизайна, который очень неудобно укладывается в используемые технологии, предлагаете его пофиксить и спасаете команду от факапа через месяц, когда какой-нибудь транзишн наложится на какой-нибудь position: fixed и еще и в Safari упадет анимация и только там, а тут и новая тудушка: "Переделать, нафиг, всю шапку, чтобы ок было". Что-то изменилось в мышлении и картина стала полнее. ВНЕЗАПНО вы уже и инженер, можно сказать, ЗП растет, все дела, рутины меньше стало.

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

Подведу тут черту: естественные зависимости - это норма, а суть в инжиниринге. Можно двигаться по зависимостям дальше. У вас есть интервал, где есть минимальный порог, ниже которого нельзя, и максимальный, где вы "мастер на все руки", что тоже плохо. Между минимальным и максимальным порогом можно двигаться. Взять те же сети: разворачиваете приложение, видите линуху, настраиваете сеть. Можно немного заморочиться и прочитать про основы маршрутизации, буквально 2 вечера, можно еще про сетевой стек в линукс, еще 2 вечера, и уже будет во много раз проще. Кроме того, возрастет культура в целом и если вы программист на бэке, то вам будет проще взаимодействовать с админами. Про OSPF, очевидно, читать не надо, важен баланс. Баланс - это понимание того, на что у вас акцент (вы программист? какой? фронт/бэк? насколько важны сети/ос? проектируете бд? верстаете? интересен ли прикладной кодинг под какую-то ос и так далее...) и насколько интересны естественные далекие зависимости выбранной области.

Так вот, теперь у нас есть естественные зависимости, инжиниринг и баланс между порогами. А не php/jquery/html/css.

Важно также отметить, что все очень быстро развивается сейчас, а это еще один аргумент, что привязываться к инструменту не стоит. Кто-то может сказать, мол, взять тот же js, программирование на нем - это целая парадигма, иной подход, свои фичи. Это так, но дело тут не в js, а в целом в динамичных/интерпретируемых языках.

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

А теперь, собственно, выводы:

1) Вакансий крутых много, надо пробовать. Нужно только отличать близкие и необходимые естественные зависимости от мастера на все руки. Я считаю, что мастером на все руки нужно поработать хоть однажды, чтобы просто понять, почему это плохо. Но зависимости будут всегда, и это норма. Вы перечислили слишком радикально, конечно.
2) Себя пилить под вакансию не нужно. Нужно просто идти туда, где интересно, всегда стараться быть инженером и не убить в себе искусство (то есть не бояться делать так, как кажется правильно, чтобы либо убедиться в правоте, либо ошибиться и стать круче).
3) Не нужно думать в стиле "а что если завтра рубионреилс развалится, комьюнити разойдется, вакансий не будет, что я буду делать". Вы же инженер. У вас опыт в проектировании IT-систем, перейти на что-то смежное, если будет понятно, что технология умирает, не составит труда.
4) По естественным зависимостям нужно двигаться по мере интереса, вы станете от этого только лучше.

Это, конечно, если вам действительно все это интересно. Все это области, очень близкие к искусству, и тут надо любить все это делать.
Ответ написан
barmaley_exe
@barmaley_exe
Никакие.

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

Вообще, в области server / desktop / mobile очень сложно уйти далеко без, как минимум, следующего:
  • Объектно-ориентированное программирование и проектирование — ведь код не должен быть говном
  • Параллельное программирование — ведь делать нужно много и быстро, а у нас уже 10 лет как многоядерные машины есть
  • Сети — ведь нельзя жить без интернета
  • Базы данных — ведь данные надо где-то хранить, и хранить надёжно


hardware не комментирую, но там ещё хардкорнее.

Собственно, для программиста не столько важно знать какой-либо конкретный ЯП, а важно владеть технологиями разработки. ЯП, конечно, входит в это множество, но им оно совсем не ограничивается.
Ответ написан
gadfi
@gadfi
https://gamega.org
кофе носить ...
А если серьезно то когда деревья были зеленее, небо синее, мои глаза не имели нежнорозовго оттенка и под ними не было мешков, а фраза hello world значила для меня привет мир на буржуйском языке, никак не ассоциируясь с первой программой любого программиста ─ уже тогда просто знания языков было не достаточно.
Возможно если вы классно знаете с++ вам этого хватит, но как вы можете классно знать с++ не зная как работать к примеру с сетью или портами ? И так всюду, чуть глубже копнуть и уже оказывается нужны дополнительные знания.
php без базового знания html ─ что вы с ним делать то без него будете ? окей это реально, встречал удачные архитектурные решения когда бэкэнд хорошо продуманный rest сервер, которому не принцыпиально кому он отдает данные, веб клиенту написанному на js(да да с использованием знания html, css..) или мобильному клиенту. Только для написания такого сервера нужно знать что такое rest и с чем его едят, базы данных и многое другое и да json/xml в том числе ) вас как джуна самостоятельно никто на такое не поставит
Вы выделили JSON отдельным пунктом, что немного странно, хотя многие компании действительно часто пишут в вакансиях знания json/xml ... бред честно говоря, времена когда приложения варились в собственном соку прошли, мне трудно представить области(хотя они конечно есть, но там хватает других очень специфичных знаний) где обходятся без них, даже контролеры сейчас все чаще работают с сетью ...
Для джуна требуется не так уж много, но знания одного языка как правило маловато
Ответ написан
Комментировать
@MarkusD Куратор тега C++
все время мелю чепуху :)
LUA скриптер может знать только LUA и работать без затруднений.
Python скриптер может знать только свой ЯП и спокойно работать.

Уяснить тебе стоит одну очень важную вещь. Один лишь нужный ЯП знать для работы может только скриптер.
Для разработчика-же крайне важны знания как можно более широкой информационной периферии своей области.
Ищи игровые студии/компании которым нужны LUA/Python скриптеры. Но запомнить надо еще одну вещь - для очень многих людей это дорога без возврата.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@AlexLIn
Нету такого. Хотя ... в макдаке можно знать только как работает касса. Хотя и там придеться знать как нужно обращаться с покупателями ...
Ответ написан
bobrovskyserg
@bobrovskyserg
Ваш вопрос выглядит противоречиво:
что же это за язык, если на нём пишут толпы профи, но результаты их деятельности в виде фреймворков/библиотек отсутствуют?

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

)))
Ответ написан
customtema
@customtema
arint.ru
Просто совет.

Не надо называть себя программистом, пока вас смущают такие вопросы. Любая новая технология - это 3-5 дней на освоение до практического применения, если за плечами уже имеется соответствующий багаж.

Учитесь дальше. И учтите, в этой работе учиться приходится постоянно.
Ответ написан
Комментировать
uam
@uam
Каждую прикладуху можно довольно легко освоить. А чтобы потом не хвататься за голову, следует учить прикладухи по мере их выхода и их актуальности
Ответ написан
Комментировать
AxisPod
@AxisPod
Позвольте слегка перефразирую ваш вопрос: Какие автосервисы не требуют умение пользоваться отвёрткой для устройства на механика.
Ответ написан
Комментировать
@cthulhudx
Никакие
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы