И это не просто решение проблем DSA в CodeChef, Codeforces и Leetcode.
Ваши годы учебы в колледже — одни из самых недооцененных в формировании вашего пути в качестве инженера-программиста. Довольно часто нам не хватает руководства, и в конечном итоге мы безумно следим за тем, куда движется стадо. В ближайшем будущем предстоит решить как можно больше проблем с DSA. Довольно часто фактором, способствующим этому, являются огромные зарплаты, которые часто получают инженеры-программисты. Но это не единственное, что имеет значение.
Я начал работать в области разработки программного обеспечения в 2017 году, и это некоторые из вещей, которым, по моему мнению, следует уделять время в годы вашего становления в качестве инженера.
Сосредоточьтесь на понимании основных предметов разработки программного обеспечения.
Основные предметы информатики, которые преподает вам учебная программа по информатике, действительно важны в мире разработки программного обеспечения.
Сюда входят операционные системы, базы данных, компьютерные сети, распределенные системы, проектирование и анализ алгоритмов, компиляторы и все остальное, чему вас учит учебная программа в области компьютерных наук.
Это поможет вам понять, как все работает под капотом, когда вы кодируете. Это дает представление о том, насколько удивительна область компьютерных наук. Наконец, вы можете применить их для решения изученных вами концепций, таких как параллелизм, индексирование и сегментирование, и это лишь некоторые из них, для создания высокопроизводительных приложений, которые хорошо масштабируются в реальном мире.
Создавайте проекты по каждому изучаемому предмету
Когда мы изучаем теоретические предметы, мы изучаем множество концепций. Чтобы еще больше укрепить наше понимание, полезно строить проекты вокруг одного и того же. Это поможет вам понять, что может потерпеть неудачу, когда вы действительно начнете это делать.
Чтобы продвинуться дальше, научите этому кого-нибудь другого.
Полюбопытствовать
Если бы я мог дать один совет, то это был бы он. Никогда не позволяйте своему любопытству умереть. Всегда задавайтесь вопросом, что вы делаете:
- Почему эта библиотека работает лучше, чем другая?
- Почему мы предпочитаем один язык программирования другому?
- Откуда сборщик мусора на языке программирования узнает, какие объекты следует удалить?
- Почему в Java нет указателей?
Любознательность поможет вам приложить дополнительные усилия и изучить концепции гораздо глубже.
Исследуйте то, что вы хотите
Программная инженерия — одна из тех областей, где можно делать очень многое.
- Вам нравится видеть, как то, что вы создаете, отображается на устройствах пользователей?
- Вы можете попробовать узнать о пользовательском опыте, дизайне пользовательского интерфейса или создании интерфейсных приложений.
2. Хотите узнать, как все работает, когда вы что-то делаете в мобильном приложении?
- Изучите бэкэнд-инжиниринг
3. Хотите понять, как тестируются функции, прежде чем они доберутся до вас?
- Узнайте о различных циклах тестирования программного обеспечения — модульных тестах, поведенческих тестах, регрессионных тестах, тестах производительности и многом другом.
4. Хотите узнать, как организации на самом деле решают, что строить
- Узнайте об исследованиях пользователей и прототипировании.
5. Хотите узнать, как Amazon рекомендует самый блестящий iPhone 14 Pro Max или как Swiggy оценивает время доставки вашего следующего заказа Biryani?
- Узнайте о машинном обучении.
Список бесконечен. Вот почему разработка программного обеспечения — такая красивая область ❤. Так много разнообразных наборов ролей объединяются, чтобы создать то, что мы используем в повседневной жизни.
Не прыгайте в любой другой вагон, встречающийся на вашем пути.
Вы увидите множество тенденций, возникающих в области разработки программного обеспечения время от времени.
- Генеративный ИИ
- Блокчейн
- Квантовые вычисления и так далее.
Мой главный совет — следовать вашему любопытству. Узнайте о нескольких вещах более подробно за 80% своего времени. Остальные 20% вашего времени могут уйти на понимание того, что существует. Вот гораздо более подробная статья, которую вы сможете прочитать позже, где я рассказываю, как я справляюсь с взрывным ростом возможностей.
Получите опыт, знакомясь с новыми людьми
Одно из моих самых приятных воспоминаний — посещение Летней школы по кибербезопасности VIT Vellore в 2017 году, на последнем году обучения в колледже. Некоторые из присутствующих присутствовали, чтобы узнать больше об этой области. Нам удалось поучиться у нескольких знающих приглашенных докладчиков и даже написать собственную исследовательскую работу.
Опыт был, мягко говоря, потрясающим. Честно говоря, если бы на данный момент я мог заниматься чем-то одним до конца своей жизни, то это было бы постоянное обучение и знакомство с новыми людьми. Вы можете многому научиться у каждого, на изучение чего у вас могут уйти месяцы или даже годы.
Оставляю вам несколько фотографий со времени моего пребывания в Летней школе VIT.
Если вам это показалось интересным, подумайте о том, чтобы нажать кнопку «Следовать», чтобы присоединиться ко мне в моем путешествии по обучению, исследованию и погружению в обширный мир информатики и жизни, а также поделиться с вами своим опытом. ❤️