Homepage of David Fisher/tibbon

Programming music and travel

How to Find Your First Programming Job

So you’ve been spending time learning to code, either through teaching yourself or a more formal program, and you’d like to get your first job but you don’t know where to start. Here’s my advice for how to stand out from the pack.

Put together your resume

I worked as a headhunter for a while hiring legal staff. After seeing thousands of resumes, I realized that most people have no idea how to put together a decent resume. There are countless blog posts online describing how to write better resumes and I won’t attempt to replicate those. But here’s a few tips:

  • Make it a single page unless you’ve got a PhD or over 10 years experience. Since this is your first programming gig, make it a single page.
  • Whitespace is awesome. Choose your fonts wisely. This isn’t a good time to use Comic Sans.
  • The templates that Word or whatever give you are terrible and encourage overly crowded resumes. I’ve seen too many of these.
  • Less fluff, more content. I want to know what you can do and how long you’ve been doing it.
  • Less is more. I’m going to glance at your resume for 15 seconds on first pass. If there is too much stuff, I might miss the important parts.
  • Skip personal statements as they are always fluff.
  • Make sure your contact information is on there. Just phone & email. Address is optional- I don’t put one on mine.
  • Listing Microsoft Office as a skill never helps anyone. Think about what real unique skills matter and list those.
  • Send your resume as a PDF. They view well on almost all devices and retain formatting very well.
  • If you know a foreign language well, you should definitely list it.

Things that turn me off when reading a resume:

  • Huge lists of acronyms. I saw a resume that had the following list: IGMP, RTP, RTCP, DHCP, NTP, NAT, SNMP, SONET (EoS), ATM, MPLS, BGP, RIP, WDM. Those are great things to know, but even as someone who understands those… it isn’t good to read.
  • No whitespace. Everything crammed together.
  • Non-relevant jobs. The grocery store you worked at when you were 16 isn’t interesting.
  • I personally don’t care about your GPA. I’m not going to call the University and check up on this, so you could have put anything. Or maybe you took easy classes. Who knows?
  • I know that you’ll give me references if I ask for them. You don’t have to put that you have them on your resume.
  • I probably care less about your education than you do. Some of the best and brightest people in the industry were more of the “Turn on, tune in, drop out” people. Dedicating 6 lines to this probably isn’t helpful.

My personal resume is a bit non-standard, but it gets amazingly fast responses from potential employers and clients.

Cover letters, meh

I don’t like cover letters. You’re sending me a resume. I know you’re interested, and I just need you to confirm which position you were looking at and maybe your general availability. Anyone can write that they are a responsible team member who will contribute a lot to the organization. I skim the cover letter, if I read it at all. Probably the most important thing you can say in a cover letter (since it doesn’t fit elsewhere) is if someone that both of us know has referred you to the position.

Get on LinkedIn

I’m not in love with LinkedIn either to be quite honest with you, but it can be pretty useful for job-hunting. The main thing I use LinkedIn for when hiring is finding out who in our network we have in common. If you’re in my city and we have zero 3rd degree connections, I’m wondering why you’re not in the development community more (meetups, etc). If we have connections, then I can ask them about you. LinkedIn is a nice place to also have other more filler-like stuff that clearly doesn’t fit on the resume. You can put stuff about your interests, group memberships, papers you’ve authored, leave every prior job you’ve ever had on there, etc…

Github is your real resume

Github allows me to read your code. With this, I can realistically see what languages you’re comfortable in, your coding style, if you write tests every time, contributions to the open source community, how well you document things, and how well you work with others. This is far more valuable than anything you list on your resume, which I largely have to take your word for. It is an amazing tool, and for the most part its free!

Projects

Having projects shows me that you’re creative, driven and can ship code. They don’t have to be huge or earthshaking, but if they are that doesn’t hurt. So make a site that shows a different Harlem Shake video every hour, or tracks how many licks on average it takes to get to the middle of a toostie roll. Having a project (or ten) that you’ve created and I can see is probably of similar weight to seeing Harvard on your resume.

In fact, I’d rather hire someone who is self-taught, contributes a ton on Github, and has lots of cool side projects than someone who just has a nice cover letter and a piece of paper from Harvard and nothing else.

Network, network, network

A mediocre developer who networks nonstop will probably have more job offers than an amazing developer that no one knows about. Get on Meetup or a similar site and find out what is happening in your area. Most events are free, and if you’re totally strapped for cash and its a paid event let the organizer know that you’re looking for your first job and they will probably let you in for free.

On Recruiters

Non-corporate recruiters (headhunters) are a mixed bag. If you get an hourly job through them and you’re getting $15/hr, they are probably charging the company $28/hr. If you get a job offer for $80k, they will want a $20k check from the company for placing you. As you can see, this significantly increases the cost of hiring you and makes you less competitive vs someone who was going directly to the company.

Also, many headhunters are filling jobs that they are having a difficult time finding talent for. Sometimes this is because they can’t find someone with a specific skillset (but you’re new to this, so probably don’t have a terribly unique skill) or the company is boring. This isn’t to say that you should never use a recruiter, but know that 90% of them will be a waste of your time.

Instead of talking to recruiters, network.

Interview time

Don’t be afraid to say you don’t know. It is far better to admit that you’re new to this, and that you’re willing to learn than trying to fake it. If we’re at the interview stage, then a good portion of what I’m sizing up is if you fit overall with the company. The above items already mostly validated your skills for me. Find out if the company is the right fit for you, asking appropriate questions to find out if it is a good match. Express why you’re passionate about coding, and what challenges you enjoy.

Summary

When I’m hiring a developer, new or experienced, it comes down to just a few things. I want to find someone who is interesting (projects), capable (already knows or is willing to learn), and likable (interview time). It is worth noting that I am not every hiring manager, and some care about things that I don’t care about- you can’t please everyone.

For you, even if this is your first job, the good news is that there are a ton of jobs out there for developers in almost every medium-sized and larger city. And there are plenty of companies that will accept remote work, but I wouldn’t suggest doing that for your first job.

Modern E-Commerce Isn’t Enough

We are reaching a time in the development of the internet that one could assume that everything that is obvious, monetizable and useful has been developed, patented and tested. Yet there are still several basic problems to be solved, with riches going to those that solve them.

One such problem is shopping. Amazon takes the cake for selling everything, or alternatively with a quick Google search you can find a vendor for practically every product. What is missing?

This evening, I realized that I didn’t have a copy of Jessica Livingston’s Founders at Work on my bookshelf which I wanted to re-read for an upcoming project of mine. Like many 20-somethings, I am impatient. I want it now. Sure, Amazon could have it here tomorrow, but that isn’t really now and tomorrow is a busy day.

Google is my go-to search engine and yet the primary search and the Google Shopping return no useful local results.

Of course, I know that this is a book. And books are generally to be had at local bookstores. Yet, searching the Borders and Barnes and Noble sites show that all local stores are out of stock.

There are local bookstores, but I’ve just moved to town and I don’t know them well. Mom and pop stores are unlikely to have great online inventory systems, and the effort in searching and calling all of them seems prohibitive. I really just want to drive there and get it - now. Plus, its almost 7PM and many non-chain stores will be closing shortly. Also, search engines do not generally indicate if the store holding what you want it currently open.

This is a search problem that the internet fails at completely. An eBook could seem to be the answer, but as we’ll see that doesn’t work for every product.

Or let’s say I’m in midtown Manhattan. I’ve got an hour until a job interview. I hop into a Starbucks and get a coffee. Unfortunately I trip on the sidewalk and manage to spill coffee all over my pressed white dress shirt. No time for dry cleaning- I need another shirt. Clothes are abundant in New York. It just so happens that I’m interviewing at the intern level and money is tight. I really can’t spend more than $30 on a plain white dress shirt. Having something that vaguely fits would be nice too, and I’m a very small (or large) person, and I find that many stores don’t have my size.

Pulling out my phone and Googling for “White dress shirt NYC $30” doesn’t yield anything useful, nor does it take into account my real location, my price range, sizing, or availability. Calling places won’t be helpful, as stores that stock cheaper clothing in NYC aren’t always great about customer service on the phone. What do you do?

Even a simple query of “cheapest bottle of aquafina water within 3 blocks” isn’t something we can currently do on the internet.

In essence, someone needs to get smart about combining search, location, and inventory systems and put it online and easily accessible via mobile.

The difficult part is getting the information from merchants and keeping it up to date. Thousands of merchants in the US still accept cash only, use mechanical cash registers and manual inventory systems making a software solution is difficult at best. In working with merchants it is important to stress that such a system would increase competition, make sales more effective, and blur the line between online commerce and main street commerce.

I’m confident that if someone tackles this problem and overcomes its challenges they will change the face of business forever.

UPDATE 1: It seems that a site called Milo is already doing this to a degree. It seems to only be big-box stores, and for many it has me call them to verify the inventory, but it seems to be a start. They’ve got the interface right, but the part about getting small businesses onboard is still the hard part and unsolved by Milo or others from what I’ve seen on a level that really makes it worth it.

Thank You Gary Gygax

Gary Gygax passed into the Astral Plane on March 4, 2008. He along with Don Kaye created the role playing game Dungeons & Dragons which was first released in 1973.

At first, many will claim little experience with Dungeons and Dragons or roleplaying games at all and relegate such experiences to the world of geeks and nerds. The truth being that Gary Gygax played a role not unsimilar to J.R.R. Tolkien’s role for injecting adventure and fantasy into modern culture. Simply the existance of such games pulled many to have tighter bonds with others, who often went on to found various technology, software and computer companies. We have all came to realize that the kids who weren’t cool in middle school are often the ones who are now writing our paychecks.

There have been several accounts of how Gygax has effected pop-culture on a whole, but for a moment I would like to thank him for how he changed my life.

I had a computer from a very young age. I always enjoyed various role playing games, although I didn’t know the history of role playing games. When I got an NES games like Zelda, Dragon Warrior and Final Fantasy inspired various portion of my life. I began drawing the characters from the various games. I first heard of pen and paper role playing games through a poor description from another family member regarding something that a distant cousin of mine was playing. It was a terrible description and I got the sense that they thought it was silly, but the concept was intriguing.

Life went on. My friends and I made various wooden (and blunt metal when we could find a way to work it) swords, ran through the woods, and played our epic sword fights and fantasies. My father as long as I knew enjoyed and watched Sci-Fi/Fantasy movies and always enjoyed having someone to watch them with since the idea of sitting around for the greater part of a day watching Dune simply didn’t appeal to her. My first movie I saw in a theatre in fact was The Return of the Jedi. Apparently I screamed the entire time, but I was only a few months old.

I started playing Magic: The Gathering (WoTC would soon purchase TSR) not long after it was released with my friend Brian Rogers. I soon found other friends that were into playing, and carrying around our decks and playing at lunchtime quickly became habit during early middle school. The girls didn’t exactly get it, but that was ok. The administration didn’t seem to get it either. They tried to confiscate our cards at one point, referring to a rule in the student handbook that was intended to stop gambling on campus. We pointed to a definition in the dictionaries that we were told to have for English class that Magic cards did not qualify as a “deck of cards” (as the school rule pointed directly to) being a gambling device, since it neither had four suits nor contained 52 cards. Oddly enough they actually bought the arguement and left us alone. One of those things you didn’t think would get you out of trouble, but was worth a shot since what we were doing was harmless.

At some point shortly after I got it in my head that I wanted to play Dungeons & Dragons. Being in middle school the task seemed kinda expensive. Dice, various books, mountain dew. I had my Uncle David Glass drive my from his house in Maryland to Cumberland to a bookstore that we knew to carry it. They had some box set that I purchased, which almost immediately upon leaving I realized was an abridged set of the rules (although it contained a short version of all the major handbooks). We drove back and I exchanged it for a Players Handbook.

I will admit that like most people’s playing sessions when they were younger, we were pretty bad at it most of the time. We started a new campaign every few weeks as someone’s story got horribly broken or members of the group shifted drastically from time to time. The stories we told were grand and ambitious. None of us wanted to tell a simple story, and all of us bit off more detail than we could chew. Some people took simply forever to make characters. I tried a few times to program systems that would speed up character generation, but do it better than others had done it. Sometimes they worked, but still didn’t make the process go much faster. My favorite character of all time was a chaotic good Mage/Thief that didn’t reveal to the party for a while that he was actually a Mage. It was rather fun casting illusions to make the party do what I wanted, and they had no idea what was happening. The DM rather liked it too.

Later in High School it became a weekly event. One of my friends one day came up to me like, “Dude, there’s a girl that’s carrying a Players Handbook. Apparently she wants you to join her group.” A girl playing D&D at the time was kinda hard to find for me. We met and started playing weekly. First at a Books a Million store, then at my house. It was a pretty solid group and we had a great time. I actually started dating her not long after and she was my first serious girlfriend of any type (had dates prior, but nothing repetitive) for the remainder of High School. It was great.

I also tried other gaming systems with friends. I tried the Mage/Vampire/Werewolf games. They weren’t bad, but I really enjoyed the excessive level of detail that we put into playing D&D. Too much was abstracted in those games for my liking, and I never got into LARPs. I played Gurps a bit, but it just didn’t have the game flow.

When I got to college I played a few more times, but things faded off. I’ve recently met some people that are pretty into roleplaying and might give it a shot again (as its actually very social, not the opposite as most assume). One of them has even written their own game.

So where does this leave us, and why did this make my life better? I honestly don’t know what I’d have done with my life were it not for Gary’s indirect influence. I work (as a vague statement) in technology and computers. I wouldn’t have gotten into computers so much had I not been playing games. The games indirectly got me into music. Music and technology is pretty much my life. Even more important however are the social experiences I’ve had along the way. The people I’ve met have been excessively smart, fun, and all had a great sense of humor. Of course there’s a few people that were struggling socially more than others, but we all were! Having these friendships and interactions was amazing.

Additionally the exercising of the muscle of imagination past childhood has been invaluable. I think outside the box I suppose, and I think that’s because I never stopped dreaming. I never stopped thinking of where things could go, or about fantastic things. I simply cannot imagine my life without this.

This has been long, but I really wanted to publicly express my experiences with gaming and once more thank Gary for his influence, genius, and amazing work he did.

Early Computer Memories

I’ve used a computer most of my life. Consequently I have some fun memories and observations of computer use over my lifetime that you may find fun.

  • My first computer was a Commodore 64. Oddly enough I have one now sitting on my desk and running some synthesizer and sequencer applications. My dad got one in 1985 or so, and I started playing around with it as early as I could. I strongly believe that it’s through computers that I learned to read and write.
  • I remember dialing up to BBS systems in the early 1990’s (keep in mind I was born in 1982) with numbers that we’d get out of the back of local computer magazines. Honestly it was hard to get many of them working, as either the phone lines were full often or some setting beyond my comprehension at the time wasn’t right.
  • My Uncle bought me a Nintendo in 1987 I believe. While not really a ‘computer’ it definitely propelled my interests in that direction. I remember trying to figure out how the Light Zapper worked, using the Track and Field running mat at my friend SunAwh’s house, and having a great time.
  • Video game rentals used to be cheap and cool. Since most games weren’t all that in-depth (but often super fun) you could rent a game like Contra, play it for 4 days… and then return it. If you knew you were having a lot of friends over you’d just go rent a few games to try out.
  • I also remember a lot of games simply not making sense, and just seeming to be senseless. Oftentimes these were rentals that had no manuals. Keep in mind that going online and looking up stuff wasn’t really an option at the time.
  • I remember getting my first CD-ROM drive. It was a 2x SCSI drive that came with a SoundBlaster 16 (scsi edition) card that did sound and scsi connections all from a single ISA card. Pretty sweet for the time. It wasn’t cheap either. I think it was around $400-500 at the time. I bought a mega-pack of 20 cheaper CD games to go with it. It felt pretty cool. The first CD drive I had seen was around 1990 at Babages. It was over $1000 at the time.
  • The first CD-R drive I remember seeing wasn’t cheap either. My friend Chris Clearfield got two external 4x SCSI CD-R drives (or rather his dad did for work). Coasters were expensive to make at the time, and we didn’t burn all that much.
  • The backup method of choice in late middle school was on various iOmega media. Zip drives for small stuff, Jaz drives, etc… Tape backup was an option too. Some of these methods took forever, but I remember that we had a collection of an entire 4gb of mp3s that we passed around via tape backup.
  • Prior to the mp3 crazy I remember Real Audio format being much more dominant. I could find all of these super low quality interviews and sound clips online. 8kbps-32kbps was where it was at!
  • Games were hard to get working! Up until Windows 98 even I remember needing a stack of floppies as “boot disks” sitting around that would have a special configuration setup to boot from just optimized for that game. I remember my dad staying up late some nights trying to get my games working for me when they wouldn’t work. We never did get Myst to work well, so we had to return it. Very sad.
  • You could purchase and return games! We didn’t generally use these to pirate games, as copying them took too many floppies and I didn’t have a CD-R until college! We’d just sometimes find that a game sucked hard, or didn’t work well. Specs on the box were useless for telling if a game would like your system or not.
  • Chris and I beta tested some of the first online non-MUD RPGs. Chris got into Meridian 59 and we both got into the Alpha test for The Realm. The Realm was great. Since Chris’s parents had two phone lines we’d try to both dial up and log in to play together. It was pretty awesome at the time.
  • Dialup was slow. I think my first modem was a 1200 baud modem. I’ve actually since gotten my hands on a 300 baud modem when I bought a bunch of vintage stuff. My first 14400 modem felt smoking. 56kps was amazing.
  • I used to bring a Zip drive to school to plug into computers and hide overnight to download large files from FTP sites. They had a high speed connection of some sort and I knew that no one would notice a computer being turned on overnight.I’d either tape over, or unplug the LED that indicated the computer was on and no one was the wiser.
  • We used to try trojan each other’s computers. It was too funny. Of course we thought that we ‘trusted’ each other, so we sent a “patch” or something to try out to the next guy. Wait a week. Do a direct connect via some message service to them to get their IP (or check our website logs), then take control of the other guy’s PC. It was too too funny. All in good fun and we all were had at some point.
  • I have likely owned well in excess of 100 computers. By that I define 100 separate processors. My dad was helpful in this. We’d go to auctions and buy up pallets of computers for $20 or so. I’d take them apart and either make linux boxes or sell them to neighbors as grandma PCs. I’ve probably had 20 that I called “mine” as a person machine
  • I actually built the computers that each of my grandmothers had for years. I know that my Uncle ended up starting to learn to use his before he died. He actually picked it up pretty quickly. I had never thought of him as a technologist, but once you left him alone with it he was totally fine.
  • Protools sucking on PC was the final straw in me hating Windows and buying my first Mac-a G4 PowerMac 1.25 MDD. I loved that machine for years and only recently sold it.
  • I probably cobbled together my first computer from pieces when I was around 7 or 8.
  • I remember seeing an early LCD screen at my Tim Harper’s house (dad’s co-worker). It was monochromoatic purple and had a horrid refresh rate. Even if you had mouse trails turned off, you’d see them. I kinda liked it.
  • Even though my first computer was color-capable, I had many monochromatic screens including a green one and a fun orange one. I’ve always kinda liked them.
  • I never figured out what to do with a Wyse terminal. I finally have a use for it, but no longer have it. Oh well.
  • I had the first color Phillips palmtop computer. My teachers didn’t know what to think of it. I had to convince them it wasn’t a Gameboy. It was actually color and I had a modem on it.
  • I had some early version of Cakewalk (like version 2 or 3) for Windows 3.1 that I used for early sequencing stuff. It was pretty lame but fun anyway.
  • I remember using Linux that we were installing from floppy drive, trying to get it to setup some bootloader that would install from FTP directly. Getting linux working hard around 1996-1997 was hard. Seriously hard and there were often chicken and egg problems.