Вы, вероятно, читаете это, потому что выпивали с двоюродным братом племянника друга вашего брата, который зарабатывает на жизнь компьютерной деятельностью. Вы начали говорить о том, как ненавидите свою работу (розничная торговля, обслуживание клиентов, финансы, образование). Он говорит «Вы должны научиться программировать! Это решит все ваши проблемы!»

Это звучит знакомо?

Шаг 1: Научитесь программировать.

Шаг 2: ???

Шаг 3: Прибыль

Какой тип код? Как лучше всего этому научиться? Что ты делаешь с этим?

Обычно, когда из лучших побуждений семья и друзья говорят: «Тебе следует научиться программировать!» на самом деле они означают: «Вы должны работать в программном обеспечении!» К сожалению, обучение программированию без знаний в области информатики может быть настолько пугающим, что заставляет новичков бежать куда глаза глядят.

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

Технологические компании делят работу над программным обеспечением на несколько уровней. Собранные вместе слои образуют «стек программного обеспечения». У каждого слоя есть свои проблемы, для решения которых требуется определенный набор навыков. И самое замечательное в этом то, что:

Вам нужно только уметь решать задачи одного типа на одном уровне стека.

Чтобы получить работу в сфере технологий, вам абсолютно НЕ нужно знать все уровни. Ключ в том, чтобы специализироваться на ОДНОМ из них.

Так как же узнать, с какого слоя начать изучение?

Уровни программного стека

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

Дизайн

Этот уровень стека предназначен не столько для того, чтобы сделать продукт фабрики красивым, сколько для того, чтобы решить, каким он должен быть.

Люди, специализирующиеся на этом уровне, выясняют, как продукт может быть более полезным, удобным и привлекательным для клиентов. Затем они проектируют, повторяют и тестируют его на пользователях, чтобы увидеть, работают ли те или иные решения.

Должности на этом уровне:дизайнер продукта, дизайнер пользовательского опыта, дизайнер взаимодействия.

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

Фронтенд разработка

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

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

Должности на этом уровне: инженер-разработчик, веб-разработчик.

Код, который вам нужно выучить для этого уровня:HTML, CSS и JavaScript.

Бэк-энд разработка

Этот уровень управляет заводскими системами безопасности и автоматизации. Люди, специализирующиеся на этом уровне, пишут наборы правил, которым должны следовать машины, что сокращает количество времени и усилий, затрачиваемых людьми на выполнение повторяющихся задач. Они также берут сырье из базы данных и превращают его во что-то, что клиенты могут использовать.

Типы должностей на этом уровне:инженер-программист, инженер по безопасности, инженер DevOps.

Типы кода, которые необходимо изучить для этого уровня (выберите один):Java, Python, Ruby, C++, PHP и т. д.

Базы данных

В этом слое находится сырье фабрики. Он организует и хранит всю информацию о покупателе, информацию об оплате, сведения о товарах для продажи; почти все, что «сохранено» в приложении. Рабочие здесь анализируют, сортируют, управляют и хранят все материалы.

Типы должностей на этом уровне: специалист по данным, администратор баз данных, архитектор данных.

Типы кода, которые необходимо изучить для этого уровня: SQL (mysql, postgres) или NoSQL (MongoDB, Cassandra).

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

Этот слой представляет утилиты завода. Это то, как все работает вместе как система, чтобы все работало. Специалисты на этом уровне следят за тем, чтобы у приложения было достаточно ресурсов и скорости для самообслуживания.

Типы должностей на этом уровне: системный администратор (sysadmin), сетевой инженер, администратор безопасности.

Типы кода, которые необходимо изучить для этого уровня: Bash для Mac OS, Linux или PowerShell для Windows.

Все это очень хорошо, но как мне найти работу в сфере технологий?

  1. Выберите, какой уровень стека программного обеспечения кажется вам наиболее интересным.
  2. Погуглите, прочитайте об этом и попробуйте использовать, чтобы создать что-то, что решит небольшую проблему в вашей (или чьей-то еще) жизни.
  3. Если у вас есть проблемы с его созданием, просто погуглите, что пошло не так. Я гарантирую вам, что другие люди уже сталкивались с этой проблемой и знают, как ее решить.
  4. Подайте заявку на один из типов заданий на выбранном вами уровне программного стека.
  5. В сопроводительном письме и интервью страстно расскажите о том, что вы создали, и о том, как вы решили проблему.

Вот и все.

Удачного строительства!