Привет, ребята, я Himath Perera из Шри-Ланки, и в настоящее время я работаю разработчиком программного обеспечения полного стека в Surge Global.

После прохождения GCE Advanced Level (последний год обучения в школе) у меня появилась мечта начать карьеру инженера-программиста. Поэтому я поступил в Sliit Academy, чтобы получить степень в области компьютерных наук (2018). Это был первый шаг моего пути.

Первый урок в моей программе обучения был посвящен основным понятиям кодирования (Введение в программирование) и проводился на языке C. Я действительно запутался с массивами и переменными. Остальные предметы были несложными, и первый семестр был завершен с общим проходом «Введение в программирование». Второй семестр был посвящен структурам данных и ООП (объектно-ориентированному программированию). Самой сложной частью было то, что лекторы начали реализацию с Java, которая была еще одним другим языком, и, как новичок, на самом деле я был очень сбит с толку.

Я собирался бросить свою программу получения степени, так как я был сыт по горло. однако была одна маленькая надежда, которая поддерживала меня. Я начал с нуля. Сначала я посмотрел видео на YouTube по основам HTML и CSS и начал создавать небольшие веб-страницы. На этом этапе обучения у меня не было четкого представления о том, что я получу, внедрив небольшие веб-страницы. Так как мои коллеги так далеко продвинулись в программировании. Затем я начал изучать небольшие JavaScriptприемы для создания анимации и т. д. Этот начальный шаг меня очень вдохновил, и я понял, что могу научиться программировать.

Пока я изучал HTML и JavaScript, один из моих друзей рассказывал о библиотеке под названием React JS. Я также хотел попробовать и начал смотреть уроки для начинающих. Сначала это казалось очень легким, и я чувствовал себя уверенно. Я медленно начал реализовывать небольшие веб-приложения с помощью React JS. Однажды меня поразило управление состоянием приложений. Чтобы решить эту проблему, я связался со своим другом, который в первую очередь рассказал мне о React JS. Его решение состояло в том, чтобы очистить дерево компонентов и управлять состоянием компонентов более высокого уровня. После долгого разговора о технологиях я понял, что мои знания React, а также мои знания JavaScript были низкими, и это вызывает большинство моих проблем.

Наконец-то я снова начал изучать JavaScript. На этот раз я скачал курс Udemy (ссылка в конце) по основам JavaScript и досмотрел его. Кроме того, я выполнял задания и макеты приложений по мере прохождения курса. Это действительно дало мне более широкую картину программирования. Несмотря на то, что для JavaScript существовало несколько уникальных концепций, основы программирования применимы ко всем языкам. Работа с React JS стала более приятной и понятной после изучения JavaScript. Кроме того, я прошел хорошо структурированный курс по практике React JS. Короче говоря, изучение одного языка программирования проложило путь к легкому изучению любой платформы, библиотеки или другого языка программирования.

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

  1. NodeJS и экспресс-фреймворк
  2. VueJS и Quasar Framework
  3. PHP и CodeIgniter
  4. Java как сервис
  5. Rest API и GraphQl
  6. Нет SQL и баз данных SQL
  7. GIT (изучение git-команд обязательно для новичка)

Я начал стажировку на последнем курсе. Требования к стажировке были связаны с VueJS. Несмотря на то, что я никогда раньше не использовал VueJS, я был уверен в своих знаниях Java Script. Итак, я подал заявку, и после трех собеседований меня взяли на работу. Я работал с PHP, GraphQl, GIT и VueJS и получил массу информации о конвейерах CI/CD (непрерывная интеграция и непрерывное развертывание) и сжатых сроках. Поэтому понимание основных концепций программирования действительно важно для гибкой карьеры.

В настоящее время стек MERN (MongoDB, Express, React JS, Node) приобрел популярность, новички начинают изучать React JS и новые фреймворки, не понимая основных концепций JavaScript или программирования. Это может привести к тому, что они бросят программировать или приведут к плохим практикам. Цель публикации этого блога – уберечь других от совершения тех же ошибок, что и я.

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

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

** НАДЕЕМСЯ, КАЖДЫЙ ДЕНЬ ВЫ УЗНАЕТЕ ЧТО-ТО НОВОЕ **

Использованные мной ресурсы

  1. Курс Java Script
  2. Основные понятия программирования =› Сетевой ниндзя, Программирование с Mosh, Dev Ed
  3. Курс React JS[Udemy]
  4. "Узел"