Вероятно четете това, защото сте пили с братовчед на племенника на приятеля на брат си, който се занимава с компютърни неща, за да си изкарва прехраната. Започнахте да говорите как мразите работата си (търговия на дребно, обслужване на клиенти, финанси, образование). Той казва „Трябва да се научиш да кодираш! Това ще реши всичките ви проблеми!“

Звучи ли ви познато?

Стъпка 1: Научете се да кодирате.

Стъпка 2: ???

Стъпка 3: Печалба

Какъв вид код? Кой е най-добрият начин да го научите? какво правиш с него

Обикновено, когато добронамерено семейство и приятели кажат „Трябва да се научиш да кодираш!“ те наистина означават „Ти трябва да работиш със софтуер!“ За съжаление, да се научите да кодирате без опит в компютърните науки може да бъде толкова смущаващо, че кара начинаещите да бягат по хълмовете.

Голяма причина начинаещите да напуснат е, че смятат, че трябва да знаят всичко за кодиращия език, преди да могат да се класират за работа в областта на софтуера. Това не може да бъде по-далеч от истината!

Технологичните компании разделят софтуерната работа на няколко слоя. Когато се сглобят, слоевете образуват „Софтуерния стек“. Всеки слой има свои собствени проблеми за разрешаване, които изискват специфичен набор от умения. И наистина страхотната част от това е:

Трябва да сте добри само в решаването на един тип проблем на един слой от стека.

За да получите работа в областта на технологиите, абсолютно НЕ е нужно да знаете всички слоеве. Ключът е да се специализирате в ЕДНО от тях.

И така, как, за бога, да разберете кой слой да започнете да учите?

Слоеве на софтуерния стек

Ето начин да помислите за това — Софтуерният стек е като фабрика. Има много движещи се части, които работят заедно, за да произведат нещо ценно за клиентите.

Дизайн

Този слой от купчината не е непременно да направи фабричния продукт красив, а по-скоро да реши какъв да бъде.

Хората, които са специализирани в този слой, разбират как продуктът може да бъде по-полезен, използваем и възхитителен за клиентите. След това те проектират, итерират и го тестват върху потребителите, за да видят дали определени решения работят.

Задачи на този слой:Продуктов дизайнер, UX дизайнер, Дизайнер на взаимодействия

Код, който трябва да научите за този слой:Няма. Имате нужда от дълбоко разбиране на хората, добри критични умения и минималистично мислене.

Front-End разработка

Да кажем, че тази фабрика има магазин, който е отворен за обществеността (потребителския интерфейс). Клиентите влизат в това пространство, взаимодействат с него и разбират какво може да им предложи компанията.

Специалистите в този слой изграждат магазинната площ така, че да бъде достъпна за всички типове клиенти. Те също го правят интерактивен, така че когато клиентите натиснат определени бутони и превключватели, да се случват правилните неща.

Работа на този слой:Front-End инженер, уеб програмист

Код, който трябва да научите за този слой:HTML, CSS и JavaScript

Back-End разработка

Този слой управлява системите за сигурност и автоматизация на фабриката. Хората, които се специализират в този слой, пишат набори от правила, които машините да следват, което намалява времето и усилията, които хората трябва да влагат в повтарящи се задачи. Те също така вземат суровините от базата данни и ги превръщат в нещо, което клиентите могат да използват.

Видове длъжности на този слой:Софтуерен инженер, Инженер по сигурността, Инженер по DevOps

Типове код, които трябва да научите за този слой (изберете един):Java, Python, Ruby, C++, PHP и др.

Бази данни

Този слой съдържа суровините на фабриката. Той организира и съхранява цялата информация за клиента, информация за плащане, подробности за артикули за продажба; почти всичко, което е „записано“ в приложението. Работниците тук анализират, сортират, управляват и поддържат всички материали.

Видове длъжности на този слой:Специалист по данни, Администратор на база данни, Архитект на данни

Типове код, които трябва да научите за този слой: SQL (mysql, postgres) или NoSQL (MongoDB, Cassandra)

Операционни системи

Този слой представлява комуналните услуги на фабриката. Ето как всичко работи заедно като система, за да поддържа работата на цялото нещо. Специалистите на този слой се уверяват, че приложението има достатъчно ресурси и скорост, за да се поддържа.

Видове длъжности на този слой:Системен администратор (sysadmin), Мрежов инженер, Администратор по сигурността

Типове кодове, които трябва да научите за този слой: Bash за Mac OS, Linux или PowerShell за Windows.

Всичко това е много хубаво, но как всъщност да си намеря техническа работа?

  1. Изберете кой слой от софтуерния стек ви звучи най-интересно.
  2. Потърсете го в Google, прочетете за него и опитайте да го използвате, за да създадете нещо, което решава малък проблем в живота ви (или в живота на някой друг).
  3. Ако имате проблеми с изграждането му, просто Google какво се е объркало. Гарантирам ви, че други хора са имали този проблем преди и знаят как да го решат.
  4. Приложете към един от типовете задания на избрания от вас слой на софтуерния стек.
  5. В мотивационното писмо и интервюто говорете страстно за нещото, което сте построили, и как сте решили проблема.

Това е.

Честита сграда!