I'm starting a new job next week. This seems like a good opportunity to look back on my career as software engineer. What did I expect from the different jobs and positions and what happened?
"You have good values." This is one of the nicest things anyone could say to me. Values tell who we are and what we think is important. If my coworkers can see my values in how I behave, I think I have succeeded in my working career.
This post is a summary of Never Split the Difference by Chris Voss.
This post is a summary of Chapter 2, "How to work well in teams", from Software Engineering at Google.
Software development is a team endeavor. To succeed in a team, you must reorganize your behavior around the core principles of humility, respect, and trust. What makes or breaks your career is how well you collaborate with others.
I've had the privilege to participate in recruitment in two companies. I've seen a hundred CVs, read dozens of cover letters, and interviewed many applicants. Based on this experience, I can share a few learnings on how to write a good job application.
The Five Dysfunctions of a Team by Patrick Lencioni is a classic in teamwork literature. Recently I've been reading the author's follow-up book The Ideal Team Player. I've only started reading the fable, but I couldn't help taking a peek at the end of the book where I found an interesting self-evaluation test for anyone interested in improving their team work skills. I thought it's quite cool so I'll share it here!
Back when starting my first software development job I thought my success at work would be directly determined by my programming skills. Of course, that's not the case. One can be the most productive and clever programmer in the world, but that alone isn't sufficient for a satisfactory career in software development. You'll need to get along with people, know which problems not to fix, deal with pressure, etc.