Разочарования в работе программиста, к которым нужно быть готовым

Источник: Simple programmer Кофе-брейк #10: разочарования в работе программиста, к которым нужно быть готовым; PHP или Java: что лучше для веб-разработки - 1Сфера разработки — один из самых популярных вариантов карьеры для технарей. Здесь нужно меньше научных знаний, чем для инженера на атомной электростанции, а зарабатывать можно больше. К тому же, иногда можно работать дистанционно. Но, несмотря на очевидные преимущества, здесь есть и некоторые недостатки. Проблема даже не в их наличии, а в том, что многие новички в сфере программирования не допускают даже мысли о том, что в этой прекрасной работе есть свои минусы. Вы устраиваетесь джуниором и поначалу всем довольны: наконец-то можно использовать полученные на учебе навыки, да еще и платят хорошие деньги. А затем реальность бьет вас по голове. Работа оказывается не такой идеальной, как ранее вам представлялось. Мы постарались собрать те вещи, которые чаще всего огорчают начинающих программистов. Мы это делаем не для того, чтобы вы держались подальше от этой профессии – просто вам следует знать немного больше о том, что вас ожидает.

Программирование — это скучно

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

Постоянная учеба

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

Ненормированный рабочий день

Что думают люди о работе программиста? Они представляют себе человека с ноутбуком, который сидит на пляже, потягивая коктейль, работает по 4 часа в неделю и зарабатывает при этом $200 тысяч в год. Они представляют группу друзей, играющих в пинг-понг в просторном офисе, прежде чем вернуться на рабочее место с шикарным видом из окна. А чего люди не представляют? Никто не думает, что программисты сидят часами за своими рабочими столами, вчитываясь в документацию. Никто не думает, что для того, чтобы писать код три часа, нужно потратить еще пять часов на придумывание решения. Люди не понимают, что программиста несколько дней подряд могут попросить поработать сверхурочно, потому что менеджеры наобещали клиенту золотые горы, а разгребать приходится вам.

Человеческий фактор

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

Вы встречаете людей, которые умнее вас

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

И о хорошем

Эта статья — просто «пугалка». Честно говоря, большая часть описанных здесь проблем подстерегает вас в любой быстрорастущей и денежной отрасли. Проблема в том, что многие люди считают разработку софта просто райской работой. Но на самом деле это просто работа. Эта работа может быть интересной, но только если вы не строите иллюзий в отношении нее.

PHP или Java: что лучше для веб-разработки

Источник: Dev.to Кофе-брейк #10: разочарования в работе программиста, к которым нужно быть готовым; PHP или Java: что лучше для веб-разработки - 2.Net или Java , Python или PHP, PHP или Java? Независимо от того, какие языки программирования вы выберете, всегда будет две армии разработчиков, которые уверены в превосходстве одного языка над другим. Правда в том, что нет хороших или плохих языков. Есть языки, которые лучше или хуже подходят для определенных задач. Мы собираемся доказать это, используя два популярных языка программирования — PHP и Java. Давайте подробно рассмотрим сходства и различия между Java и PHP, чтобы понять, где каждый из них более предпочтителен.

PHP и Java: типы и цель

Оба эти языка являются объектно-ориентированными (PHP также может считаться функциональным). PHP — это серверный язык сценариев, первоначально созданный для веб-разработки, но теперь он используется и для других целей. Java имеет схожее предназначение. Он также поддерживает динамические веб-приложения, но это универсальный, компилируемый язык. Основная задача Java – создание кода, который можно использовать на разных платформах. Код выполняется на любом устройстве, где установлена ​​виртуальная машина Java (JVM). PHP является интерпретируемым языком, что означает, что он работает «на ходу». Код (скрипт) отправляется интерпретатору, переводится на машинный язык и сразу исполняется. Java – компилируемый язык, который работает следующим образом: исходный код преобразуется в двоичный язык, чтобы JVM могла его понять. Затем JVM адаптирует его к операционной системе конкретного устройства. Еще один момент, который нужно учесть, — это сложность поддержки, обновления и внесения изменений в код. С компилируемыми языками все эти операции более сложны, так как после каждого изменения код должен быть перекомпилирован. Вот почему PHP проще и быстрее редактировать.

Время разработки и стоимость

Главное задание любого бизнеса — вывести качественный продукт на рынок как можно быстрее и дешевле. В целом, разработка программного обеспечения на PHP занимает меньше времени и средств, разработка идет проще и быстрее, чем у Java. Но следует помнить, что определенные задачи лучше решаются на Java. Скорость и стоимость разработки не должны быть главным фактором, который следует учитывать при выборе языка программирования. Если, конечно, вы не планируете жертвовать качеством ради экономии времени и денег.

Безопасность

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

Производительность

Опять же, сравнение производительности PHP и Java не даст однозначного ответа, кто из них лучше — оба языка могут использоваться для разработки надежного и быстрого программного обеспечения. Скорость PHP стабильна, поскольку каждая строка кода выполняется сразу. Но в решении более сложных проектов Java надежнее.

Инструменты

Поскольку PHP и Java не только широко используемые, но и зрелые языки (оба появились в 1995 году), у каждого из них есть большой выбор инструментов, сред и библиотек. При этом Java немного опережает PHP. Этот язык предоставляет более широкий набор инструментов отладки и API. Последний фактор особенно важен при создании сложных проектов для предприятий, поскольку позволяет интегрироваться со многими внешними и сторонними платформами.

Вывод

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