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

habits

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

habits

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

habits

Еще один разработчик, чей ответ получил большое количество голосов, – Эд Прентис. Он представил целый список привычек, которым он следует. Первоочередной задачей он считает сэкономить как можно больше времени: «автоматизируйте все, что только можно», – пишет он. Для этого используйте мощную среду разработки, имеющую возможность гибкой настройки под себя, создавайте макросы для выполнения повторяющихся действий, выучите горячие сочетания клавиш и подружитесь с командной строкой (например, в UNIX).

habits

Тот же самый Прентис не ограничивается автоматизацией всего на свете. В его обширном списке есть еще один мудрый совет. Необходимо бросать себе вызовы. Никогда не писали веб-приложений? Попробуйте это, например, на Ruby on Rails. Не менее важно постоянно учиться, даже если предмет изучения не относится к программированию. Также бывает полезно время от времени заглядывать на Stack Overflow в поисках топиков, с которыми вы более или менее знакомы. Это позволит укрепить ваши знания. Наконец, небезосновательно считается хорошей привычкой делиться знаниями, а также уроками и полезными ресурсами.

habits

Рафаэль Буч (Raphael Buch) представляет вниманию досточтимой публики два упражнения, считающихся традиционными в среде разработчиков: Кайзен (Kaizen) и Ката (Kata). Первый состоит в переписывании и переосмыслении кода, шлифовке его, как драгоценного камня. Каждый раз, когда вам нужно внести изменения в код, переработайте его дизайн, пишет он. Второй принцип основывается на написании одних и тех же строк кода снова и снова, делая аккуратные изменения каждый раз. Всякая подобная тренировка будет приносить небольшие улучшения, а впоследствии будет проще обнаруживать ошибки на ранних стадиях разработки, не позволяя им разрастаться в значительные проблемы.

habits

Автор и программист Дебасиш Гош (Debasish Ghosh) старается придерживаться привычки читать как можно больше чужого кода — как хорошего, так и не очень. Второе, утверждает он, особенно важно, поскольку позволяет отметить для себя множество принципов, следовать которым не стоит. Еще он рекомендует следовать принципу «разделяй и властвуй»: решая объемные задачи, разбивайте их на подзадачи и начинайте с самого простого, постепенно переходя к все более сложному. Еще один полезный совет заключается в том, чтобы присоединиться к уже существующему и развивающемуся проекту, желательно опенсорсному.

habits

Анкит Гупта (Ankit Gupta), разработчик из Амазон, считает важным, чтобы началу разработки предшествовало проектирование. Бесспорно, некоторые задачи решаемы исключительно на втором этапе, но дизайн, как нечто абстрактное, всегда переживает конкретное решение, для которого он создавался. Как сам автор признается, он не всегда следует данному принципу. Также, он является еще одним адептом автоматизирования.

habits

Создатель программ Tune Smithy и Bounce Metronome Роберт Уокер является одним из тех, кто считает необходимым записывать каждый баг, даже самый маленький и незначительный. Это путь, позволяющий запоминать свои ошибки и не повторять их в последующей практике. Еще одна его практика — сохранять все модификации в отдельных .ini-файлах, чтобы при необходимости воспроизвести решение попадавшейся ранее задачи. И, конечно, он всегда делает бэкапы, чтобы не потерять ничего из своей работы.

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Современный подход к разработке с использованием Next.js