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 π
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
As I am starting my programming journey this is helpful.
Thanks decker
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.
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 πͺπΌ
Wonderful advice!
Great article! thank you.
no prob ^^ all the best Ali πͺπΌ