7 Habits You Won't Regret Adopting As a Software Engineer
This is not the list I would have written when I started out.
Over time, I noticed that there are things that only have an upside. And almost no downside. These are the things we should do more.
Because: no serious engineer ever regrets doing more of these:
Write an extra tests
Tests take time. And they are tedious. And you think you repeat yourself. And the boss says we should ship fast… so you cut them short.
Fun story: I wrote a piece last year and published it on linkedin. The 80/20 of testing where I said, you mostly need end-to-end and integration tests.
There was quite a bit of backlash from people from the Silicon Valley saying that this wouldn’t suffice.
I have to agree:
Have you ever regretted writing too many tests?
Yes, it can be a drag when refactoring large parts of an application. But then, it’s a good thing. Because you know exactly where things break.
Write another test.
Sketch the solution before you start coding
The thing is this: we think we know the solution right away.
We get carried away with some quick solution, and we want to test it out right away. So we start coding.
After test-running our feature, we see that we have missed some edge cases. Now, we need to come up with a better solution.
This wastes time, and it can be totally prevented by this:
- Think first
- Then code
This is the format we use. It’s easy to create. People can challenge your ideas. And it’s decently visual. We use Google Presentation for it.
See this sample solution sketch
Make CI/CD + stage deployment very early
CI/CD is often done too late. In two ways:
- Devs learn it too late
- PMs demand it too late in the project
That means that showing anything to the client or user needs to wait until the deployment is done.
I recently did an interview with Nico Duldhardt, who is a Devops expert. His main argument was this:
You set it up once, and then you only copy it to the next project. It’s a huge benefit.
Documentation (best: narrative)
Best style: narrative - See Jeff Bezos’ memos. Why? People need to understand WHY something is how it is. Explaining the story is easier to grasp.
Talking to customers
Interviews with
Leave a problem until tomorrow
In the end, the question appears not to be whether sleep mediates learning and memory consolidation, but instead, how it does so.
Sleep-Dependent Learning and Memory Consolidation
I consistently sleep 7.5h, with 2-3h deep sleep - which is really good. My key habits for good sleep:
- No food + drink after 7pm
- Go to bed at 9-10
- A cold room
I also read a Kindle instead of watching a series or movie. However, my sleep has been great as well binging on Shōgun.
Write a blog
I just talked to a friend who is not an engineer:
Should have started a blog 10 years ago - I feel so stupid
What can happen if you actually write a blog consistently. See these answers on hacker news:
Ref: Ask HN: In what unexpected ways has writing a blog affected your career?
Even if a blog doesn’t get traction, it’s still a great way to improve thinking and writing.
That’s why I just wrote this post. Tomorrow there might be another one.
Good luck. And don’t forget to watch full video on this topic for in-depth insight here.