I’m really not much of a programmer.
Yes, my job title technically does have “developer” in it, but I’m really not happy when I have to build things from scratch. I much prefer to mix already working things together in ways that get the job done in a quick and effective manner. Hopefully something that’s at least “close enough” at worst.
That’s not always possible.
And that’s what I’ve been dealing with at work on this one project.
Because I’m not much of a programmer, there’s no single language that I’m awesome with. At best, I’m mediocre with a few. And when it comes to some things, I’m really not that good at all. So I run into a lot of problems as I’m trying to get things to do things they don’t normally do.
But! I do have my own way of working through things. A lot of it relies on letting my subconscious bang it’s head against the issue while I occupy my conscious mind with something else (like, say Facebook, or another project).
Nine times out of ten, the solution pops into my head in less than an hour (sometimes much sooner). Sometimes it’s not the whole solution, but it’s enough of a perspective changer to shake loose the right fix from the aether (you know, where all computer programs already exist, right?).
On the surface it doesn’t look particularly “worky” or efficient. But it is terribly effective most of the time. Mainly because I’ve been using a similar method to work through all sorts of other problems–both life and work related–for a couple of decades now.
Compared to the times when I try to “buckle down” and solve problems like we’re told we always should–in some iterative, methodical way that other people can understand–things get done in about the same amount of time (if not more quickly) and I don’t get particularly stressed out about it. (When I’m actively banging my conscious head against a problem, the stress level just skyrockets and, eventually, totally gets in the way of coherent thought… which isn’t all that productive.)
The process basically goes like this:
- Identify the problem
- Do a bit of research (so I’m sure I know that there’s no simple solution out there)
- Set the subconscious on the task
- Fiddle around with other things for a while
- Immediately switch gears when the solution pops in
- Implement to solution
- If it works, awesome… if not, see how it’s changed the problem
- Repeat if necessary
So, yeah, that’s what I’ve spent most of my work life doing… especially when it comes to programming.