Too Much Work, Not Enough Energy

May 24, 2017

It’s not like I haven’t wanted to write more in this blog, but this all consuming project of the past 16 months has taken all of my time and energy. So far this year I have worked most of the days including weekends until recently.

Yes I wrote I wouldn’t do that. But there isn’t much choice given the high profile nature of the project, the complexity of everything, and especially that the team I work for being the lead team for something with more zeroes in any budget I have ever seen. Despite the grandiose budget our team is usually tasked with more work and less money given a budgetary process that makes no sense to me, and we all tend to get it done anyway despite whatever is expected of us.

Also they pay me a whole lot which makes it more palatable.

Read the rest of the article…

The Biggest Difference Between Coding Today and When I Started in the 80’s

Mar 20, 2017

I’m a lot older.

But seriously, the biggest skill back then was invention, creativity, imagination, whatever you would like to call it; unlike today there was no Google, no Stackoverflow, no open source at your fingertips, rarely even someone to email to ask for help. You were basically programming on an island, and anything you needed to figure out or solve, you had to do it yourself. Sometimes you might go to a library and search books and journals, or maybe you could ask someone at a user group or conference, or if you were lucky someone you knew was a programmer. Generally though no matter what you wanted to do it was on your shoulders to come up with it. Even if someone else in the world was solving some similar problem, you probably had no way to know about it.

What you need today is searching, understanding and evaluation. You have access to the world’s smartest (and sometimes dumbest) people. The chances that something you need hasn’t been done elsewhere is rare and the real skill is in finding it, relating it to what you need, deciding if it is useful or adaptable, and if it is of a decent quality.

Read the rest of the article…

The Six Goals Of Every Programming Project

Mar 13, 2017

When I shipped my first app in 1987, Trapeze, I had no idea how many more things I would be shipping over the next 30 years. In all that time I have been working to reach the same end goals for each project release.

None of these have changed from that first product to today: what has changed is that there are many more ways to get there, or not.

Although some of these might not be relevant to every type of programming, if they are relevant you need to be successful with all of them; it isn’t useful to do some of them well and suck at the rest. Assuming you are honest in evaluating how your project or team wound up these are goals which cover most of where you want to end up.

Read the rest of the article…

Enough With Autoplay Videos, Time For Browsers to Kill Them

Feb 8, 2017

I am so sick of going to a website and then seeing a video which loads and then autoplays. This means I have to sit there and wait for it to waste my bandwidth, then tap the pause button.

Even worse are the people who cleverly hide the controls, or move the damn thing around on the page. Often I switch to Safari reader mode but people break their document up so it doesn’t work. It’s bad enough when people clobber their own page with ads or requests for signups or other irritating crap. But the autoplay videos are the worst sin.

I like to read, I don’t care to sit there and watch anything unless I expressively push play. Previously when people used flash you could disable the flash plugin and the videos and especially the video ads just couldn’t play. Now with html5 you can’t stop them as simply. I know there are plugins and extensions and hacky things I can install but I don’t care.

Read the rest of the article…

Strive For Simple In Everything

Feb 6, 2017

Having shipped software for more than 30 years now, in many different environments and industries and forms, the one thing I’ve found that distinguishes the best projects from the not so good ones is Simple.

Simple is not simplistic, it isn’t quick and dirty, it isn’t lazy, it usually takes longer and it’s not doable without imagination and creativity. Simple is also not just about writing code, it involves everything associated with building software, from people to processes, from how you make decisions to how you organize their implementations. Simple is an attitude, it has to pervade everything you do and how you think and you can never stop looking for it, because as soon as you allow complexity in it will take over everything and you won’t be able to remove it again.

Simple sounds like snake oil, it seems too easy a word, too primitive to possibly matter. After all modern software is itself complex, with so many demands on what it has to do, so many requirements, so many interactions with other software, and constant worries about security. How can such a simple idea make any difference? Isn’t this yet another ideal no one can ever match up with?

Read the rest of the article…