No, dynamic type systems are not inherently more open There is a battle between static and dynamic typing in the programming world, and the battle will likely always be there so long as humans write code. I maintain that both dynamic and static types have their place. This article pushes against one particular argument used for why dynamic types are better in systems where types are unknown. Software Architect This is probably one of the most succinct explanations of what a Software Architect does and what they should likely know and understand, This is the role I am currently filling and I foresee myself referring back to this frequently.
From 15,000 database connections to under 100: DigitalOcean’s tale of tech debt Tech debt can be a nasty thing, but when the scale of your application or infrastructure keeps growing that tech debt can turn into a many-headed hydra. DigitalOcean is a developer-focused cloud hosting provider and has been enjoying quite a bit of success, but that success meant their tech debt was getting out of control. Goodbye, Clean Code
Beware SAFe (the Scaled Agile Framework for Enterprise), an Unholy Incarnation of Darkness I’ve recently started on a project that is using SAFe, so this was an especially interesting article for me to read. I went through SAFe training last month and am expected to get my certification this month. I can see an understand a lot of the issues the author has run into. I’ve seen some of the same issues, others I’m not so sure about.
It’s been another one-article kind of week. Peacetime Productivity, Wartime Productivity When you have room to breathe and things are calm you can work your normal processes and just keep getting things done. But when something goes very wrong you need to shift your strategy. This article talks a little about this productivity dynamic and provides resources to find more information.
I started a new project this week so it’s been long and I’ve been busy. So here’s one good solid link. The Amazon Builders’ Library There are a lot of different concepts to try and keep track of when building applications. AWS has created a library focusing on architectural and continuous integration/continuous deployment topics, providing an easy reference point for finding information on these topics.
[The Relationship Between Modularity and Polymorphism](https://dzone.com/articles/the-relationship-between-modularity-and-polymorphi> How much of your Object-Oriented theory do you remember? I don’t generally remember much of it and this article was a great refresher. It may have even gone into more detail than my OOP course in college did. OOP isn’t always important for everyone, but I know a couple of companies that are big on Clean Code and I’m sure they are at least starting to push Bob Martin’s Clean Architecture.
Announcing the Bytecode Alliance: Building a secure by default, composable future for WebAssembly – Mozilla Hacks - the Web developer blog Recently the Bytecode Alliance was formed with Mozilla, Fastly, Intel, and Red Hat as founding members. The goal of the Alliance is to create standards and guide the development of WebAssembly outside the browser. By implementing “nano processes” with sandboxing and other features they hope to create a more secure ecosystem to help stop or slow down the spread of malicious code.
Addressing Technical Debt Let’s talk about technical debt. You have it, I guarantee it. Maybe you’re lucky and it isn’t much, but it is still there. It’s not necessarily your code. It could be your documentation. It could be that you’re not using the latest version of your programming language. It’s always something and it will keep piling on until it becomes an issue. Take time and address it. You may not be building any new features, but you’re ensuring you don’t have more issues down the road.
Technical Considerations to Help Scale Your Product It’s important to ensure you “right-size” your application. Scaling it to be too big too soon costs money, keeping it too small for too long costs you users. This article goes into what scaling means and how you should work on scaling an application from the cheapest options to the most expensive. Let’s Not Misuse Refactoring The word “refactor” isn’t always used consistently. This article dives into what refactoring means and what is and isn’t included in refactoring using Martin Fowler’s Refactoring book as a source.