

Ask HN: what was your first programming gig, and how much did you actually know? - Tycho

Looking at job adverts for software engineers, it seems that life is rosy if you have a couple years J2EE and/or .NET under your belt. By rosy I mean you can be fairly confident of finding a steady job, and can start setting your sights on (<i>much</i>) more lucrative/interesting positions by expanding your knowledge.<p>But as someone still in the education process, a lot of job postings I glance at and find myself caught in two minds. One half says 'They're looking for a lot of skills. You can't honestly say you're adept at the majority of those requirements. You need to put in a lot more hard work before they'll take you seriously.' But the other half says 'Hell, you don't <i>know</i> TechnologyX <i>per se</i>, but you could pick it up no problem. You've worked on harder problems than they're likely to throw at you. You'd be doing them a favour by applying.'<p>So I'm wondering what the professional developers here found in their first jobs. Were you under-qualified? Overqualified? Lucky to find one? Blagged the interview? Winged it? Needn't have worried? I'd like to hear the story.
======
patio11
My first programming "real" job was at a technology incubator in Japan. I got
hired on as a translator. At the time my Japanese skills were not exactly
stunning, but technical translators do not exactly grow on trees in Gifu. (Try
finding a bilingual Japanese/English CS major in Kansas. It is about that
hard.)

Now, here's the rub: they had five translators locked into generous long-term
contracts and they only needed really one-fifth of a technical translator,
plus some utility translation for ceremonies and the like. So I went mostly
unused. After spending far too much time on the Internet (shades of things to
come) and getting acclimated to working there, I started trying to make myself
some more work.

Example: we had a website with brief bios of ~200 companies at the incubator.
This was static HTML written in DreamWeaver, and got updated once every year
in Japanese and English. This was an absolutely mammoth undertaking, primarily
because the data was first compiled into a Word document, then translated,
then laboriously massaged into HTML in DreamWeaver. I thought "Wait, this is
just string processing... and I have gawk." I did not, in fact, actually have
gawk, but my university terminal account was still open, so I wrote some
scripts and shaved two man-months off the schedule. The bosses were happy.

Later, after getting a little more political capital, I started getting the
R&D group I was attached to to use me for their grunt work R&D. For example, I
made GUIs which called their command line tools for robot vision work, begged
off implementing fast fourier transforms in C ("I'm a Java programmer!
Egads!"), did some grid computing and spam filters, and the like. My work
product was atrocious. Demos I pronounced "done" functioned maybe one time in
three. We didn't use source control, which is probably for the best, because
if we had someone might be able to still see the code I wrote. However, my
bosses chalked all of it up to "Hey, we get the budget for a translator
whether we want it or not, might as well get some work out of him."

There were two projects of note in those three years. One was a massive
translation of CAD training software manuals for a company affiliated with the
incubator. It was 3,000 Powerpoint slides. I got it done right before any
further mention of torque would have caused my internal springs to snap. The
guy who requested it made it clear that he owed me one. When my contract
expired, I sent him an email saying that I wanted to stay in the area a while
longer and wondered if he could perhaps ask around to see if anyone needed an
engineer. He called up a large company in Nagoya and informed the division
chief, who owed him a favor, that there was a bilingual American engineer the
company should hire. So they shook on it, and that was that. (We later had a
job interview -- with my patron in the room and doing most of the talking --
which was mostly a formality. The line which sticks with me is "Oh, you're
white. Not that there is anything wrong with that." Nobody had thought to tell
my new bosses my name prior to the interview -- it wasn't really relevant to
the transaction.)

The other significant project is a long story. It starts with an email from a
teacher in the prefecture asking "Is there a good way to make bingo cards?"

~~~
coryl
Gotta love the Japanese way of business. You owe me one = job!

~~~
patio11
You seem to be under the impression America does not work this way.

------
scruzia
A few of us were sitting around in the Computer Club office, and Steve comes
in and asks us if we want jobs for the summer. So Tony, Jim, and I ended up
working that summer on a weird research experiment, hooking computers up
together. Part of what I did was writing test programs to make sure the
computer could talk to this smaller computer, that knew how to talk to others
of its kind.

The smaller computer was called an "IMP". The main one was the Sigma 7 at
UCLA, host #1 on the ARPAnet. Steve was Steve Crocker, and other folks on the
project included Jon Postel, Vint Cerf, and Prof. Leonard Kleinrock.

Last year, I got to mention to Vint Cerf in person, that we had last worked
together some 40 or so years ago.

So, to answer some of your questions, 1- definitely underqualified. I was 16.
2- Lucky? No kidding. Right place at the right time.

~~~
spindritf
> No kidding. Right place at the right time.

"Seventy percent of success in life is showing up." (attributed to Woody
Allen)

~~~
maxklein
I showed up at many bars many times in my life, still waiting for that
success...

------
waterlesscloud
I got hired straight out of college by a company that made software for banks.
They were just starting on a windows version of their consumer lending product
(banks move slow. very slow), to be written in c++.

The regional VP at the company was kayaking buddies with the professor who was
my advisor for my senior project. The VP asked the prof if he had any good
graduating students for an entry level job, and I was recommended. From what I
can tell, this is one of the better ways to get a job out of school.

My first assignment was helping a senior guy track down a bug in some
multithreaded C communications code for handling ATM machines. Legacy stuff
from the company that had been bought by a company that had been bought, etc.,
that no one completely understood any more. I had no idea what I was doing, at
all, and it was a great situation to be in professionally.

Worked for that company for 5 years, then it got bought and I was laid off
because I was still the newest member on the team. Very stable group, learned
a huge amount from them.

I got lucky.

------
cubicle67
Some guy I knew asked me if i could write him a programme to help manage his
clients' investment portfolios.

Because I was too young to know I was in way over my head, I was able to
complete the task and do it well. Pretty proud of it, actually; 16 bit windows
(3.1) and the code was rock solid. I figured out on screen graphing, good db
design, reporting (I wrote all the reporting and printing libraries, incl
basic graphs (pie, line and bar)) etc etc. Now-a-days that sort of thing's a
lot easier, but back then there was very little. oh, and no internet either,
just the local bookshop.

------
dominostars
I took a very normal College career path: Go to internship/career fair -> Get
an internship at a big company -> Get hired.

The thing to remember is that you're not going to be applying as a tech lead,
you'll be applying as an entry level engineer. As an entry level engineer, you
are not going to be expected to have a bunch of skills (in the X years of
experience with J2EE sense). Companies know that it will take time for you to
learn the skills you need. My last manager estimated this time period to be
about 3 months for someone fresh out of college, which is why he hated getting
summer interns.

What will be expected of you is to:

\- Have a good GPA

\- Be generally technically competent

\- Be generally socially competent

\- Be excited for work

\- Want to work hard

I've recently moved on from my first post-college job, and my new job may
expect me to do android and rails development, even though I've no experience
with either. They knew this during my interview, but I was able to prove that
I can and want to learn. That was enough for them to feel confident in me.

TL;DR: There are many jobs that don't expect you to know everything before
hand, especially when you've just graduated.

------
zbruhnke
I guess I will probably be one of the "weird" ones here.

I have never actually applied for any job and began programming very simple
video games for myself as a kid (about 12) instead of using flash cards etc
because I thought it helped me remember things better.

When I was in college I played division I golf and was on a scholarship with
school paid for and no real reason to leave

A guy who was a tour pro from the town I grew up in asked me to come look at
the computers at a business he had bought. I went by mapped a few network
drives explained file/printer sharing and on my way out made a passing comment
about how they should check out a databasing system rather than just making
copies (they were a copy company).

Next thing i know I was working 60 hours a week developing custom sharepoint
systems for his customers on a contract basis. Eventually I dropped out of
school "officially" started my first software related company and have never
looked back.

As I said, I have never actually applied for a job, BUT it is VERY fair to say
I was (and to some extent still am) very under-qualified for what i was doing,
but I can think of no better learning experience than getting in over your
head and knowing you have to meet a deadline.

I don't know that I will ever take a "real" job since I am constantly working
on projects or creating my own companies, but at this point no matter what
they are looking for I feel that i bring a great deal to the table and have an
uncharacteristic ability to learn quickly.

Confidence is key in this field. I am more apt to hire someone with a good air
about them then a guy who cant look you in the eyes but has a great resume.

~~~
j_baker
"Confidence is key in this field. I am more apt to hire someone with a good
air about them then a guy who cant look you in the eyes but has a great
resume."

Are you hiring programmers or used car salesmen? I simply don't buy that
confidence is more key in programming than in other fields.

~~~
zbruhnke
I am not talking about hiring people who have no grasp of a concept. I am
saying that not unlike many other fields programming has a good bit to do with
what you believe you are capable of.

If someone has 5 years experience at Microsoft but does not believe in their
work and/or are not confident in the product they put out but a guy fresh out
of college has a great Github presence and a passion for programming I am
certainly more apt to hire the latter.

------
fauigerzigerk
I have never been employed, never even interviewed for a job. On my first
contracts I was woefully underqualified. There were hardly any boxes I could
tick. But I was very good at communicating my enthusiasm and interest in
computing, not just in the sense of getting things done quick and dirty but in
terms of theoretical interest as well.

I just kept throwing the stuff I was interested in at anyone who would listen
and I kept asking questions about what they did, applying ideas I had to their
problems. I did that on every occasion and it stuck. But what stuck were not
the particular skills that could be inferred from what I said. What stuck was
that there is someone who will really get involved in the project, shape
things, make it his own project and see it through.

There is a small minority of people everywhere that suffers from the 9 to 5
attitude of the majority. You need to make sure that these people recognise
you as one of them. That's the most important lesson I have learned, not just
in the beginning, but also later when it came to taking on interesting tasks I
wasn't necessarily qualified or experienced enough to do.

------
arethuza
Perhaps rather stupidly I paid little attention to trying to get a job during
the final year of my CS degree - the one company I did interview for (an early
hypertext pioneer) I mucked up the interview by having a glass of wine at the
buffet lunch which appeared to react with medications I was on for an
infection which made me a bit too talkative during the chat with the companies
founder....

I ended up taking a job at a wee company doing what were effectively small ERP
systems running on Cromemco/Xenix servers. Which was a hell of a learning
experience - fixing broken Unix servers at all hours and all the joy of
dealing with sales guys on one side and customers on the other. I left that
job after about 9 months to back and do research in the department I graduated
from.

Interestingly enough, the chap whose company I failed the interview with in
'88 became the first angel investor in the startup I co-founded in '95 and
went on to be our chairman through multiple rounds of VC investment, an IPO
and an eventual acquisition.

I never did have the nerve to ask him if he remembered the interview I mucked
up...

------
eps
My first gig was a FoxPro contract to find a bug in a very messy report
generator, written by a recently divorced, overweight diva in her late 40s.
That, my friends, is as close to an immersive reality check as it gets. I was
on 3rd year in the Uni and had fluent Pascal, working knowledge of C, could
solve Hanoi towers by hand and tell the baud of the modem whistle by ear. Quit
in one week, earned $40, didn't manage to make a single change to the code,
and acquired a life-long dislike to anything database :)

~~~
topbanana
I'm getting divorced at the moment. Curious why you think its relevant

~~~
redthrowaway
You will clearly write buggy code.

~~~
topbanana
I do actually

~~~
redthrowaway
We all do, but don't tell anyone.

------
ohyes
Gig: Hackin' Lisp.

Qualifications: Nietzsche, Wittgenstein, Hume, Sartre and others...

Honestly, they hired me as a technical writer and it turns out I write code,
that writes code, that writes code, really well.

What the fuck I'm going to do for the rest of my career, I don't know.

Honestly, I don't really care given my meteoric rise from lowly philosopher to
lisp-dev uber alles.

~~~
Tycho
Very interesting. All those nested clauses in philosophical texts, I guess
they're good for something!

------
damncabbage
My degree has a year of work experience stuck in the middle. I responded to a
posting and got into <http://www.squiz.net/> (small-medium CMS development
company of about 80 people). During the three years I was there, I fell in
with a crazy Russian developer who taught me half of what I know, met
@DmitryBaranovsk, and worked under a fellow who, though a bit abrasive, ran a
really tight ship (unit tests and automated build, for example).

Given it was a student position, the entry requirements weren't terribly
strict (PHP, HTML, CSS, ideally some JS). I knew some PHP4 (enough to put up
<http://insanitymanga.net> ), but only some OO, and definitely no PHP5 (this
is all back in 2004).

I thought I blew the interview; I was nervous, and the lead dev spent a good
five minutes in silence looking through the coding example I brought with me
on my laptop, but I got through (with a couple of other students).

In any case, I'm not sure there's much to lose but your pride by going for a
position you're underqualified for. If you think you can pick it up, then do
some prep beforehand to at least get a basic handle on it, and see if they're
willing to give you the time of day and have a chat.

------
donaq
Don't worry about it. In my experience, a lot of the criteria listed in these
job postings were done by non-developers and have little to do with the actual
job. Also, when in doubt, just apply. Interviewing is a skill like any other.
It requires practice. Even if you feel you're not qualified, the interview
might surprise you, and if it doesn't, it's still good experience.

------
ThePengwin
When i was in grade 12, I taught myself PHP/HTML/SQL and some JavaScript. I
set up a forum (Which was a modified Simple Machines Forum) to stuff around in
at school because i always managed to finish projects and tasks in computer
studies early.

A few months before I finished year 12 I was having real trouble actually
learning any more in the field of web development, because I had nothing to
code. I walked into a web design place with a resume and some code samples of
what i already did and they said they may have something for me to do, and a
few days later i was given a job submitting links to websites to up the page
rank of a site.

When I left school, I was asked if I wanted to say there full time and do some
web development. I agreed.

That was about 4 years ago now. I'm 21, and I'm still in the same job. Id say
i was quite under qualified for my current position, but I'm really glad I was
given a chance.

------
azrealus
I started in a very small web dev shop when I was still in college. I had some
programming experience but when I started I quickly realized my experience was
irrelevant. The place was a good starting point because I was able to
experiment with different technologies, talk to clients, do front and backend
stuff and manage 2 small apache servers. During this time I also learned what
I like and don't like doing.

It's true companies often put a lot of requirements on the list but they are
usually serious about few of them. I think what is important for a lot of them
is if you can actually pick up things fast. If I were you I would choose
something which excites you and try to get better at it every day. Use it to
build something like a prototype or small project etc, and then look for
companies with similar interest.

------
ramidarigaz
When I was feeling homesick in Thailand, I basically ended up hiding in my
hostel for three days learning Qt. I came back (4 months later) and
interviewed for a student IT job. The guy who was interviewing me saw Qt on my
resume and said he knew someone in another department who was looking for
students who know Qt. The interview with my current boss was actually kinda
funny. He briefly mentioned that he had seen the stuff I had on Github, and
then we talked about Asia for half an hour. Then I was hired. Lesson:
homesickness can be a good thing.

Edit: I forgot about the underqualified part. Hoo boy. I've been working on Qt
for 6 months now and I'm still digging deeper. The guys I'm working for are
really, really skilled. Just watching them work reminds me how much more I
have to learn...

------
WesleyJohnson
I'm only on my 2nd programming job. I was at my last job for right around 4
years and had about 8 months of unemployment before I took the current one.

The last (1st) programming job was at a market reasearch company doing ASP,
SQL Server 2000 and some MsAccess. I hadn't touched any of those technologies.
I had/have no college degree or any college credits for that matter. I didn't
even take programming courses in High School.

What I did have, however, was a small handful of personal websites I had done
in PHP and MySql, most using E107 (a PHP CMS). I couldn't code a PHP site from
scratch, nor properly setup a MySql install. Heck, I could barely write
queries. But I was fortunate enough that the company didn't have a proper CTO,
so I interview with the IT/IS team directly. A couple of those guys had gotten
there start the same way, so they gave me a go and things worked out really
well. I came in severaly under qualified, on a probabtionary 90 day $10/hr
wage. I left, after 4 years, as the Director of IT. I don't think I was
necessarily qualified for that position either, but attained it more through
attrition and ability to work well with the rest of the department and
company.

I guess the point is, there is always someone who will give you a shot
regardless of qualifications. If you show that you have a technical mind, are
motivtated and a quick learner, you have the base you need and some people
will looking past the inexperience. The tricky part is finding them. Until
then, just keep working at it.

------
tallanvor
My first job was at a national laboratory where I wrote an application to
extract data from text files using FORTRAN. I started when I was 17 - it was a
school program where I went to class in the morning and went to work in the
afternoon.

Of course, knowing what I know now, the fact that I was using FORTRAN for data
mining is rather embarrassing, but I was young and stupid, and my boss gave me
a bunch of functions to help out, so that's what I did.

------
jarin
I did 5 years in the Navy as a UNIX server admin, and the extent of my
programming experience (aside from two community college classes in QBasic and
Visual Basic) was making some small changes to a PHP-based trouble ticket
system.

After I got out, I found out through a friend that his mother-in-law's boss
wanted to build a scheduling system specialized for TMJ doctors. I did a few
hours of research on the Internet and put together a presentation proposing a
PHP backend with AMFPHP connected to a Flash front-end. I didn't know how I
was going to do it, but I knew that I could figure it out.

It probably took about twice as long to build as it should have (and knowing
what I know now, the code was terrible and I would love to re-write it with
Rails and SproutCore), but it worked and ended up costing the client a lot
less than it would have cost him to have someone else build it (I only charged
$30/hour).

That gig gave me the confidence to know that no matter how hard the problem is
I can figure it out, and I was able to take on gigs that other people at my
experience level would have balked at. I've been a professional programmer
ever since, both as a freelancer and as a salaried employee.

------
drgath
I've been programming ever since I was a kind in the 80's with the
Commodore64. In high school I was all about BASIC and C++. Then in college I
got into Java & PHP.

While I enjoyed it, I never really thought of programming as a career until
after I completed college when the web finally started getting fun (2004'ish).

In the fall of '04, having been fired from my job in computer sales (I was
horrible), I went for any programming job I could find. I got in with a Voice
over IP startup. I made so many mistakes, but learned from every single one of
them.

Over lunch one day, one of the secretaries randomly told me how much $ she
made, which was a few thousand more than me / year. Here I was, with a
university degree, and she was still in school at a community college. While I
knew I wasn't making much, that really showed how much this company was taking
advantage of me. But I knew I was desperate when I came in, so I thanked them,
and moved on.

Next up was an ad agency, then lead developer at another startup, and now
currently working at as an engineer & developer evangelist. It's been a fun
ride, and I owe it all to that first programming job.

------
ryanfitz
I got hired midway senior year in college by a startup that had just filed for
an ipo. They were 100% a java shop and at the time I only knew c, c++, php,
mysql and absolutely no java. Throughout college, I did programming jobs for
small businesses and my university, making hardly any money. I studied my ass
off on java, ended up being able to handle any of the simple java questions
they asked and sold them on all of my experience that I put into working
fulltime programming meanwhile pulling in great grades in college.

They knew I was under qualified from a java dev aspect, but was hired because
of the dedication I showed from working throughout college. At the start I was
definitely under qualified and I'd say truly knew nothing of how tech
businesses run. However, with lot of dedication (and late nights) I learned a
ton and quickly was tech lead of a major part of their business.

That was 5 years ago and have since left for more exciting opportunities.
FWIW, Now I can't stand doing java dev, nor the people associated with it, but
that experience opened up tons of doors and am grateful for the opportunity.

------
tunaslut
My first programming job was ASP (back when it first came out) - I was ok with
HTML, but knew nothing about ASP, having spent most of my time using things
like dBase and Pascal.

The company that eventually hired me gave me an asp book and a week's wages
and asked me to build a sample app as a kind of extended "interview". I got
the job. We wrote some great code back there.

------
mattchew
I got baited and switched. I thought I was interviewing for a network/desktop
support position, but once I started I was quickly moved to maintaining an MS
Access db.

I had no idea what I was doing. I didn't understand what a relational db was
or, really even understand how Access was different from Excel. But I had done
some little toy programming projects before, and I had the existing code in
front of me to work as examples. Turned out I liked programming better than
network support. Most of the time, anyway.

I don't fake my skill set, and I don't really recommend it, but I am an
uptight nerd. It does work for some people. Another guy said communicate your
enthusiasm, and if you can get face to face with someone that can work very
well. I think one of the things that got me the job above was my saying, "I
like working with computers and tech. Go ahead and give me the loose ends and
yucky jobs around here that no one else wants to do, I'll be happy to do
them."

------
albahk
After high school I got a data entry role in a Satellite broadcaster's IT
department doing Crystal Reports templates for boring subscriber reports (i.e.
how many subscribers in this region cancelled last month). I picked up SQL and
VB6 doing this, then around 1999 the company decided to start doing everything
web-based and I got thrown into learning ASP, Java Servlets, JSP and no one
bothered to question my lack of experience. Things grew from there to doing
online community micro-sites, TV program webpages (Southpark in Taiwan) etc
until the dot-com bomb and everyone left - I went to study engineering.

 _Note: I am not a professional developer/programmer, although people pay me
money to do software development_

~~~
olalonde
Care to explain the note?

~~~
albahk
Since 2001 I haven't had a programming job. I did not finish my engineering
degree (got a Finance/Mandarin degree instead) I work in an unrelated industry
(real estate) so I placed a caveat on my story for the OP who requested
'Professional Developers'. But, I have done part-time/freelance work and got
paid for it.

Nice site and portfolio, BTW

------
ig1
Generally in the UK a lot of companies specifically hire students straight out
of university with the understanding that they'll still be a little green
behind the ears.

If you've got a decent academics and a fundamental grasp of programming you
shouldn't have too much trouble getting a job. What can be key is that you
have something on your CV to make you stand-out, this can be an interesting
final year project, open source contributions, an internship, etc.

The biggest mistake I see people make is restricting themselves to only apply
to jobs local to them. You might be able to get away with this if you live
near a major tech hub, but if you don't then you're majorly restricting
yourself.

------
stefanve
I started out as a tester/functional designer at a job ( did some network /
helpdesk stuff before that) since they didn't have a lot of developers and
none that could program in a modern languages (MUMPS programers) I took 2
weeks off and learned Python after that c#. I went back to school in the
evenings where I learn't some Java/SQL etc. and when't to a Cache course

now I work at a different company programming Flex RIA's and learning Clojure.

So when I started I didn't have experience or formal training but I was some
kind of a computer geek BBS/FidoNet FTW! ;)

------
vegai
I was given a task to finish a webshop with online payments and hotel room
reservations for a spa in 1996ish. It was started in perl, though I moved it
to PHP a bit later.

I was 16 and was doing an actual summer job at the time (hard labour, 8-12
hours), so doing that was a good balancing thing. But the outcome wasn't very
good, I had quite little concept of how to structure the program well. But I
did finish it and the shop went into production.

I'm pretty sure, or at least sincerely hope they threw all of it away in the
next iteration :)

------
SteveMoody73
The first job I had was programming Motorola 6809 based Alarm monitoring
systems in assembler. It was a painful process having to write everything to
an EPROM for every change and debugging tools were non existent.

It was a steep learning curve when i first started but it's always been an
area of programming i enjoy. Programming embedded systems was my first job and
after working for many years developing on a wide range of systems and
platforms i again find myself back working on embedded system again.

------
wccrawford
I did freelance work for a webdesigner friend of mine, after warning him about
my experience level. (I had lots of personal projects, but nothing
professional yet.)

It actually turned out really well, and I got paid what I thought was a good
price at the time. Unfortunately, my friend didn't get paid for his portion,
and the site never launched.

------
geekytenny
There are many jobs we take on thinking we fully understand until the bigger
picture of the problem we are trying to solve starts unfolding : we will
always be inadequate, and even forget what we once knew, that is why we keep
learning to remain hackers.

------
Jgeros
Dropped out of university, 3 months ago after bumping into someone at
university who needed a Rails and iPhone programmer. Had no knowledge of rails
and only a little bit of iPhone experience. App was accepted last week!

------
jallmann
Microsoft, as an intern right after my first year of college. I thought I was
hot shit. Got schooled a few times by those more wiser. Pretty humbling, but I
learned a lot and grew a lot.

------
cheald
I was hired during my senior year in high school as a part-time grunt worker
at $10/hour, primarily doing HTML work. I didn't know very much, and more
importantly, didn't know what I didn't know.

I had the good fortune of working under some brilliant developers, who did a
tremendous amount to teach me not just how to write code, but how to write
code well, how to think like a developer, and how to approach a software
project at a whole.

------
bmelton
Not technically a programming gig, but I accidentally wrote the Enterprise
knowledge base for a Fortune 50 company while I as working overnight as a help
desk technician.

It was a good system, that later fared very well against other COTS packages
from vendors like Microsoft, CA, Oracle, etc.

As for how much I knew, the answer is VERY little. I wrote the app to teach
myself programming, and the majority of it was in PHP & Perl (because those
were the best documented languages at the time) -- and the system ran on
RedHat with MySQL, on a spare desktop computer that previously belonged to the
other night shift guy that had been fired.

Eventually, all of IT adopted using the program, and I ended up on the team
developing new features and performing maintenance of it, while integrating it
with other core products within the company, like the incident tracking
system.

------
konad
I wrote a VHS take tracking system in Basic for a guy that rented out pirate
VHS tapes from the back of a van around his council estate. I was about 11 (so
about 1982), my dad used to rent tapes from him. - I'd never used whatever
computer he had, just the Research Machines 380Z at school.

The next was a clone of some artillery game (a bit like Gorillas.bas) on to
another of dad's friend's TRS-80. I'd never used a TRS-80.

Then a stock control program for my dad's pub (which got me an F in my
computer studies class but saved at least $50k [I still got an A via the exam
which means I scored 90%+]). I did know quite a bit about that system, being
my own and all.

Then one day at my local computer shop, I was watching them struggle with
their pricing. Only one guy knew the prices of stuff and had employees
standing in line so they could price their builds. I was friendly with him so
asked if I could take his spreadsheet and make it a bit better. Come Monday
morning I'd discovered Access and made a computer building form that worked
over the LAN. So they gave me a job making it better. By the end it did the
purchasing, retail pricing, BOM production, quote tracking, faxing, barcode
printing (which we built by hand as a TTF font in Corel Draw), barcode reading
(each fax had a barcode, customers arrived with them and a quick scan later
the shop floor people could find their details), sales team target tracking
and quite a bit more (this is all pre-internet). The Microsoft rep called the
best in-house project he'd ever seen!

Then I taught myself C++ to do image processing for the music video I was
commissioned to make by Creation Records (a division of Sony) on the strength
of the work we showed while doing video projection at raves.

Knowing vbscript meant I was well placed for IIS web development but realising
it was a shit platform I started looking at PHP. I got a phone call from the
previously mentioned retailer asking if I knew anyone that could do PHP. I
said "yeah me" and got a 5 year job building a recruitment site.

In the process of doing that I taught myself Postgres and FreeBSD system
administration.

Now I work in an independent cinema / media centre doing all sorts of sys
admin with a digital video strand, DVD authoring & duplication (this pays
best!), camera assisting etc. including a 5 machine video distribution and
exhibition network on mac minis using Gentoo that can double as a a video wall
a la Liquid Galaxy (same code in fact - a patched mplayer which syncs via
upd).

 _tl;dr_ I knew almost nothing about any of the systems I have done my best
work with and learned most of it on the job but got the job because I knew
loads of other loosely related things.

