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

Младший программист серверной части

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

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

Старший программист серверной части

Атмосфера в новой компании была более веселой и открытой. В то время мне было 24 года, а самому старшему работнику, работающему на полную ставку, было 27 лет, и это был генеральный директор. Это была очень похожая на стартап среда, похожая на то, что я видел в Интернете. Это была очень маленькая компания, занимающаяся разработкой программного обеспечения, с довольно крупным эксклюзивным клиентом. Более года клиент был впечатлен нами и приобрел компанию по разработке программного обеспечения, в которой я работал. Мы начали с 8 сотрудников (1 серверная часть, 4 интерфейсной части, 1 пользовательский интерфейс / пользовательский интерфейс, 1 менеджер проекта, 1 генеральный директор). За почти два года штат сотрудников увеличился до 40+, компания была приобретена и профинансирована.

Я возглавляю подразделение серверной части и безумно многому научился за два года работы в качестве «старшего» разработчика серверной части node js. Поскольку я был главой бэкенд-программистов, мне приходилось обсуждать технические вопросы и пытаться внедрять технологии с отделом ИТ-операций, а также встречаться с клиентами и поставщиками. С этого момента я не только узнаю о внутреннем программировании, но и учусь разговаривать с клиентами, собирать требования, вести проект, настраивать серверы, настраивать IP-адреса и домены. Я научился настраивать NGINX, cron jobs, облачный хостинг и, самое главное, узнал о DOCKER!

Лично для меня докер меняет правила игры. Я написал статью Почему я люблю докер, если вы ее еще не читали.

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

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

Переход в третью компанию

Единственный недостаток предыдущей компании - это то, что на нее слишком много давления, и в большинстве случаев они, на мой взгляд, принимали безрассудные решения и запрашивали слишком много программного обеспечения. Да, я знаю, что мы все еще занимаемся разработкой программного обеспечения, но мы создаем неиспользуемые программы. Срок реализации большинства проектов, которые компания просила разработчиков составлять, составлял от 1 до 3 месяцев, потому что они говорили, что набирают «импульс». Разработчики изо всех сил работали над тем, чтобы один человек мог обрабатывать и поддерживать более двух проектов, но тогда программное обеспечение даже не было затронуто из-за нетехнических проблем, таких как разрешение, меморандум о взаимопонимании и другие административные вещи.

Это заставило меня понять, что все, что я обсуждаю, проектирую, создаю, тестирую и развертываю, было пустой тратой. Думаю, было использовано только 20% проектов, которые я там делал. Я создал там почти 10 приложений с нуля, потому что у каждого проекта свои требования. Сначала я подумал, что это просто моя компания, которая не очень организована, и попытался пройти собеседование в другой компании, занимающейся разработкой программного обеспечения. Когда я спросил о рабочей нагрузке и давлении, они не слишком различались, и поэтому я перестал искать компанию по разработке программного обеспечения или ИТ-решения в качестве моей следующей компании, в которой я мог бы работать. Так я узнал, что компания, занимающаяся разработкой программного обеспечения, не подходит для моей основной карьеры, и поэтому я покинул компанию.

Вспоминая свой предыдущий опыт, я попытался найти компанию, у которой был собственный продукт, и нашел такую ​​с зарплатой, на которую я рассчитывал. У них также есть зрелое приложение, и меня очень интересовали их технические стеки и процесс разработки, чтобы я мог учиться у них и повышать свои навыки. Я отправляю свое заявление о работе, они связались со мной через неделю, и процесс приема на работу прошел хорошо. Меня приняли в качестве программиста среднего уровня, использующего golang (у меня был небольшой опыт работы с golang). Мне нужно адаптироваться к моей новой роли, где раньше решения принимал я, теперь мне нужно выполнять приказы.

Вывод

Это мой трехлетний путь в качестве back-end разработчика. Для меня это хорошее путешествие, и я многому научился на своем опыте. Я из тех парней, которые действительно хотят стать лучше в качестве инженера-программиста и не хотят работать постоянно. Я из тех людей, которые жаждут информации и знаний, и поэтому я переходил из компании в компанию ради новых знаний и навыков. Может, я напишу еще одну статью из этой статьи, чтобы поделиться с вами своим опытом работы. Спасибо за чтение и УВАЖАЙТЕСЬ!