From the time you start learning how to code until having a job(freelance, part-time, full-time), what concepts, techniques have you learned that help you from your entire career as a programmer ?
OOP and Design Patterns
For me I learned Object Oriented Programming by applying Design Patterns which also helps me to properly understand abstraction and utilizing interface.
I believe it is the most common practice that every programmer should know.
TDD specially UNIT TEST
Time consuming but worth it, it helps you to refactor functions easily without worrying about having wrong implementation cause of refactoring. Writing test is fun :)
Allows you to test your functions easily and compose your functions.
Composing functions with same shape(data type) of inputs and output. It helps you with problems that requires chains of transformation of the data.
- Domain Driven Design - (DDD)
- Low Level Design - (LLD)
My thoughts ?
I prefer learning techniques and concepts which can be applied in any programming languages because it helps me to write quality code.
Following the concept should be a habit because sometimes we procrastinate on refactoring making our code better, break the habit on (as long as it works then we settle) we should not settle we should improve them as long as it can be improved.
How about you guys, I want to know yours as well please share on the comments :)
Top comments (10)
One of the mistakes of every developer made, including me is they are obsessed on learning new frameworks, instead of learning the importance of programming best practices and principles. I am currently learning what you've learned, reviewing SOLID principles, pure functions. Probably will focus on OOP and design patterns afterwards.
There are thousands resources out there that explain the proper ways and yet, people always try to skip and cheat..
totally agree. im one of them before :)
That is just wastage of time.
I can totally relate to this.
I am really focusing on web and app development frameworks and languages. Taking my time learning and experimenting with each of them one by one. Mainly focusing on front end right now. It’s a fun journey so far.
No matter how boring it is read documentation it will solve 80% of little frustrating errors that we don't realize while coding before starting to learn new framework or library at least take a look at documents it will help........
Things that were the most influential to me:
“If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.” Linus Torvalds (1995).
I just learnt how the phaser game engine works.
Am still learning how to use the python standard library.