Software is ubiquitous and yet it sucks. Linux and Windows crash every time the temperature fluctuates above or below some unknown range or if you just look at the screen the wrong way. Continue reading
1 shell script
There is no automation other than automatically running this shell script whenever a commit is pushed to whatever branches are active. You don’t need to think very hard to see how this will break down at a certain point. Continue reading
As long as I’m figuring things out here’s another one for you. The Silicon Valley technology worker crunch is a self-inflicted wound. Looking for programmers with X years of experience makes no sense and if this is your criteria for hiring technology workers then you are going to fail miserably. Continue reading
I have finally figured out why all big companies are so schizophrenic. By schizophrenic I mean if you are at a certain level of the hierarchy then all the movements around you seem completely out of whack. You see different groups working against each other instead of cooperatively developing cool technologies and delivering value to the customer. The reason for all of it is what I’m calling the “portfolio theory of management”. Continue reading
Coders gonna code. Designers gonna design. Project managers gonna manage. Architects gonna architect. Vice presidents gonna vice preside, etc. The point is that if you have 10 designer, or 10 coders, or 10 project managers then they are all gonna do what you are paying them to do. None of them will stop and think for a minute that there isn’t work for 10 designers, 10 coders, or 10 project managers.
I have recently noticed something that I’m dubbing “the turing complete framework”. It is not a good thing if your framework is “turing complete”. Examples of such frameworks are AngularJS, Meteor, Ember.js, ExtJS, Rails, Django, etc. All my examples are from the web development world because that is what I’m most familiar with but I’m sure every domain has their own set of “turing complete frameworks”. Continue reading
When people say one programmer is more productive than another what they really mean is that the more productive programmer in general writes code with better structure. Part of that structure is following the conventions of the language and the community and so the code is easier to follow and reason about. But there is also another component of the structure that is harder to quantify and describe, Continue reading
Do you ever wonder why almost every library out there is a convoluted mess of ill conceived abstractions with ill defined composition semantics? I do all the time and I think I have finally figured out why. Continue reading
Many programmers are obsessed with being seen as smart and productive. One of the reasons for this obsession is Continue reading
There are many posts on programmer types but this one is mine.
Most programmers are individually smart but once you put them in a group they become dumb because all their smarts are diverted to figuring out how to show everyone else that they are smart. Once in a while though you come across programmers that are not just smart individually but also smart when you put them in a group. This is rare and I don’t know how it happens but such programmers are usually the easiest to work with and in general just get things done. If you want to advance your career then seek out the programmers that are not just smart individually but also smart in groups because those guys will have your back.