?

Log in

No account? Create an account
 
 
28 December 2010 @ 11:52 am
2010 Summary: Computer Programming Edition  
While I'm noodling about 2010 in review...

I've worked for On-Site for all of 2010. Given my gypsy-ish tendencies with jobs, that's nice. They continue to like me, and modulo the usual ups and downs, I continue to like them. I wanted to go work in Rails professionally until I was sure I was good at it (check), learn some areas of web development I was weaker at (check) and work somewhere stable while we were having small children (check). On-Site has a good scorecard with me.

First, stuff that sounds traditionally professional: I've made it to professional conferences for the first time in my career -- jQuery, MongoDB and Ruby conferences in 2010. I imagine some of that will happen in 2011 too. Gave that JRuby talk at LinkedIn. Updated my professional presence, as expressed by web sites, better (LinkedIn, portfolio, GitHub). Continued to blog well, though not better than last year.

My profession is unusual in that spare time projects often count more than work projects. They're certainly much easier to show off since I have copies of all the code, and can often share it. 2010 was also an amazing year for that. I won't go through it all in detail since my portfolio tells the story as well as anybody is likely to care to hear (if not, call me -- I can tell it in way more detail than you want, I promise! ;-) ).

Also, programmer-types? Make a portfolio. Even if what you're doing isn't web programming. Seriously. If you have doubts, call or email me for stories about why. Or better yet, just try it. The results are amazing, and not just for job hunting.

Both at work and not, I've gotten a lot better at working on stuff that usually intimidates or bores me. Not perfect, but better. I've been doing nontrivial sysadmin work, and basic visual and interaction design, and SEO, and server metrics, and hooking my site up to email providers, and more copywriting and blogging. I've been working more on learning tools better (git, for instance). Lots of not-exactly-programming areas where I traditionally fall down. By the time I've sucked all the life out of it, WantMyJob will have taught me a really scary amount of stuff, starting with Ruby on Rails in 2007. I have fully rewritten it at least twice. It will likely never make me a penny, directly. May all programmers have a project so blessed.

Big new stuff for 2011? Hard to say just yet. WantMyJob is moving into a slower mode, with more reworking. My strategies for it are limited, and the revenue from it will be staying zero for a long time, which means I need to rework it to be more open and inviting to people I can't pay to be there (i.e. no advertising). RailsGame still attracts more interest, even moribund, than anything else I've ever done. Maybe it deserves a serious revamp? It can use it, and I can definitely see how to make it much, much better.

2011 also looks likely to be the year I get serious about some more professional engineering practices. My industry doesn't do much of that, but I can personally even if other folks don't. Vagrant, Chef and a lot of elbow grease may finally make more of my dreams of virtualization for development come true. WantMyJob finally got me doing more reasonable integration testing, though still not nearly enough.

I've been noodling for awhile about where to go next, programming-wise, and I'm finally pretty sure that the answer is to put together some less-glamorous projects that involve trading money for value. WantMyJob was an attempt in that direction, and next I need an even simpler one, which may yet teach me even more. Patrick MacKenzie is my role model here. But I need to actually, like, do that. I just don't know *what*. Oy.

But I think that's the path that will lead me where I want to go with the most certainty, possibly in combination with some level of consulting. I need to do more work for me, not in the artistic sense but the professional sense. It's like always having roommates - you never really know your worst habits until you live alone and have nobody to blame anything on. I am 100% certain that professionally, I have bad habits to break. I need to work by and for myself, end-to-end, until I really truly know what they are.

But that means I need to figure out something I can provide that people want to buy. I'd rather build a web product of some kind. I may have to do consulting to make that happen. In either case, the pace won't be what I'd like, because kids are demanding.

But on the plus side, if any of this takes off at all, it'll give me a nice pathway to much greater independence. I think I'll be much happier that way.
 
 
 
Zachzml on December 28th, 2010 09:51 pm (UTC)
Your portfolio looks like something in between a normal portfolio and a resume. I'm not sure I, as someone who has been in systems programming for a while, would personally have much use for this format: Mine looks roughly like Isilon OneFS for 5 years (of which I could put a pretty picture of one of our clusters up) and AIX for another 5 years (uhh, no idea .. a picture of a POWER box). I do have some youtube videos where I spoke at BSD conferences, so that part works, and I have some toilet-paper-patents from IBM (and at least one from Isilon) that would technically belong on a CV - but on a portfolio? No idea.

Anyways, I'm not doubting the presentation works in web development in particular, it seems like a fine idea there. In fact, I see fairly conflicting advice about resume-type stuff between systems programmers and web developers, so maybe there is a high degree of specialization developing and you're actually now in a foreign market to mine. I could believe that.
Noahangelbob on December 28th, 2010 10:12 pm (UTC)
It's certainly possible that I'm now in a foreign market that way.

On the other hand, if you've done more specific things with Isilon OneFS (I assume you have), you open yourself up for multiple entries for that five-year span. If you implemented specific failover stuff for clustering, you could add diagrams about what. If you added performance optimizations, screenshots of benchmark numbers would work. New fun feature? Description of it along with a code or config snippet to make it work.

The professional section of my resume actually contains several things like that, as does my Phantasmal entry. I could do more of it in some cases and haven't (CodeBaby, say, or some of my articles). But for RailsGame I included a client-server diagram. For HostFS, a screenshot of the Palm emulator. There must be *some* kind of configuration tools, or command-line tools or command-line output or design diagrams or something that you can point at.

It's much better if you take screenshots along the way, even if what you're taking screenshots of is code, articles or configuration files.

There's a bit of a gray area there about what's public information, but carefully-chosen screenshots should be able to keep you on the right side of it.
Zachzml on December 28th, 2010 10:18 pm (UTC)
Yup, I would certainly split out a lot of stuff on a resume. I guess you have a point. A lot of the stuff I work on is somewhat hard to take screenshots of, though, unless it's it's somewhat generic (this is what OneFS WebUI looks like! even though I don't really work on that part...)

The public information thing is another part of it. While I'm somewhat open with friends about what I've been working on recently (Isilon is pretty open in that respect), putting it on a public web page is another story (yeah, I guess that's a little hypocritical). If I were actively looking, it might be another story, though.
Noahangelbob on December 28th, 2010 10:53 pm (UTC)
A lot of the stuff I work on is somewhat hard to take screenshots of, though, unless it's it's somewhat generic (this is what OneFS WebUI looks like! even though I don't really work on that part...)

Fudge a bit on that. I'm building web servers, yet what I take screenshots of is, almost without exception, just Chrome or Firefox, which I didn't write :-)

If it's the WebUI that controls something you *did* write, it definitely qualifies as reasonable to take a screenshot of. You wrote the server back-end that makes the UI useful.

I also put together portfolio stuff that I haven't necessarily put up on the page yet. As it becomes public, I can move it over. But then the screenshots and description of why it matters get written when it's fresh in my mind.