Четыре года и несколько собеседований назад я понятия не имел, как получу свою первую корпоративную работу. И одной из самых больших проблем был раунд кодирования. Хотя мне было удобно писать код для простых задач, но предоставить решение в заданные сроки всегда было сложно.
Добро пожаловать! Я предполагаю, что вы читаете этот пост по двум причинам: Во-первых, вы хороший программист. Во-вторых, вы хотите еще больше улучшить. В современном мире технологий программисты очень хорошо вознаграждаются в зависимости от их навыков. Улучшение навыков программирования может помочь вам получить работу мечты.
Основываясь на своем опыте, я перечислил ниже СЕМЬ ШАГОВ, которые помогли мне добиться успеха в моей карьере. Я надеюсь, что эти шаги будут полезны и вам. Без дальнейших промедлений давайте начнем и сделаем наш первый шаг, чтобы стать лучшим программистом.
1) Практикуйте структуры данных и алгоритмы
Технологии и фреймворки могут приходить и уходить, но алгоритмы и структуры данных останутся надолго. Они составляют неотъемлемую часть набора навыков любого программиста. Освоив это, вы сможете лучше использовать то, что доступно.
Поскольку DS и Algo являются ключевым элементом любой программы, их хорошее знание поможет в решении проблем.
Преимущество DS и Algo в том, что со временем вы легко справитесь с этим, а при постоянной практике вы сможете достичь стадии, когда вы начнете связывать новые проблемы со старыми, которые вы уже решили.
Ознакомьтесь с моим списком основных алгоритмов и структур данных здесь. Не волнуйтесь, вы не должны знать все это за один раз. Начните с малого, делайте один шаг за раз, и в конце концов вы увидите разницу.
2) Читайте книги, чтобы лучше понять
Ниже я перечислил четыре из моих любимых книг, которые, как мне кажется, должен со временем прочитать каждый программист. Лучшее в первых двух книгах то, что они помогают анализировать данную проблему с разных сторон.
Обратите внимание, что книги перечислены в порядке сложности для понимания, вы можете начать с первых двух книг, получить базовое понимание того, что такое алгоритмы и структуры данных и как они подходят для решения различных технических задач. Третий поможет вам понять, как структурировать код при решении более серьезных задач. Наконец, четвертый предлагает вам глубокое погружение в алгоритмы.
- Структуры данных и упрощенные алгоритмы, Нарасимха Каруманчи
- Гейл Лаакманн Макдауэлл Взлом интервью
- Чистый код Роберта С. Мартина
- Введение в алгоритмы от CLRS
3) Сосредоточьтесь на шаблонах и принципах проектирования
Это то, что мы склонны игнорировать на раннем этапе нашей карьеры, но я уверен, что знание этого поможет вам выделиться среди других. Шаблоны и принципы проектирования служат рецептами для написания лучшего кода.
S — принцип единой ответственности
O — Принцип открытого-закрытого
L — принцип подстановки Лисков
I — Принцип разделения интерфейса
D — Принцип инверсии зависимостей
Ниже вы найдете обязательное к просмотру видео Роберта С. Мартина о том, как писать чистый код и о принципах проектирования SOLID.
4) Начните читать код, написанный экспертами
Начните читать код так же, как вы читаете статью или блог. Ознакомьтесь с кодом проектов с открытым исходным кодом, кодом коллеги-инженера, кодом из Java SDK и попытайтесь увидеть, как это работает, понять, что происходит и почему это происходит.
Открывайте шаблоны, развивайте навыки навигации, поначалу это может показаться вам утомительным и трудным, однако со временем вы разовьете приличное чувство кода, которое будет предупреждать вас, когда вы делаете ошибку, поможет вам обнаружить другие оплошности и пробелы. Это чувство кода является важной чертой хорошего программиста.
Способность умело читать код оказывается действительно полезной в наши дни, потому что в современном мире фреймворков большая часть нашего времени тратится на изучение файлов, поиск нужных областей кода и устранение неполадок, что код делает по сравнению с тем, что ожидается. сделать.
5) Участвуйте в код-ревью
Один из лучших способов улучшить свой стиль написания кода — серьезно относиться к проверкам кода, изучать запросы на слияние и комментарии, предоставленные вам и другим пользователям в процессе проверки кода. Попытайтесь понять, какой мыслительный процесс стоит за каждым комментарием, обсудите это с рецензентом и постарайтесь включить это в свой стиль написания кода.
Всегда стремитесь получить вдумчивую обратную связь, а не снижать барьер для проверки вашего кода. Постарайтесь, чтобы ваш код был проверен разными экспертами, это познакомит вас с другой школой мыслей.
6) Обсуждайте с людьми умнее вас
Не просто сидите и кодируйте, общайтесь с другими программистами. Слушайте, что они говорят, независимо от того, являются ли они младшими, средними, старшими или гуру. Обменяйтесь мнениями о текущей проблеме или ошибке, над которой вы работаете, проверьте другие возможные решения.
7) Участвуйте в онлайн-форумах
Чтобы каждый раз быстро решать проблему, мы склонны вырабатывать привычку игнорировать обсуждение вокруг нее. Пропуск дебатов о том, как другие участники форума выяснили это исправление, лишает нас понимания всей картины и ограничивает наш взгляд на проблему.
Упуская из виду более широкую картину, возможно, потребуется переделывать позже, что приведет к пустой трате времени. Следовательно, лучше пройти обсуждение в самом начале. Подумайте о том, чтобы записать свои предпочтения в той же теме. Это будет полезно в двух отношениях: во-первых, это обеспечит вам лучшее понимание, организовав ваши мысли, а во-вторых, это может помочь кому-то в будущем столкнуться с той же проблемой.
Примечание. Возможно, вы сможете выжить, не следуя вышеизложенным советам, и не увидите никакого улова в краткосрочной перспективе, но их соблюдение со временем определенно приведет к большим изменениям.
Успех — это сумма небольших усилий, повторяемых изо дня в день.
- Роберт Дж. Коллиер