20 Bad Habits of Programmers and How to Overcome Them
The article outlines twenty common bad habits of programmers—from inconsistent terminology and poor documentation to neglecting official resources and teamwork—explaining why each is detrimental and offering practical advice for cultivating professional competence and collaborative success.
Hello, I am Kaito. Today I want to talk about the basic qualities of an excellent programmer.
Many of us have encountered programmers who appear overly professional in code, documentation, and communication, and we wonder how they achieve that. Over time I have identified a series of seemingly small but essential habits that reflect a programmer's fundamental competence.
Below is a list of bad habits that hinder growth; avoiding them can help you become a better developer.
1. Inconsistent spelling of technical terms – Examples include writing JAVA, javascript, python, MySql, Hbase, restful. The correct forms are Java, JavaScript, Python, MySQL, HBase, RESTful. Inconsistent spelling can cause interviewers to reject a résumé.
2. Mixing Chinese and English in documentation without proper spacing – Using English punctuation for Chinese text, full‑width characters for numbers, and omitting spaces between Chinese and English makes the document hard to read. Adding a space between languages improves readability.
3. Missing or overly verbose comments for important logic – Complex or critical code should have concise, clear comments; trivial code may omit comments, but unclear or lengthy notes hinder understanding.
4. Writing overly long, complex functions – Functions spanning hundreds of lines or files with thousands of lines become difficult to maintain. Follow design principles such as single responsibility and the open‑closed principle, and keep the core logic clear.
5. Ignoring official documentation and relying on low‑quality blogs – Official docs are usually well‑written and cover common issues; they should be consulted before turning to unverified blog posts.
6. Dismissing the value of deep fundamentals – Chasing the newest frameworks without understanding underlying principles (e.g., computer architecture, operating systems, network protocols) limits problem‑solving ability.
7. Showing off without substance – Throwing around buzzwords sounds impressive, but when asked for details the person often cannot respond.
8. Refusing to accept criticism – Responding defensively to questions rather than analyzing pros and cons hampers learning.
9. Unstandardized API contracts – Relying on oral agreements without written specifications leads to mismatched expectations during integration.
10. Stubbornly wrestling with problems alone – Persisting without seeking help can cause missed deadlines; timely communication is responsible behavior.
11. Talking big but delivering poor code – Over‑promising in design discussions but failing in implementation reflects a gap between theory and practice.
12. Illogical communication and lack of perspective – Failing to provide context or consider the audience makes discussions confusing; effective communication is foundational for collaboration.
13. Being a "copy‑and‑paste" asker – Not searching or thinking before asking questions wastes others' time; thoughtful queries improve the quality of help received.
14. Repeating the same mistakes – Acknowledging errors but not learning from them shows an attitude problem.
15. Adding features without considering extensibility – Focusing on a narrow business need without designing for future growth leads to code bloat.
16. Not self‑testing APIs and neglecting logs – Deploying untested interfaces without proper logging reduces collaboration efficiency.
17. Inconsistent commit messages – Vague or missing commit descriptions increase the cost of tracing issues; a commit guideline improves traceability.
18. Directly modifying production databases – Editing live data without safeguards (e.g., missing WHERE clauses) can cause data loss; always review changes with a teammate.
19. Coding before clarifying requirements – Jumping straight into implementation without understanding the problem leads to rework.
20. Not documenting important designs – Relying on oral hand‑offs loses critical information; a well‑written design document is often more efficient than reading hundreds of lines of code.
Summary
Which of these habits apply to you? Identifying and avoiding them early is essential to becoming an excellent programmer.
These habits can be grouped into four areas:
Good programming discipline
Humble learning attitude
Effective communication and expression
Team collaboration
While mastering advanced technical skills takes time, cultivating these professional qualities can be achieved quickly.
Hope you can correct your shortcomings and keep improving.
Full-Stack Internet Architecture
Introducing full-stack Internet architecture technologies centered on Java
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.