Stuff I wish I'd known ( before those 4 years of programming ) - part I
Olaf Ranai { dev-it-out }
Posted on March 27, 2022
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 π
Posted on March 27, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
October 28, 2024