Закрыть
Вход на сайт
Регистрация
Вы успешно зарегистрировались!

Перейти к обучению
Регистрация
Войти на сайт

Почему быть Full-stack разработчиком весьма круто?

15 December 2017
890
Ехал сегодня домой, размышлял о своей работе и пришел к выводу, что быть full-stack разработчиком - это ппц как круто! Сразу оговорюсь, что я буду п...

Ехал сегодня домой, размышлял о своей работе и пришел к выводу, что быть full-stack разработчиком - это ппц как круто!

Сразу оговорюсь, что я буду повествовать со своей колокольни и вам не обязательно примерять свои мысли на себя. Каждому свое, поэтому, возможно, именно вам быть full-stack категорически запрещено!

Для начала поясню что такое full-stack. Это когда вы умеет все! Рисовать дизайн, верстать, писать back-end разворачивать серваки, проектировать и запускать проекты. Короче говоря, когда вы можете в одиночку сделать проект под ключ. 

А теперь к делу. Почему быть full-stack круто?

1) Это повышает чувство собственного достоинства

Начнем с того, что уметь делать все и делать это качественно - круто! Это очень круто! 

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

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

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

Особенно сильно это чувство развивается, когда вы зарелизите первый работающий сайт на ruby on rails. Ибо самостоятельно разобраться как запустить сайт на рельсах не просто и требует много усилий, как минимум потому, что вам придется развернуть свой сервак и настроить деплой сайта. После этого испытания у вас больше нет нерешаемых проблем...

2) Вас будут ценить

Не только вы будете любить себя, но и заказчики. 

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

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

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

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

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

Все, что я описал выше является и одним огрооооомным МИНУСОМ!

Вы с заказчиком зависите друг от друга!

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

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

3) Вы можете сделать любой проект самостоятельно

Это преимущество дает сразу несколько ветвей. 

Во-первых у вас появляется возможность делать свои проекты. Допустим, вам наскучило заниматься разработкой сайтов, тогда создаете сами сайт по продаже холодильников, экономите 50 тысяч рублей на разработке и дальше занимаетесь только развитием бизнеса. Если бизнес прогорел, то вы, хотя бы, не потратили 50 тысяч рублей на разработку сайта) 

Во-вторых, делая проект на заказ вы не зависите от сторонних людей. Вы можете взять заказ на сайт по продаже холодильников и забрать все 50 тысяч рублей. Не надо отдавать 10к дизайнеру и еще кому-то, кто будет заполнять ваши пробелы в знаниях. 

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

4) Вы можете быть вольной птицей

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

У full-stack разработчика все-таки есть один большой минус. Он знает много, но по чуть-чуть. Я не знаю до глубин как браузер воспринимает css-свойства и как сделать супер-анимации на сайте. Я не знаю полностью как работает back-end и как правильно выстроить mysql-запросы, чтобы была меньше нагрузка на сервер. Я не знаю как сделать высоконагруженные проекты с заходом в 10000000 пользователей в секунду.

Это не мешает мне делать мои проекты. Но если бы за них взялись 5 узкопрофильных специалистов, то это была бы пушка! Но жизнь сложилась так, что именно я взялся их делать и сделал именно так, как научился. 

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

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

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

На фрилансе деньги крутятся именно в заказах под ключ. Если вы умеете только верстать, то далеко не уедете, только нервы трепать будете. Проще в веб-студию устроиться и получать те же самые 20-30 тысяч рублей, только без нервотрепки и стабильно. 

5) Вы можете уйти в любую область 

Преимущество вытекающее из предыдущего пункта. Если вы full-stack, то у вас есть задатки для любой сферы веб-разработки. Вы можете продолжить развивать свои навыки в дизайне, или заняться в верстке moution-дизайном, или изучить ruby on rails в доль и поперек, или научиться поднимать "тонны" безотказных серверов. 

Я как-то устроился работать в веб-студию. Сначала я проработал full-stack-ом, потом подумал что хочу развиваться именно как back-end разработчик, а потом понял что все-таки хочу быть свободным full-stack-ом и уволился) Не зашло...Но вы не я, поэтому, можеть быть, у вас получится развить один из навыком до предела.

И вот когда вы станете гуру именно одной области, то именно это станет вашей ценностью. И тогда пункт 2 будет для вас. Потому что качественные "точечные" специалисты ценятся на вес золота. Но если вы дойдете до этого уровня, то фриланс вряд ли вам будет по душе и местечко в "элитной" студии будет всегда греть вашу душу. 

6) Это отдельный уровень мышления

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

И у этих людей есть одна интересная особенность: "чмырить" всех, у кого уровень интеллекта и знания кода чуть меньше, чем у них самих. Особенно это заметно на хабрахабре. Я печатал там несколько статей и комментарии довольно одинаковы, с негативным оттенком. Лишь некоторые адекватные люди давали нормальную обратную связь. Ни в какой другой профессии я не встречал такого дико негативного отношения к другим человекам. Мне кажется, что у них просто в личной жизни все плохо и поэтому они вымещают это в чатах подобных хабрахабру. Но это сугубо мое мнение и не знаю что происходит на самом деле в их умах. 

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

Для тебя становится важным какой функционал ты пропишешь, какие крутые штуки будут использоваться, какое будущее будет у твоего проекта. Имеет ли значение как ты оформил проект, если с твоим проектом будет работать целая Россия? Конечно, если сделаете какую-то ошибку из-за которой сайт будет работать медленно или падать, то на такие ошибки необходимо смотреть, а если выбор стоит написать так "var a; a=5;" или "var a=5;", то это не столь принципиально. Но для некоторых людей, это равноценно смерти) 

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

Итог:

Резюмируя, скажу следующее: Быть full-stack-ом стоит если: 

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

В остальных случаях изучайте что-то одно и идите работать в веб-студию.

Как-то так, во такие мыслишки. А сами что думаете?