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 π
Hi,
Thanks for your sharing. I'm into this process now.
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
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 πͺπΌ