20 Bad Programmer Habits to Avoid for a Stronger Career
This article outlines twenty common bad habits of programmers—from inconsistent terminology and poor documentation to neglecting official docs and inadequate testing—explaining why they hinder growth and offering concrete advice on how to develop professional coding, communication, and teamwork skills.
Today we discuss the essential professional qualities of an excellent programmer and identify the subtle habits that distinguish good developers from the rest.
1. Inconsistent Technical Terminology
Incorrect spellings such as "JAVA", "javascript", "python", "MySql", "Hbase", "restful" appear frequently in resumes and documentation. The proper forms are Java, JavaScript, Python, MySQL, HBase, RESTful. Overlooking this can cause interviewers to reject a candidate.
2. Mixed Chinese‑English Formatting in Documents
Using English punctuation for Chinese text, full‑width characters for numbers, and omitting spaces between Chinese and English/numbers makes documents hard to read. Adding a space between languages and numbers improves readability.
3. Missing or Overly Verbose Comments on Critical Logic
Complex, important code often lacks comments, leaving only the original author able to understand it. When comments are present, they should be concise and clear; simple code may not need comments at all.
4. Writing Overly Long, Complex Functions
Functions spanning hundreds of lines or files with thousands of lines become unmaintainable. Follow design principles such as the Single Responsibility Principle and the Open/Closed Principle, and keep the core logic clear even when complexity is unavoidable.
5. Ignoring Official Documentation, Relying on Low‑Quality Blogs
Many developers turn to unreliable blogs instead of official docs, which are often comprehensive and accurate. Reading official documentation first saves time and prevents misinformation.
6. Dismissing the Value of Fundamental Knowledge
Chasing the latest frameworks without understanding underlying principles (e.g., computer architecture, operating systems, network protocols) limits problem‑solving ability. Grasping fundamentals makes learning higher‑level technologies easier.
7. Showing Off Without Substance
Some programmers constantly name‑drop trendy technologies but cannot explain details when questioned, revealing a lack of depth.
8. Refusing to Accept Criticism
When peers raise concerns, defensive responses replace rational analysis. A learning mindset and constructive discussion are essential for collaboration.
9. Unstandardized API Agreements
Relying solely on verbal API discussions without documented specifications leads to mismatched expectations and painful integration issues.
10. Stubbornly Tackling Problems Alone
Junior developers often persist with a problem until the deadline passes, producing no output. Promptly reporting issues demonstrates responsibility to oneself and the team.
11. Talking Big, Delivering Little
Some can elaborate impressive technical proposals but fail to produce working code, exemplifying the “all talk, no action” problem.
12. Illogical Communication and Lack of Perspective
Presenting solutions without context confuses listeners. Effective communication requires background, clear reasoning, and empathy for the audience.
13. Being a "Help‑Seeker" Without Prior Research
Instead of searching online or thinking through a problem, some immediately ask others, wasting everyone’s time. Thoughtful queries after personal investigation improve the quality of assistance.
14. Repeating the Same Mistakes
Promising to improve yet repeatedly making the same errors reflects poor attitude and lack of accountability.
15. Adding Features Without Considering Extensibility
Focusing on a narrow business slice without designing for overall system growth leads to code bloat. Analyzing future requirements and creating generic solutions reduces later maintenance costs.
16. Not Self‑Testing Interfaces and Ignoring Logging
Deploying untested APIs and failing to log errors hampers collaboration and debugging efficiency.
17. Non‑Standardized Commit Messages
Vague or missing commit descriptions increase the cost of tracing issues, especially for minor changes. Establishing a commit‑message guideline improves traceability.
18. Directly Modifying Production Databases
Editing live databases without safeguards (e.g., missing WHERE clauses) can cause data loss. Always review changes with a teammate before execution.
19. Writing Code Before Clarifying Requirements
Jumping straight into implementation without fully understanding the requirement often results in rework. Investing time in requirement analysis prevents misunderstandings.
20. Failing to Document Important Designs
Key architectural decisions without written documentation lead to knowledge loss during handovers. A well‑crafted design document can be more efficient than reading hundreds of lines of code.
Summary
The habits above can be grouped into four core areas: solid programming discipline, a humble learning attitude, effective communication and expression, and strong teamwork. While mastering advanced technical skills takes time, cultivating these professional habits is achievable in the short term.
Good coding etiquette
Humility and continuous learning
Clear communication and expression
Team collaboration focus
Improving these areas will help any programmer become more competent and reliable.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
dbaplus Community
Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
