A great way of creatively solving a problem is through boredom. If you are having a hard time coming up with a solution, simply stop what you're doing and let your mind wander.
Office Tribes
Tribal living was fundamental to our way of life for millions of years. Its a way of life that is ingrained within us. But our new modern environment doesn't jive with our built in way of life. What should we do?
Generalizing Specialists and Transactive Memory
In the last decade I've been fortunate, or unfortunate depending on your view, in going through multiple company transitions from Waterfall to Agile practices for organizing software development work. Most...no, all the transitions didn't go very well. What they all had in common was that they hired a "certified" scrum master to lay down the … Continue reading Generalizing Specialists and Transactive Memory
When To Stop Looking at Code Coverage – Goodhart’s Law
All companies want to know if their investment will bring them value. In order to understand how much value they are getting, the company will implement some sort of measurement. This is common sense: I invest, show me what I'm getting with my investment. However, a measurement can have an adverse side affect in the … Continue reading When To Stop Looking at Code Coverage – Goodhart’s Law
Fractal Dependency Segregation – Creating Clean Code
Spaghetti code is something that all developers know is bad and have an idea on how to not create it. Looking at your system as a fractal system will help prevent spaghetti code.
Software Principles and Misintegrated Thinking
All these software principles and practices can be hard to keep up with when developing applications. They can be even harder to implement. One thing that makes it difficult is figuring out when not to follow them. Like a good database architect would say: it takes experience knowing when to denormalize data. One problem that … Continue reading Software Principles and Misintegrated Thinking
AngularJs 1.x and the Lindy Effect
A couple years ago I had to agonize over which version of Angular to use for my front end development of a brand new project: AngularJs with all my currently built up knowledge, or the new framework that's the future. In deciding which technology to use in a project, we definitely need to be thinking … Continue reading AngularJs 1.x and the Lindy Effect
Optionality and Reusable Coding
All developers have been told to write reusable code. I remember having that drilled into my head in college by my professors daily. The main reason we have to write reusable code: so we don't have to write the same code twice. That is a perfectly valid reason and I can't argue with that. But, what … Continue reading Optionality and Reusable Coding
To The Cloud! Optionality For Quick Fixes
Full disclosure: I love working in the Cloud! I've been at a few companies that have their infrastructure in the cloud, including my current position. The cloud makes it incredibly easy to create servers and environments, and that really helps when one is in a pinch. Speaking of a pinch: recently I got myself into … Continue reading To The Cloud! Optionality For Quick Fixes
Open/Closed and Expected Outcomes
When I'm trying to be a good developer and apply SOLID principles to my coding practice, I usually get a little frustrated with applying something so abstract. One issue that has frustrated me a lot is with the Open/Closed principle: when to say that a piece of code/entity is now closed to change. After many … Continue reading Open/Closed and Expected Outcomes









