Разработчики бывают разные: блестящие, компетентные, способные… и ужасные. В чем проблема плохих программистов? В плохих привычках!

5 вредных привычек неэффективных программистов

Зачастую разница между хорошим и плохим разработчиком заключается не в интеллекте или уровне владении языком программирования. Даже опытный специалист может быть неэффективным. Искать причину нужно еще глубже – в привычках.

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

Мой код – САМЫЙ ЛУЧШИЙ

“Как бы высоко я ни поднялся, меня всегда преследует собака по кличке Эго.”
Фридрих Ницше

5 вредных привычек неэффективных программистов

Любой команде нужны скромные, голодные и смышленые люди:

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

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

Помните, что ваше эго мешает вам расти и развиваться. Когда вы поверите в вашу непогрешимость, вы убьете в себе творца. Когда вы решите, что вам больше нечему учиться, вы остановитесь.

Я мигом это поправлю

“На вершину нет коротких путей.”
Ангела Дакворт

5 вредных привычек неэффективных программистов

Если вы видите короткий путь – это не значит, что он приведет вас туда, куда нужно. Короткие пути заманчивы и мы все иногда ходим по ним, но очень часто они опасны.

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

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

Я все помню, мне не нужна документация

“Документация – как секс.
Если она хорошая – это замечательно.
Если она плохая – это лучше, чем ничего.”
Дик Брэндон

5 вредных привычек неэффективных программистов

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

Сделайте ее неотъемлемой частью вашей работы. Любая команда – образование нестабильное. Люди нанимаются и увольняются, переходят в другие отделы, заболевают и уходят на пенсию. И по закону Мерфи это всегда случается в самый неподходящий момент.

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

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

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

Это не я!

“Ошибки всегда можно простить, если у вас нашлось мужество признать их.”
Брюс Ли

5 вредных привычек неэффективных программистов

Возможно, это утверждение – самая важная характеристика хорошего разработчика.

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

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

Твое “готово” совсем не готово

“Не заставляйте пользователя предоставлять информацию,
которая уже известна системе.”
Рик Лемонс

5 вредных привычек неэффективных программистов

Будь программирование сексом, в мире было бы много неудовлетворенных компьютеров. Вы делаете что-то невнятное на скорую руку, говорите, что “все готово”, и идете мирно спать.

Помните, “готово” – значит протестировано, соответствует требованиям пользователя и одобрено им. Пользователем, а не вами! То, что “готово” для программистов, далеко не всегда “готово” для юзеров.

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

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

Одно слово

Суть всего вышесказанного укладывается в одно простое слово – ОТНОШЕНИЕ.

Правильное отношение всегда важнее, чем большой опыт программистов. Недостаточно просто работать – нужно формировать правильное отношение к работе: ответственное, позитивное и “голодное”.

Такое отношение сделает вас эффективнее и счастливее и в жизни, и на работе. Оно заразительно – ваша команда это оценит.

“Ваше отношение, а не ваши способности, определяют высоту, на которую вы подниметесь.”
Зиг Зиглар

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

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