Any fool can write code that a computer can understand. Good programmers write code that humans can understand Martin Fowler
To be a programmer is to sign yourself up for a life of constant learning. The fountain of new new features, new languages, new tools, new frameworks never stops gushing. But computer science is also a surprisingly traditional field that’s grounded in time-tested principles. We’ve added object-oriented programming, modern hardware, and artificial intelligence. But despite these changes, many of the insights that were first articulated a generation ago still hold true today. Because while old technology quickly becomes useless, the ancient commandments of our programming ancestors have a lot more staying power.
While you go ahead with learning and developing, please try remembering few quotes which are funny and at the same time mean the difference between a good and a great coder.
- Simplicity is prerequisite for reliability. Edsger Dijkstra
- Dont repeat yourself. Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. Andy Hunt and Dave Thomas
- There are only two hard things in computer science: cache invalidation and naming things. Phil Karlton
- First, solve the problem. Then, write the code. John Johnson
- Fix the cause, not the symptom. Steve Maguire
- Optimism is an occupational hazard of programming: feedback is the treatment. Kent Beck
- Simplicity is the soul of efficiency. Austin Freeman
While coding and development tasks involve a versatile number of tasks, they can be segregated into top few groups which impact the most. This article tries to connect those dots and provide a list of topics for you to focus your attention so that you can evolve into a better developer.
Coding and Development
- Programming Logic
- PHP/Logiks Training
- PHP/JS working knowledge
- XML, JSON understanding
- API understanding
Design Principles and Practices
- Hungerian notation of coding (Please read the SILK Coding Standards Guide)
- Code Management Guide
- Design patterns
- Code Security
- Performance
- Buffering
Advanced Tasks
- DevOPS
- Statistical Analysis
A last minute thought for you to think - Before software can be reusable it first has to be usable. Ralph Johnson