Always keep on learning in order to get more options.
By now I have studied software engineering at university for 6 years and then worked professionally within the field for another 6 years. During this time I have picked up a few patterns, methodologies and assorted tips & tricks that I would like to share with everyone. Hopefully you’ll learn something, and please let me know if you disagree with anything. There are always different aspects of every topics and I would love to hear your thoughts about it!
Practice disaster scenarios, at the very least as thought experiments.
Some ideas to get you started: What happens if your Kubernetes cluster gets funked up? What do we do? Create a new one from scratch? Do we know how to do that? What happens if our production database gets corrupted? Do we have backups? And do we know how to restore one? Make sure to write down clear instructions beforehand so that some sleep-deprived on-call developers don’t cause even more harm by panicking when we have a real incident.
I read at least 25 books per year, both fiction and non-fiction. I have also worked out a system in order to get as much out of each of these books as possible, and most importantly to actually remember what I read. Today I would like to share my system in case it might help someone else.
This is how I read a book.
What to read This might sound like an obviously important topic, but don’t worry too much about what to read.
I believe software developers have just as high ethical responsibilities as engineers within other disciplines. Many engineers (and other professionals) do for example not want to work with weapons, animal experiments and so on. My opinion is that you should consider the ethical implications of your work even if you are within a more “mundane” field such as e-commerce or game development.
This is especially important considering the fact that we are just a limited number of people with the knowledge how to develop the applications that are used by the majority of the world’s population.
In Swedish, “efficiency” and “effectiveness” are both translated into the same word. With Swedish being my mother tongue, this leads me to sometimes mixing these terms up. This article describes the difference between the two concepts, and why both are important to understand.
The influential author Peter Drucker defined the difference between being efficient and being effective in the following way in his management book The Effective Executive: The Definitive Guide to Getting the Right Things Done:
Being a consultant, I’m quite used to switching projects and thus have had a bit of practice in handing off a project to other developers. This has led me to a range of conclusions that I think can benefit every serious software engineer, consultant or not. I would like to summarize these findings into the “last week mindset”, or; if this was your last week on your current assignment, how would you spend that week?