И это не просто решение проблем DSA в CodeChef, Codeforces и Leetcode.

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

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

Сосредоточьтесь на понимании основных предметов разработки программного обеспечения.

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

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

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

Создавайте проекты по каждому изучаемому предмету

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

Чтобы продвинуться дальше, научите этому кого-нибудь другого.

Полюбопытствовать

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

  • Почему эта библиотека работает лучше, чем другая?
  • Почему мы предпочитаем один язык программирования другому?
  • Откуда сборщик мусора на языке программирования узнает, какие объекты следует удалить?
  • Почему в Java нет указателей?

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

Исследуйте то, что вы хотите

Программная инженерия — одна из тех областей, где можно делать очень многое.

  1. Вам нравится видеть, как то, что вы создаете, отображается на устройствах пользователей?
  • Вы можете попробовать узнать о пользовательском опыте, дизайне пользовательского интерфейса или создании интерфейсных приложений.

2. Хотите узнать, как все работает, когда вы что-то делаете в мобильном приложении?

  • Изучите бэкэнд-инжиниринг

3. Хотите понять, как тестируются функции, прежде чем они доберутся до вас?

  • Узнайте о различных циклах тестирования программного обеспечения — модульных тестах, поведенческих тестах, регрессионных тестах, тестах производительности и многом другом.

4. Хотите узнать, как организации на самом деле решают, что строить

  • Узнайте об исследованиях пользователей и прототипировании.

5. Хотите узнать, как Amazon рекомендует самый блестящий iPhone 14 Pro Max или как Swiggy оценивает время доставки вашего следующего заказа Biryani?

  • Узнайте о машинном обучении.

Список бесконечен. Вот почему разработка программного обеспечения — такая красивая область ❤. Так много разнообразных наборов ролей объединяются, чтобы создать то, что мы используем в повседневной жизни.

Не прыгайте в любой другой вагон, встречающийся на вашем пути.

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

  • Генеративный ИИ
  • Блокчейн
  • Квантовые вычисления и так далее.

Мой главный совет — следовать вашему любопытству. Узнайте о нескольких вещах более подробно за 80% своего времени. Остальные 20% вашего времени могут уйти на понимание того, что существует. Вот гораздо более подробная статья, которую вы сможете прочитать позже, где я рассказываю, как я справляюсь с взрывным ростом возможностей.

Получите опыт, знакомясь с новыми людьми

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

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

Оставляю вам несколько фотографий со времени моего пребывания в Летней школе VIT.

Если вам это показалось интересным, подумайте о том, чтобы нажать кнопку «Следовать», чтобы присоединиться ко мне в моем путешествии по обучению, исследованию и погружению в обширный мир информатики и жизни, а также поделиться с вами своим опытом. ❤️