Great companies maintain their insurgent mindset, for fear of becoming complacent and irrelevant over time. Push decision making down to single-threaded DRIs Single-threaded is tech jargon that simply means solely focused on a single area. The single threaded DRI is the most senior person whose only job is to run a given product or initiative, this will typically be a product management or engineering leader. Leverage shared services to minimize duplication
A fascinating article from 2017 on how coding or programming as a mechanism of writing software is frought with landmines. If you’re a software engineer, this article is a must-read. It took a lot of restraint not to just pull-quote every paragraph from this article.
If you’re in tech and have been thinking about your work and role in your company, I highly encourage you to watch this talk by Tanya Reilly 1 Setting myself a reminder to rewatch this again 6 months from now. Such a phenomenal speaker and powerful story telling! Follow her @whereistanya ↩︎
If you’re a software engineer trying to be snarky, it’s important to get these terms right for maximum effect. What is Yak-Shaving? “Shaving a Yak” means performing a seemingly endless series of small tasks that must be completed before the next step in the project can move forward. Is this a good thing or a bad thing? It depends. Yak Shaving is sometimes very much necessary. It’s “bad” only when done unnecessarily.
Sometime back I ran across a thread where folks talked about this programming style called “Space Shuttle style” that the Kubernetes codebase followed. // ================================================================== // PLEASE DO NOT ATTEMPT TO SIMPLIFY THIS CODE. // KEEP THE SPACE SHUTTLE FLYING. // ================================================================== // // This controller is intentionally written in a very verbose style. You will // notice: // // 1. Every 'if' statement has a matching 'else' (exception: simple error // checks for a client API call) // 2.
… You should mention what technologies you are using (because listing WCF or Java will save me the hassle of applying, and you the hassle of rejecting me), but don’t list specific tools, languages and frameworks as requirements. Good developers who know Rails can learn Django or Node. Going between Oracle, SQL Server, MySQL and Postgres is all pretty trivial. … I remember being asked quite eagerly, during a pre-interview, if I knew a specific view engine (like erb, or haml…).
You’d be surprised how valuable the skill of eloquent communication is even in the field of IT. Keeping users apprised with your progress is perhaps the most important thing to do when working with clients. But keeping them apprised is tricky business and the ability to clearly put down in words,what to expect, is a basic necessity today. Even if you have nothing to do with CS or computers, you should read the linked article.