Hello world ๐
After 4 years of building and maintaining software products, I decided to share a list of stuffs I would like to have known at the time I started programming ^^
1. Working on a new project / feature / technology ? Start with the WHY.. not the HOW
At the beginning I was 1000% motivated to try so many stuff ๐ฅ ( I am still though ๐ ), but was too focused on the HOW part..
How can I use Angular to develop that website ?
How can I implement that feature ?
Doing so made me only feel like a robot whose mission is to "deliver".
But bruh๐คจ, delivery is the only goal -> that's how I get my salary at the end of the month
I know ๐ฉ but wait๐
would going like that be fun in long-term ๐ค ?
So what if I instead put myself in the POV of the client. Starting with "Why do we need that feature?"
That may trigger a new conversation/debate like:
Client: we need that in order to have more visibility on our products
Dev: Hm ok I get it, that feature will take 2 weeks to dev. Also what about adding an email marketing + notifications ?
Client: sounds cool ;) let's brainstorm that during our next planning
2. Everyone can mentor ๐จ๐ปโ๐ซ
Mentoring is not about only sharing knowledge to the other, but I also learned a lot in the process.
That helps the team to have common ground process and participates in a better team cohesion.
That has contributed to break my shyness too ๐๐ฝโโ๏ธ
3. Stop losing code ๐ ๐ผโโ๏ธ
Yep -> several times during my seasons at the university, I "lost" codes due to a folder deleted or a saved file without history ( so not able to recover old versions ).
Hoya..what if you could go back on time ?
I would have included Git in my main tools.
It allows us to commit / push my codes into the "cloud" and keep track of my changes ( no more code lost ๐ช๐ผ )
Git is my everyday bae โค๏ธ..Git may be your bae too
4. ๐ More emphasis on tests
Old process: I develop a feature to add items to cart in an e-commerce website.
Let's deploy my changes to the preprod environment.
Waiting for the QA to test...๐
โ๏ธ Two days later:
QA team : โ ๏ธโ ๏ธโ ๏ธโ ๏ธโ ๏ธ Mayday mayday ๐จ the app has crashed
Me: sorry ๐ we were counting on you to test all possibilities in that new functionalities :( we're gonna fix and deploy for you to test
QA team : are you for real ? ๐
Next-gen process: Write tests ^^
Let us not depend on a QA team to test all our code..we are not only developper but first of all -> OWNERS of the project.
Indeed๐ญ but what is the solution ?
I would like to have known the importance of tests at the beginning to avoid wasting time testing manually each features.
Check out that interesting article on Unit Tests: https://dev.to/codingpizza/what-is-a-unit-test-1e1m
A small snapshot showing green tests ( using Jest ) here before committing my code ๐
โน๏ธ Conclusion
we are all learning, I missed a lot of stuff but doing errors is just a part of the process ;)
What would you want your younger self to have known several years ago ?
Peace โ๐ผ and stay tuned for the part 2 ๐







Top comments (10)
I agree on the first point of focusing on the why and not the how. I think itโs a generic problem because as software engineers, we try to have a mental picture of how we would solve a particular task. Most times we have this connections in our head and a lot of questions keep on popping up. I try not to dwell on the why too much, I try my best to develop one feature at a time. At the end of the day, the how will show you how itโs supposed to be done.
"I try not to dwell on the why too much" yes good one ^^ Indeed, it's still good to know why we are implementing a new feature but not worth to waste too much time at time at it ๐ ๐ผโโ๏ธ
Thank you @fiatinnovations ๐
As I am starting my programming journey this is helpful.
Thanks decker
Great article๐๐ผ
Patience! with others and especially with yourself. This will allow for everyone to feel safe and bring out the best from both sides
Hi,
Thanks for your sharing. I'm into this process now.
Great points, I just started a couple months ago so opens my mind read that kind of tips.
Wonderful advice!
a big +1 to the "Do, do, do" part ๐ -> not wasting too much time thinking but instead start and learn through errors ;)
Thank you @dirkecker ๐ช๐ผ
Great article! thank you.
no prob ^^ all the best Ali ๐ช๐ผ