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

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

Основываясь на своем опыте, я перечислил ниже СЕМЬ ШАГОВ, которые помогли мне добиться успеха в моей карьере. Я надеюсь, что эти шаги будут полезны и вам. Без дальнейших промедлений давайте начнем и сделаем наш первый шаг, чтобы стать лучшим программистом.

1) Практикуйте структуры данных и алгоритмы

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

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

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

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



2) Читайте книги, чтобы лучше понять

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

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

  1. Структуры данных и упрощенные алгоритмы, Нарасимха Каруманчи
  2. Гейл Лаакманн Макдауэлл Взлом интервью
  3. Чистый код Роберта С. Мартина
  4. Введение в алгоритмы от CLRS

3) Сосредоточьтесь на шаблонах и принципах проектирования

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

Sпринцип единой ответственности

OПринцип открытого-закрытого

Lпринцип подстановки Лисков

IПринцип разделения интерфейса

DПринцип инверсии зависимостей

Ниже вы найдете обязательное к просмотру видео Роберта С. Мартина о том, как писать чистый код и о принципах проектирования SOLID.

4) Начните читать код, написанный экспертами

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

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

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

5) Участвуйте в код-ревью

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

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

6) Обсуждайте с людьми умнее вас

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

7) Участвуйте в онлайн-форумах

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

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

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

Успех — это сумма небольших усилий, повторяемых изо дня в день.

- Роберт Дж. Коллиер