Gant Software Systems

Blog Posts

The Rant Is Overdue

Probably at least once every couple of weeks, I get into (sometimes heated) discussions with other software developers about their careers. I see so much helplessness, so much hopelessness, and so much dependence on others and it’s all entirely unnecessary.

So, it’s time I said some things that need saying. It’s time to smash some ugly, easy lies so that beautiful, subtle (and often difficult) truths can flourish. It’s time for me to have THE TALK with you (no, not that one, this one). It’s time for me to tell you why you are absolutely nuts as a software developer not to be making progress towards self-employment. After more than a decade in this industry, I can tell you that the best time to have gotten in business for yourself is five years ago. The second best time is right now. Below are some very good reasons. It may sound like I’m bashing employers; I’m not. It’s just that their concerns and yours are increasingly not intersecting. As a consultant, that is fact number one in your mind; as an employee, it should be, but is easily ignored until it can’t be ignored.

The Cost of The Deathmarch

I’ve had a few projects over the years that have required insane amounts of work in a very short time period and usually have tremendous and horrible consequences for at least one person on a team (or the company as a whole). Besides the occasional server crash or “if we get this thing out, we land a huge customer” type of work, I’ve noticed some significant commonalities about deathmarch projects that I believe could be used to help an individual detect whether they are about to sign onto one. It’s hard to tell when you are interviewing, but after mulling it over, every single time it has happened to me, the signs have been there all along. So, without further ado, allow me to introduce some warning signs that I’ve noticed that frequently come during interviews or the first week of working a death march project.

The Anna Karenina Principle in Software Development Environments

All healthy companies are much alike; all dysfunctional ones are dysfunctional in their own way. For instance, every healthy company I’ve worked at has fairly consistently spent time and effort to make sure their employees are appreciated and productive. They’ve spent time involving the employees in the process, giving them workable goals to progress towards, and generally making sure that their people are taken care of so that they can take care of the company. And while such stability is laudable and makes the places fun to work, if you really want the good war stories, you have to work at a dysfunctional place.

Types of Code Comments

It’s pretty common for developers to disagree on the role of comments in source code, sometimes in a rather vehement manner. I think at least part of the problem comes from a fundamental misunderstanding, in that most developers simply don’t explain well what they mean when they talk of well-commented code. I believe there are multiple types of code comments, of varying value in different stages of a project and I also suggest that when disagreements come to pass over comments, it’s largely because developers are using the same word to describe very different things. Here are the types of code comments I commonly see and what purposes they serve well.

A Very Special Birthday

I don’t normally post on Fridays, but I’m doing so today in honor of a very special birthday. Today, my paternal grandfather would have turned 100 years old had cancer not taken him from us 21 years ago, and as I’ve reflected on things he taught me so many years ago, I realized that perhaps the best way to memorialize that would be to share some things. I’m writing a bit freeform, so I hope this doesn’t turn into a eulogy (I can’t do the man justice).

How I Get Things Done With Evernote

I use Evernote as my software package of choice for managing to do lists, as well as for archiving the little bits of data I need here and there. Following (somewhat loosely) David Allen’s Getting Things Done methodology, I’ve created the following notebooks in my evernote account.

On Reliability

It’s been an interesting couple of months. While I’ve been getting the business going, I’ve also been trying to get my house ready to sell, trying to sell the house, and picking up contract work. What’s been amazing to me during the process is how utterly unreliable some companies and individuals are that I’ve worked with. For instance, I’ve dealt with plumbers who said that the work they were doing replacing galvanized pipe under the house would be done within a single day and ended up losing some shrubs I just planted because the water was off for three days during a heat wave. The same plumbers also managed to knock some duct work and a dryer vent loose, ultimately causing moisture problems under the house, which made a buyer back out at the last minute.
Reliability is not free, nor is it cheap, but lack of reliability is even more expensive. In terms of business, the problems they created cost me several thousand dollars, both in repairs and in opportunity cost (because there were quite a few hours I was not able to work out of the house when I expected to be able to, because we had to go through the process of showing it again).

On Depression

Editor’s Note: I had initially scheduled this post for last Thursday. Due to some things that were going on related to depression (not for me, but for a friend), I elected to put off the posting.

Depression is something I’ve noticed that is remarkably common among software developers and other IT folk that I’ve worked with. I’ve had some pretty unpleasant experience with it myself. It’s a strange thing when it comes up. There often seems to be little reason, or what reason is there is vastly overblown. I also don’t have a cure for it, and neither does anybody else. Anybody who tells you otherwise is trying to sell something, and you’ll be solicited for whatever it is in short order.

16 Things No One Told You About Freelancing

Wise generals of the past have an old saying. No battle plan survives first contact. It’s true. Whatever you have planned is subject to the whims of fate. I had plans going out on my own as a freelancer. Some have come to pass. Others have been…adjusted by experience. I think everybody that makes it through their first six months or so has a list (and everybody further out probably has updated their list as time goes on). This is my list so far of the things I’ve noticed that nobody really told me (or they suggested, but I didn’t listen very well). Here are my top 16 things that I just didn’t really understand fully until I started freelancing.