So, welcome to the 20th edition of developer news.
This week, I don’t have anything in the way of libraries, frameworks, languages, or updates of that nature, but have a few links that I feel are worth looking at relating to reflecting on how we approach software development, as well as a bit of blockchain theory for anyone wanting to be aware of this at least.
1 : A Hitchhiker’s Guide to Consensus Algorithms
First up is as the title suggest, a nice introductory guide to consensus algorithms. If you don’t know, then consensus algorithms underpin the trust-less nature of blockchain technologies and therefore cryptocurrencies.
Whilst this article does take a crypto currency perspective on these, it is a good introduction to the different types of consensus algorithms, and why there are needed. For me, I’m more interested in blockchain technologies than crypto currencies, but am still very wary of the hype.
I think there are some genuine use cases, but certainly many many solutions looking for a problem.
2 : Skype security flaws require a rewrite?
This second item is an article relating to a pretty serious Skype security flaw allowing the attacker to gain system level privileges.
The most concerning part of this is that it would seem that to fix it, Microsoft have to rewrite the client.
Now, whilst we don’t have any technical details on exactly why that is the case, it is an interesting point.
I have seen many systems degrade over time that the only way to fix it is a rewrite. Sometimes that is true, and can be a result of compounding poor decisions over time. Sometimes though, we need to be braver with our refactoring efforts and not be afraid of tackling horrific codebases. There are tools and techniques that can be used to pull systems apart and put them back together in a controlled way.
I don’t know about this instance, but sometimes, it’s far to easy to say it needs a rewrite when we just need to accept the challenge.
3 : Extreme ownership and software engineering
Next is a nice article about the idea of Extreme ownership, taken from Jock Willink’s book of the same name. This article looks at what the concept of extreme ownership and responsibility would look like in the context of software engineering.
It’s a nice article about responsibility, overcoming insecurities to say ‘I don’t know the answer’ and owning up to mistakes.
I think if more development teams adopted this approach, our work could only benefit, and some of the best teams I have worked with certainly operate in this way.
4 : Lessons learned from Age of Empires
Finally for this week, another look back on lessons learned from past projects. This one is a look at lessons that were learned during the development of Age of Empires 1.
As you know if you have been following the dev news posts here, I’m a big fan of looking back on my own projects that I have been involved with as well as learning from other developers doing the same, so check it out!
So, that’s it for this week.
If you have any articles, announcements, tutorials, or anything else you think should be included next week, then just drop me an email.