Fog Creek Software
Discussion Board




How did you get here?

Reading the last few posts about what people do and don't know, I started thinking about the path travelled into the IT industry.

Unlike more established professions, where there exists a clear curriculum that practitioners must master, the route into development is much more varied.  I sense a strong continental bias as well.

For example, C seems to have been established in america much sooner than it did here in europe.  Thats the impression I get.  This means that in America every developer worth his salt is supposed to know all about pointers and to have read Ritchie.

Here in the UK computers like the Spectrum and Amiga were much more dominant.  My own learning experience was dominated by BASIC, forth and Assembler.

In Europe early programmer was dominated by sprite animation and screen scrolling, while the Americans seemed to have spent their time writing parsers and compilers.

Is my impression accurate?  What path did you take into computing, and how do you think it has molded your attitude?

Ged Byrne
Friday, May 23, 2003

I got here from hobby computing with VIC-20 and Apple // while earning a living as a welder and truck driver. When I saw my first IBM-PC, I thought to myself "If this thing catches on, I'm gonna make a killing!" Well, I haven't made a killing, but I have made a living.

BTW, the reason I thought I would make a killing was simple. The Apple didn't care where you but the boot disk, it simply polled all drives until it found an OS. The IBM, on the other hand, had a hard-coded boot drive. At the time, I thought this was lunacy and felt that if something so basic was done 'wrong' then there were bound to be all kinds of things that people were going to need help with--way more than needed help with 'proper' computers like Apples :) I no longer carry any platform biases, but I was right about being able to find lots of PC users that needed help.

Ron Porter
Friday, May 23, 2003

Well, I predate all that. I had been a machinist back in the 60s and then got a degree in Industrial Eng. in the 70s. I was a product of the industrial revolution who converted to computer revolution in it's infancy. Started programming in the early 70s. I got a MSCS in 81 at the ripe old age of 33.

My entry was via Fortran on old GE and Honeywell mainframes. 30+ years and I still do Fortran and C.

old-timer
Friday, May 23, 2003

Computers: Vic20s, Spectrums and C64s (I spit on BBCs), Amigas and STs then boring old PCs and now Macs.   
Languages: BASIC (Vic20, C64, AMOS), Modula2, Turbo Pascal, C++, Delphi, Smalltalk, Java. 

It turned out I was quite good at the programming stuff, so I did a university course that was one third computing, the rest psychology and philosophy.  Then, when my bands failed to make it big, I got a job as a programmer, got debts and mortgages and now I'm stuck with it! 

Rahoul Baruah
Friday, May 23, 2003

Old Timer,

Wow, you really are experienced.  Is there stuff that you think we youngs uns really should be knowing?

Ged Byrne
Friday, May 23, 2003

I was flipping burgers... philosophizing about how much debt I was in from school and what I was going to do about it when I decided to take a few 'computer' classes.  I had programmed trash 80s in high school, and in university I had a few classes where we had to get on the mini & write some fortran, but this was VB3 on Windows 3.1 and I was hooked. 

victim, jr.
Friday, May 23, 2003

Yep, I'd had my TRS-80 about 3 months when I decided to write the game of Life in Basic.  Thought it was broken as the screen never updated, but couldn't find the problem.  Went to pee one day, when I came back the screen had updated.

So I learned Z-80 assembly.  I was an electronic tech at the time, units at work were 8080 based.  So I started writing test code to exercise hardware to help track down problems.  Things like excersizing the data/address busses, etc.  Engineering found out about this and said "hey, get your ass on this side of the wall".  So I was an engineering tech, hacking out 8086 code.  From there I leanred Unix on a PDP/11, C, Fortran, microcode, and a smattering of other languages.

20 years later I'm doing Linux device drivers, and computer telephony. 

snotnose
Friday, May 23, 2003

How do you find your background effects your thinking now?

For example, I notice a few Z80 coders like myself.  Do you also find yourself intolerant of software bloat and too many abstraction layers because deep down you just want to take full control over the machine and start poking to the screen rather than using Printf.

Ged Byrne
Friday, May 23, 2003

Started with the old Rubber Key 48k Spectrum at the age of 8. Then never touched a PC until about 10 years later. Started programming 3 years later still at 21. I didn't even mean to be a programmer - I just liked computers and happened to join a company that suggested I should write code.

Started with plain HTML and a bit of JavaScript then used LotusScript in Notes and Domino, turned to VB5,6, then bizarrely C and C++. Got a good handle on COM with ATL and have latterly been doing a lot of C# / .NET.

I've got here through enjoying what I do, even though I never had any real plan. I guess that's common in development.

Sam Strachan
Friday, May 23, 2003

I was always going to be some sort of engineer or scientist. I inherited engineering genes from my Dad (mech eng, jet turbine fuel systems designer) and maths genes from my Mum (mathematician/computer programmer).

And then they made the mistake of buying me & Sara a home computer. Whups. Sara, by the way, inherited all the organisational skills of both parents and some of the maths genes. So she's an accountant now, and regularly rants about how inept most accountacy practices are...

Entry path was mostly by "doing a degree in computer science because I can do it in my sleep." Which was fortunate, because that's mostly how I did it.

And so now here I sit, in Dilbertesque Big Corporation Land wondering what happened to my enthusiasm...

Katie Lucas
Friday, May 23, 2003

I started with a Sinclair ZX-80 doing Basic. They wouldn't let me do Computer Studies at school as I "knew more than the teacher", admittedly it was the first year they were running the course. I got set of TSR-80 manuals from somewhere and lusted after the power. Then there was a ZX Spectrum that put me off programming for a bit as there were too many games for it… Dad got an ACT Sirius 1 for his accounts and I started playing with that, more Basic. Then an Apricot Xen I-386, a very early (read expensive) 386. A couple of years later I “borrowed” a copy of Turbo C and a copy of K&R and I was off… 8-10 years programming in the evenings and finishing my apprenticeship and working as a plumber with dad during the day. Time passed; various PCs, Windows 3.1, Borland C++, Petzold, Unix (SVR4), Linux (when it still came on 15 floppies)… etc.

I decided that I didn’t fancy the idea of still being “on the tools” when I was dad’s age, so started to look for a programming job, got very lucky and the rest is history…

Now I’m doing financial stuff in investment banks using C++, C# and Java and trying to build a client base of people who don't care where I do the work from...

Len Holgate
Friday, May 23, 2003

I started on a ZX Spectrum, with BASIC. Then, in high school I took on COBOL. Then, I had a pause, during which I took up guitar, but returned because I didn't go very far with it.

By this time, I had my first PC (a 486), and was getting some stuff done in Clipper 5 (to this day, I'm grateful I didn't have to start with Summer 87). Then I tried C/C++ (Borland C++ 3), and my first contact with WinAPI. Ugh!

I got my first job developing in FoxPro for Windows, and I learned to hate MS tools. Then I moved to MS Access, and my hate started turning to dislike. I took a look at VB, and came back running to Access as fast as I could :)

Then, Delphi came along, and I found my dream dev tool. Unfortunately, very few people shared my opinion.

After a few more years with Access, my company shifted me to web dev. My first language was Netscape's SSJS. Then, came ASPs.

On my spare time, I took on C++ again (made a lot easier after the inclusion of STL), with C++ Builder. Went a lot better than the first times.

And then... forget development. The line became "we're not a software house, we're going to outsource". At this time, I was taking a look at Java (not yet J2EE), and I got up to speed easily.

So, now I'm a sort-of project manager, and all the developing I do is at home, when I find the time.

-----
"Suravye ninto manshima taishite (Peace favor your sword)" (Shienaran salute)
"Life is a dream from which we all must wake before we can dream again" (Amys, Aiel Wise One)

Paulo Caetano
Friday, May 23, 2003

Worked in an automated test group in the early 1980's, which used FORTRAN on micro PDP-11's.  At the time, writing code was secondary to analog & RF circuit design and analysis regarding my role in that group.  C Language became dominant as we swtiched to Apple MAC II based control.  I learned C at the time.

In 1989, I was offered a role in digital ASIC design, which was a great chance, so I took it.  That was a great position for me, used the C language for design simulations and test harness for the ASIC.  Again, C language was secondary to ASIC design.

In 1992, the DirecTV project required additional software help.  Since I had both hardware and software experience, I helped write device drivers for that project which lead to other digital video projects and DOCSIS cable modem (1998).  Still mucking around in that space, C language almost exclusively, as it holds my interest.  Writing an Linux ALSA driver for Geode as we speak.

Nat Ersoz
Friday, May 23, 2003

In high school I could barely use Word, I had a hell of a time formatting the documents.  But I knew how to use ICQ. I was going to be a Chem or Physics major, but then tried out computers second quarter of college, and got hooked. By the end of the year I was running Linux (Redhat 5.2, I think) and writing a mod_perl application over the summer.  Graduated with my B.S. in CSE last June, and now am working at a National Labratory and am working on my Masters in CSE.

I still can't use Word very well, but I've found that I'm not interested in all at the formatting of data, but very interested in the processing and storing of it, databases, perl, etc.  I find that MVC helps a lot, because I can dump the display parts off on someone else ;)

Andrew Hurst
Friday, May 23, 2003

I Started with a Commodore Pet in about 1979. Built a ZX81 & learned Basic, then got ZX Spectrum in ’82 and learned Z80.

1st full time job was doing Real time Comms on custom hardware in z80/68000/C in 1987. Left for University, after which I got into applications development, mainly in Basic. Started with VB in about 1996.

Justin
Friday, May 23, 2003

I started with a Sinclair ZX-80 doing Basic when I was about in 7th grade (Puerto Rico). I was one of the few that had enough money to buy one of those things back then.  One summer a hurricane destroyed our house and my father was in the hospital for a year. We lost everything, and on a chance moved to the main land (stateside) and started anew.

I didn't touch another computer until the Apple II came out. I missed the early PC bubble in the 80's. I mostly worked in the food industry until I graduated from a junior college in 95.

There was a recession then, and the only IT jobs available then were desktop support and help desk. I worked about 1 year doing desktop support, then moved up to Network Administration, mostly Netware networks. I didn't get into programming until I was able to leverage my support experience to get a job doing 25% support and 75% programming.

There's no way I could repeat that if I had to start over in the current business and economic climate. I haven't seen any entry level jobs for several years now.

Hector
Friday, May 23, 2003

I didn't really take the traditional route. After doing various work in the contruction industry I actually got a break at a local ISP as a tech support desk jockey for 7.50/hr (w00t!). Got promoted to admin after a year or so and started programming to ease the pain of administration. I started with scripting, PERL and ASP and stayed in that area (Including VB) for most of the tech boom. Finally I got a break with my company coming on board for  J2EE. It wasn't the first Java app I wrote but it was the first in production. I loved the simplicity of it and when C# was introduced I hoped on it in hopes that I could leverage my current skills to the win32 platform level. I now use C# most of the time and sometimes they force me at gun point to use VB.net. Over the last year I've been working with ANSI C in a *nix environment but that's mainly a learning experience to fill in my knowledge gaps.

Being that I'm self taught and have no degree I have to work twice as hard as the next guy in terms of learning and work ethic. But let me qualify all of what I said above by saying that I'm no foreigner to computers. My first experience with computer technology was when I was wee high, my mom explaining everything I wanted to know about computers. She worked for Sperry Univac and showed me the in's and outs of Mainframes, mini computers, and tape racks for days. It sparked an interest in me. I didn't actually get my own computer until she bought me a 286 about 6 years later but before that I would hang around the local geeks and use theirs. We wrote command line games in BASIC that would make a sailor blush, lol.

I never imagined I would be a programmer.  And to think they actually pay me for this. What luck.

Ian Stallings
Friday, May 23, 2003

I played games on my 8086 and later computers when growing up, but never seriously considered CS as a goal until summer after my sophomore year of college when I had a CS research job. Was so much fun and so challenging, I decided to go ahead and major in CS.

So for me: started with scheme in college, then java, then C/C++ -- which is what I code in at the moment. Mostly *nix development, although our tools are hosted on win32 in addition to solaris2, linux, and HPUX.

Steven C.
Friday, May 23, 2003

I think your impression is pretty inaccurate.

Li-fan Chen
Friday, May 23, 2003

From early 70s - HP 9100, HP 9300, Mini computer with paper tape I/O (no disk), IBM 360, PDP 11-24, Commodore 64, APOLLO, PC.

Languages: Basic, Assembler, FORTAN-IV, FORTRAN-77, PASCAL, CLIPPER, Visual Basic, C, C++, Script languages, C#

I am amazed how fast the technology changed in a relatively short period of time.

...
Friday, May 23, 2003

> Old Timer,
> Wow, you really are experienced.  Is there stuff that you
> think we youngs uns really should be knowing?

Yeah.  Keep your powder dry.

old-timer
Friday, May 23, 2003

[I think your impression is pretty inaccurate]

And there you have it. Case closed.

Ian Stallings
Friday, May 23, 2003

I was doing quantum mechanics and astrophysics at university (Cambridge UK), wondered what kind of job I'd get afterwards, took a year off before finishing the degree, found a job at Nortel (Ottawa CANADA) where I did network performance modelling and estimation ("Queueing theory") and was happy when they told me to come back to work there permanently when I finished my degree. I finished my degree, and I started to learn programming there as a "software maintenance engineer". When after a year I fixed a difficult (I chased it into some microcode) but high-profile (it was preventing a sale) bug, they praised me and promoted me to "software development engineer"; I spent a year doing that as the junior of a 2-man team (I did the design, he was learning to do management). After those first 2 years, I wanted a 3-month vacation (I'd never had 2-week-per-year vacations in all my life before); they said I could take a leave of absence, if I signed a paper saying they couldn't guarantee me a job when I got back. 2 weeks later at the beginning of my 3-month holiday (now in Oxford UK), I got a phonecall saying there was a new VP who wanted me to come back (to Canada) immediately or resign: I resigned. I looked for a programming job (sending out resumes), got a call from a headhunter (who I'd never written to) offering me a job as a technical writer in Slough (I guess he liked my English), so I did that. After a year in Sough I asked them to double my salary or to let me live in Wales instead; he said he couldn't afford doubling, so he let me work remotely from Wales instead. After that ended, I got a series of contracts as a technical writer for IBM (Rome, London, Toronto). When IBM went into recession they let go of their contractors first, and I was out of work. I had my own Compaq portable though (cost me £2K 2nd-hand) from my tech-writing days in Wales, with DOS and Basic and a WP and nothing else. I taught myself Intel assembler (wrote an assembler using Basic and debug.com, rewrote it in assembler, let the assembler assemble itself). A headhunter who couldn't place me as a tech writer advised me to "learn C", so I did that by canvassing door-to-door for Greenpeace as a night job while writing some accounting s/w for them in C on a volunteer basis. I later had one more tech writing contract with IBM. Then I was unemployed for 8 months; I found an ad in the government employment center for someone to do tech support, and interviewed for that (- "Can you talk on the phone?" - "Yes, if I learn the product and have something to say."). When I didn't hear back from him, I phoned and said "I can *do* the job." and he replied "OK, come in then". When I arrived, there was no software product and no customers; the previous programmer had quit, leaving behind a deliberately-mangled set of source code. The source was assembler, so I fixed the sabotage by comparing it with a disassembed copy of a working executable, and went on from there as their programmer. The 1st person I helped to hire did not have a university degree and was working in a warehouse: but he'd written not only an assembler in assembler, he'd also written an entire IDE complete with debugger and incremental assembler: so he was hired... and the company continued on its way over the next 12 years, from 2 programmers with a pair of DOS client/server TSRs to a 1 MLOC system and 20 developers, selling to telcos, the company sold for $26M to a multinational which withered in the dot com crash when it could no longer sell to telcos, and our product/jobs were sent to India because the multinational didn't want to develope it anymore but had some maintenance contracts which it couldn't afford to break. I've been unemployed since February, may get a job offer this month from someone who knew me from where I last worked. While at this company where I was senior developer, I had no-one there who I could ask for technical help when I needed it; so I went online (CIS) to ask questions, and ended up an MS MVP there due to the concept of "paying forward". I don't remember how I found JoS; it's the only Web site I come back to (except for MSDN).

Attitudes: respect other (diverse) people's strengths; work together or don't work at all; work when you're alone, or you won't have anything to give when you meet other people; don't lose contact with the person who makes money off your work, because you need each other; big capital doesn't know you, makes decisions for reasons that you don't control; and my attitudes are still changing as time continues ... I want to correct mistakes in the future (especially interpersonal mistakes) that I may have made in the past.

Christopher Wells
Friday, May 23, 2003

I started with basic.
But I consider programming PPE on the PC Board Bulletin Board System when I mastered the logic.
Perhaps that is why I dont really mind to program in interpreted languages. :-)

Dewd
Friday, May 23, 2003

Christopher,

What a great story.  Thanks for that.

Hope you find work soon.

Ged Byrne
Saturday, May 24, 2003

received my first computer (Commodore 64) at age 12.

12 - Games
14 - Assembly, demos, etc.
16 - PC (3D graphics)
18 - Beers with friends, no computers
20 - C/C++
22 - VB
24 - HTML
26 - Project manager

--- SAD :(

na
Sunday, May 25, 2003

zx spectrum for playing games in high school sparked interest in computers,

gw basic in grade school, pascal in high school, BS in computer science (either courses were totally interesting or a total waste of time, ), currently doing my MS in comp engg.

there are a lot of things I whine about in academia, but I love this stuff too much to be doing anything else.

Prakash S
Sunday, May 25, 2003

by grade school, I meant 8th grade:-)

Prakash S
Sunday, May 25, 2003

Games, on an Atara 400 in basic and then assembly.  By my junior year in high school I had decided I never wanted to program again.  BA, 8 years as a cook and chef.

Restaurants were no life, got back into programming. Masters in CS part time, fairly serious "IT" jobs with good money.  Now looking to get into teaching...

Still not a techie
Sunday, May 25, 2003

I'm sure this thread has appeared at least three times before...

Started off with playing around with a ZX81 at school, parents got a Spectrum which I learned assembler on mainly to hack games to pieces. Never got interested in graphics manipulation, enough. Moved onto an Atari ST which I spent most of my time doing MIDI sequencing, before picking up the rudiments of C programming on it. (One floppy for source code, one for editor / compiler / linker.)

Got my first programming job as a summer job between years at college, writing a stock processing system in Paradox with ObjectPAL, started coding full time in C after graduating, and picking up C++, VB and SQL en route. How predictable.

Better Than Being Unemployed...
Tuesday, May 27, 2003

ZX Spectrum
Loads of Basic
Mathematics degree with heaps of Fortran for numerical analysis.
DBASE III
Recital
Clipper
MAPPER
Gupta 
Powerbuilder
VB/Oracle/Sql Server/Sybase
Now .NET and jaded/bored/disinterested

Realist
Wednesday, May 28, 2003

Oh and I nearly forgot, a short stint of ADA and a fair amount of Pascal in the middle eighties.

Realist
Wednesday, May 28, 2003

Oh, and Modula 2 in 1987.

I suspect I've forgotton more than I remember.

Realist
Wednesday, May 28, 2003

*  Recent Topics

*  Fog Creek Home