DEV Community

Vincent Villaluna
Vincent Villaluna

Posted on

What programming skills, concept, techniques have you learned so far?

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 ?

MINE:
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.

Single Responsibility
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 :)

Pure Functions
Allows you to test your functions easily and compose your functions.

Monads
Composing functions with same shape(data type) of inputs and output. It helps you with problems that requires chains of transformation of the data.

Currently Learning:

  • 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)

Collapse
 
condinoaljoseph profile image
elpmid

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.

Collapse
 
dimitarstbc profile image
Dimitar Stoev

Related to this - I have seen people try to learn front end frameworks before even get into html, css and JavaScript.

There are thousands resources out there that explain the proper ways and yet, people always try to skip and cheat..

Collapse
 
condinoaljoseph profile image
elpmid

totally agree. im one of them before :)

Collapse
 
john4650hub profile image
JohnDelvin

That is just wastage of time.

Collapse
 
andrewbaisden profile image
Andrew Baisden

I can totally relate to this.

Collapse
 
spaboi profile image
SPABOI

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.

Collapse
 
smitagravat profile image
smit-agravat

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........

Collapse
 
wesen profile image
Manuel Odendahl

Things that were the most influential to me:

  • functional programming, immutable data, composing functions
  • event-driven patterns
  • state machines
  • promises, coroutines, threads: asynchronous patterns
  • queuing theory, and how it applies to performance
  • being a professional developer is about solving problems, sometimes with software. the software itself is a tool
  • product-first thinking, of which DDD is a formalization
Collapse
 
sswam profile image
Sam Watkins

“If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.” Linus Torvalds (1995).

Collapse
 
john4650hub profile image
JohnDelvin

I just learnt how the phaser game engine works.
Am still learning how to use the python standard library.