Hey, it’s been a while. Since my last entry I started and finished a contract job. It wasn’t the kind of work that I really want to do, but I learned a lot (mainly about the nature of contract work) and was compensated well enough that I have time to figure out my next steps. What did I learn? For one, it’s hard to help people who don’t know what they want. The end-client was a startup who’s CEO just couldn’t commit to a design, and kept asking for changes mid-implementation. I got better at anticipating possible design changes and writing code that minimizes the difficulty of making such changes. I also learned the value of managers, of which there were none on this project. If there was a manager, she would have established norms that maximize productivity. For example, when you have a non-urgent work request, you put it in some kind of shared tracking system. Preferably, there is only one such system that everyone uses. What you don’t do is go drop by the desk of the person who you think is right for the job and interrupt whatever task he’s currently working on. Such an asynchronous process is more efficient because task switching is hard. It’s hard on the mind of a programmer who needs to hold of lot of information in his working memory, information that’s different from one task to another. My client had multiple systems for tracking work, and they still did the dreaded drop-bys. A programmer’s nightmare.
Not that I was perfect. If I were to do it all over again I would have taken more care with my initial time estimate. They presented me with complete “pixel perfect” designs for the entire website. They told me they needed it in a month. I looked it over for about 10 minutes and told them I could do it. Two months later, and with one additional contractor on the job, it was finally mostly done. Though the water is muddied a bit by the design changes (see above paragraph) I was wildly optimistic in my initial estimate. If I find myself in such a situation again I would spend a whole day analyzing the design, sort of implementing it in my head, to arrive at a more accurate estimate.
I guess because the project was so behind schedule, the client was threatening to not pay me for half of the work I did for them. Thankfully, just today, before writing this, I received half of that withheld half, and it looks like I will get the other quarter of the total soon enough. It’s a weight lifted off my shoulders. Still, I didn’t go to the beginning painting class I enrolled in for the summer at the city college today because I was sure the client wouldn’t pay me and consequently I would have to scramble to find another job. I was already falling behind in the painting class, and I think missing today just put the nail in the coffin. I think I prefer digital painting anyway. I realized that painting with real paint required a lot of technical knowledge about pigments, substrates, brushes etc but I just want to make images. There’s a parallel to my day job. Creating software also requires a lot of technical knowledge. There are substrates to know about like hardware platforms, software platforms. There are brushes like compilers, IDEs. There are pigments like programming languages, techniques, paradigms… So far no one has managed to create software that allows a designer to create software without technical knowledge, but when it comes to painting I have my iPad Pro + Pencil which allows me create while being blissfully unaware of the underlying complexity.
I’m thinking my next step is a lateral move in to video game development. It’s what got me interested in programming in the first place. My young imagination was sparked playing games like Super Mario, Pokemon, and a slew of titles for MS-DOS and Windows (Anyone remember Grim Fandango?) As a super geeky middle schooler I taught myself BASIC and ActionScript and struggled to wrap my mind around C++. There are a plethora of game development shops here in San Francisco, from the massive public companies like Disney/LucasArts to tiny indie game firms. Just today I was talking to an acquaintance who, as it turns about, spent eight years in the game industry. He offered to connect me with people who might be hiring, so I’m about to drop him a line. Anyway, that’s my game plan, and a bad plan is better than no plan.
P.S. I wasn’t sure how to work this in to the above, but I’ve been posting my art to my Instagram and thinking of it as my online portfolio. You can check it out here