When I first started learning how to program, I stumbled onto an extremely strong programming philosophy that was fairly dominant at the Uni...
Computers can do great things for people, but like any other tool, they can also be used for evil. So we, as software developers, need an et...
You learn a lot during thirty years. I tried to write about most of it in this blog, at least from a higher level perspective bringing lots ...
There are two main schools of thought in software development about how to build really big, complicated stuff. The most prevalent one, thes...
The standard definition for engineering from Wikipedia is: Engineering is the application of mathematics, empirical evidence and scienti...
When you have never experienced large-scale software development, your preference is often to prefer fragmentation. You want lots of little ...
“One of these things is not like the others” -- Sesame Street Symmetry is an often ignored property of code that is incredibly helpful when ...
One of the popular ways to build software is to start by focusing on a smaller piece of a larger problem. You isolate that piece, code it up...
Disorganization is extremely dangerous for a software development project. No matter what code quality is delivered by the programmers, if ...
One thing I’ve noticed about the software industry is that there is no unified base of definitions or best practices. Pretty much, everyw...