Как я стал старшим разработчиком Javascript
[
](
Камило МонтойяЗаблокированоUnblockFollowFollowing
16 октября 2017 г.
Я хотел быть физиком но по какой-то причине программирование пришло в мою жизнь и изменило ее в один из самых тяжелых для меня моментов.
Преподаватель из школы физики рассказал мне о работе по созданию кинематических симуляций в Java-апплетах и попросил пройти его курс по основам программирования на Java. Я открыл для себя большой новый мир, и мне это удалось.
Это было время, когда я решил быть экономически независимым, я открыл бар с моим лучшим другом, у нас все было хорошо, и это был успешный бизнес для такого неопытного парня, как я. Мой отец был против этой идеи, и мы долго спорили, «это не та жизнь, которую я хочу для своего сына», — сказал он. Я решил переехать из родительского дома. В то время я знал любовь всей своей жизни и попросил ее переехать и начать наш дом.
Наша экономика была не очень хорошей, ситуация с барами была не очень хорошей, и у нас начались проблемы с нашими доходами. Я понял, что физика недостаточно хороша для жизни в Колумбии, и бросил университет, также возникла проблема, что я не могу работать в физической школе программистом.
Это плохое время заставило меня браться за работу, которая мне не нравилась, я работала в колл-центрах и была очень недовольна этой работой. Моя девушка всегда поддерживала меня, я не знаю, что делать, если бы я не был с ней. Она усердно работала, пока я пытался понять, что делать со своей жизнью.
Я решил начать несколько курсов по программированию в малоизвестных институтах, выучил Visual Basic и полюбил программирование.
Было очень трудно найти работу в области программирования, потому что я был очень неопытен, а здесь, в Колумбии, если у тебя нет университетского диплома, ты никто.
У нас с отцом снова завязались хорошие отношения, и он помог мне профинансировать мой первый семестр системной инженерии (эквивалент информатики).
Я всегда был человеком, который пытается постоянно двигаться вперед. Я начал искать свою первую официальную работу программиста. Все колумбийские компании отказали мне, потому что у меня не было диплома. Для них (владельцев и менеджеров колумбийских компаний) ты можешь быть худшим программистом, но если у тебя есть диплом инженера, то этого достаточно. Я не уволился, чтобы начать заниматься программированием, и безработным понадобилось около года. В то время моя девушка все еще поддерживала меня, она лучший человек в моей жизни (мы все еще вместе после 13 лет отношений, и это человек, которого я люблю больше всего). Я впал в депрессию, и она меня не подвела. Она всегда говорила мне набраться терпения, и однажды эта работа постучит в нашу дверь.
Наконец-то я получил эту работу.
После года поиска работы программистом я начал работать в курьерской компании, их система была построена на fox pro (не визуальный fox pro, fox pro с синим экраном, если вам столько же лет, сколько и мне, вы можете это помнить). Мне приходилось администрировать базы данных и вручную переносить базы данных с dbf на sql-сервер.
Я подумал, что если я не изменю эту старую программу Fox Pro, то, наверное, сойду с ума. Потому что эта система была очень медленной. Я попросил своего босса на неполный рабочий день начать миграцию этой системы на php mysql, но он не был дальновидным человеком и попросил меня не делать этого.
Я запустил новую курьерскую систему самостоятельно и попросил небольшую компанию проверить, настолько ли она хороша, что эта компания ее купила. Затем прошло пару месяцев, и я показал своему боссу эту систему и то, как она работает в небольшой компании, также я автоматизировал множество процессов, которые мне приходилось выполнять вручную, и показал ему, что я повысил свою производительность на 400%. Он был поражен и разрешил мне внедрить его в компании.
Моя первая неудача.
После нескольких месяцев разработки основной системы новой компании она наконец была готова к запуску в производство, я провел много испытаний. Но впервые я столкнулся с параллелизмом. PHP нужно было перезагружать всю страницу каждый раз, когда вы отправляете запрос, поэтому это было медленным для операторов сканеров штрих-кода. Я знал, что это не сработает, люди начали раздражаться, потому что моя новая система, которую я обещал, будет лучше, была слишком медленной.
Javascript спас мою работу.
Я провел много исследований о том, как я могу ускорить свою систему, и после нескольких дней исследований я нашел много ответов в веб-форумы . У некоторых людей была такая же проблема, и они начали говорить о АЯКС. Я думал, что это язык программирования, но это была комбинация javascript на стороне интерфейса и любого языка, который вы использовали на стороне сервера, а также некоторые другие методы программирования. Я понял, что мне не нужно менять php на другую технологию, также я начал понимать, что такое frontend-программирование и backend-программирование.
Чтобы начать внедрять AJAX в свою систему, мне пришлось изучить Javascript, и я понял, что перезагрузка всей страницы для отправки http-запросов на сервер неэффективна. Мне не нравятся неэффективные системы, я действительно люблю улучшать реакцию систем на запросы, поэтому я заметил, что javascript и ajax — это правильный путь.
Я улучшил все ответы моей системы на запросы, и люди начали получать удовольствие от использования моей системы. когда ситуация стабилизировалась, я начал задавать вопросы людям из всех отделов внутри компании и помогать им в их процессах и повышать продуктивность их работы. Наши клиенты заметили, что мы улучшили нашу производительность. Мой проект полностью удался.
На несколько шагов впереди других коллег в моей стране.
Лучшее, что может случиться с вами в мире программирования, — это проблемы, которые вы никогда не решали в прошлом. Изучение Javascript и AJAX сделало меня программистом, который был на пару шагов впереди своих коллег, в то время как некоторые из моих коллег знали только, как заставить PHP выплевывать html и загружать всю страницу на каждый запрос, я создавал одностраничные приложения, не подозревая об этом. Я также начал узнавать все больше и больше о различиях между бэкендом и фронтендом, мои коллеги по работе не знали об этих двух терминах, почти все программисты, которых я знал в то время, работали на Java, C#, ASP и PHP, а колумбийцы раньше было лень узнавать новое, поэтому, заметив грядущие технологии, я заметил разницу между моими коллегами и мной. Я понял это, когда Everis нанял меня в качестве разработчика Sencha-ExtJs, даже не зная этого фреймворка (я был честен с ними и сказал, что не работал с ним в прошлом), но, несмотря на это, они наняли меня, потому что искали javascript разработчика в течение 6 месяцев без, по крайней мере, одного результата.
Jquery упростил мою работу
Когда я познакомился с jquery и понял, что xmlHttpRequest можно выполнить одной строкой кода, это стало самой большой новостью в моей карьере. Выполнение одностраничных приложений с JQuery было быстрее, чем с Vanilla Javascript, запрос AJAX сократился с 30 строк до одной или двух, фантастика!
Кроме того, добавление анимации в пользовательский интерфейс моих приложений сделало мою работу более привлекательной для моих работодателей.
Я думал, что я мастер javascript.
Вы не знаете JS
Знание jquery не означает, что вы знаете Javascript, если вы, мой дорогой читатель, любите разработку интерфейса и думаете, что вы мастер javascript, потому что вы можете создавать действительно хороший пользовательский интерфейс со всеми этими анимациями, позвольте мне сказать вам, что вы ошибаетесь . Было время, когда я считал себя мастером javascript, потому что у меня была возможность создавать действительно классные вещи с помощью Jquery. Но печальная реальность заключалась в том, что я ничего не знал о javascript.
Поэтому, когда вы пришли из мира программирования, в котором существуют только PHP, Java и ASP, и не знаете разницы между интерфейсом и сервером, javascript — это уродливая девушка в городе. Так что знания jquery для создания нескольких поведений пользовательского интерфейса более чем достаточно. Но потом вы поняли, что jquery — это всего лишь библиотека с множеством готовых функций, и вы не можете разрабатывать вещи, которых нет в Jquery из коробки, вы заметили, что не знаете javascript.
МедельинJS
Я знал, что я не лучший разработчик javascript, и я никогда не претендовал на звание лучшего. Я начал исследовать в Интернете документацию, учебные пособия и сообщения по Javascript.
Это было примерно в 2012 году, и было много повторяющейся информации об экосистеме javascript, кроме того, вы находитесь в среде, где все ненавидят javascript, и многие люди не знают разницы между бэкэндом и интерфейсом. Так что грустно, что, возможно, вы ошибаетесь в том, что, по вашему мнению, произойдет в веб-разработке, и некоторые фреймворки PHP вышли, чтобы убить ванильный PHP, и люди и компании начинают использовать их и создавать вещи быстрее, я знал, что это не так. Плохо, но они все еще перезагружали всю страницу на запрос к серверу. Поэтому я попытался найти людей в моем городе, которые разрабатывали javascript, и этот поиск не дал хороших результатов, все мои коллеги говорили мне: «Эй, мужик, изучай x php framework, потому что javascript недостаточно хорош для строить вещи быстро. Но я не заботился о том, чтобы создавать вещи быстрее, меня заботила производительность веб-приложений.
Я нашел информацию о баркэмпе, мероприятии, где некоторые программисты и не программисты рассказывают о том, что происходит в технологиях. Я пошел на это мероприятие и принял участие в разговоре об angularJS, я не помню имени докладчика, но этот человек показал, как строить вещи в angular, и я влюбился в него. Пару дней спустя я начал исследовать Angular и начал его изучать. Затем в ходе своих исследований я наткнулся на meetup.com и понял, что здесь, в Медельине, моем городе, существует сообщество javascript. Название этого сообщества МедельинJS, его основали ребята, которые любили Javascript. Я начал участвовать во всех дискуссиях в этом сообществе, и это очень помогло мне узнать об экосистеме javascript.
МедельинJS в настоящее время является крупнейшим сообществом разработчиков программного обеспечения в Медельине, и я многим обязан его организаторам тем, что знаю сегодня.
Что, черт возьми, такое NodeJS
Один из моих карьерных наставников (он этого не знает) Джулиан Дюк, не только его знания, но и его страсть делиться ими, это одна из вещей, которая вдохновила меня не только стать лучшим разработчиком, но и стать лучшим человеком.
Хулиан — основатель MedellínJs, и на одном из организованных ими мероприятий он говорил о NodeJS. Я вспомнил, как он сказал, что nodeJS — это Javascript на стороне сервера, и я подумал: черт возьми, как это возможно?
Я начал свое исследование (да, снова) о nodeJS и начал его изучать. Если вы разработчик программного обеспечения и не любите исследовать и узнавать что-то новое, возможно, это не для вас. NodeJS делает javascript настоящим языком программирования с полным стеком, между программированием Javascript на бэкэнде в NodeJS и программированием javascript во внешнем интерфейсе есть небольшие различия, так что здесь хорошо то, что вам не нужно изучать другие языки программирования, чтобы выполнять оба бэкэнда. и интерфейс.
Фреймворки и библиотеки Javascript
Если вы хотите быть разработчиком Javascript, фреймворки и библиотеки не обязательны, но если вы не используете их, вам, вероятно, придется создавать много вещей с нуля, и за пределами нашего пузыря есть много программистов лучше, чем вы. или я, который разработал множество программных решений и нашел в них что-то общее, поэтому они начали создавать эти общие функции и объединять их в нечто, называемое библиотекой или фреймворком.
Библиотека — это множество готовых методов и вещей, которые помогут вам решить довольно распространенные варианты использования.
Фреймворк — это множество вариантов использования и практик, объединенных в шаблонную кодовую базу, которая помогает вам управлять кодом с помощью лучших практик, которые создатели фреймворка знают после того, как какое-то время занимались программированием.
Вы можете использовать их или нет, но в настоящее время вам не нужно снова «изобретать велосипед».
Во фронтенде рекомендую изучать ReactJS и VueJs.
В бэкенде рекомендую изучить ExpressJS, SailsJS.
Вывод
В настоящее время я старший (старший разработчик означает для меня, что у вас большой опыт, но вы не всемогущий или всезнайка) разработчик javascript, или, по крайней мере, я так думаю. Я не пытаюсь убедить вас начать карьеру в разработке программного обеспечения, а также не говорю, что javascript — лучший инструмент для разработки программного обеспечения. Я пытаюсь показать вам, что если вы приложите усилия, вы сможете делать то, что хотите, и я хочу, чтобы вы проводили исследования, много исследований, искали то, что вам нравится, и если вы не знаете, какие вещи вам нравится еще, продолжайте задаваться вопросом, исследовать и пробовать. Спасибо, что прочитали это.
Меня зовут Камило Монтойя Я живу в Колумбии, и разработка программного обеспечения — это моя страсть и моя профессия. Я также являюсь старшим разработчиком Javascript и внештатным консультантом, в настоящее время работаю с РеактJS а также микросервисы nodeJS тоже сейчас учусь VueJS . Иногда я создаю музыку в свободное время и наслаждаюсь временем, проведенным с любимой женой. Если вы хотите связаться со мной, я в связанный или в твиттере как @camilomontoyau