Who is the longest-serving programmer?
Post this page to popular social media
Apologies for interrupting you before you read about the programming veterans, but here's something that may interest you:
TNMOC has launched a Crowdfunder to Keep the Bombe on the Bletchley Park Estate.
What's that all about? See here:
And now to those veteran programmers:
Who has been programming the longest? We've had a claim from a 70-year old to be one of the world's most durable programmers having started coding for a living in 1969 and still doing so today. Other contestants, step forward please! (Latest updates below.)
The durable programmer says:
I started in 1969 and am still programming for a living today, 44 years later, now approaching 70 years of age in 3 months time I have kept up with techniques as best as an old one can and currently for a living develop (that's the modern term) in the C# language using latest Microsoft techniques such as MVC and WPF, Restful APis etc.
I am a coder by hobby as well as by trade, and I intend, health permitting, to work on till I drop and have started even running some global internet websites (some especially for programmers/developers) which I am coding up myself.
Email us at email@example.com if you have been coding continuously for longer.
Update 25 Sep 2014: Michael Winiberg @mfwiniberg has the closest claim yet having started in 1972.
Updates 26 Sep 2014:
a relative of Julian R Ullmann thinks that Mr Ullmann may have a claim. Apparently he is in his 80s and is still coding and writing academic papers. His starting date hasn't been firmly established yet, but this paper dates from 1969.
Paul Koning tells us that he started programming in 1969 aged 13 writing some utility programs for his father, a professor at the TU Eindhoven (in Algol on the Philips EL-X8 machine), and shortly afterwards some demo programs for the Philips Evoluon science museum (also in Eindhoven, the Netherlands). He was first paid as a programmer in early 1974, and is still programming for a living today, aged 58. He keeps up-to-date and in his career thinks he has averaged one programming language per year, about 40 in total including assembly language for almost 10 different machines.
and honourable mentions to Gary Watson still coding after 42 years (he started programming Algol 60 on an Elliott 803B, which had 8K words of memory), Victor Fuller 38 years, and someone calling himself Barry Nineteensixtysix who says he started in 1970 but had a virtual computer (cardboard cutout) in 1962.
Updates 29 Sep 2014:
a claim on behalf of Charles Lindsay who may have programmed EDSAC, is now Honorary Fellow at the University of Manchester and we are told "recently programmed a microcontroller for his local church heating system".
a claim from Richard M Alderson III for 1969.
Romilly Cocking tells us he wrote his first program in Pegasus Autocode in 1958 at the age of 11, got his first job as a programmer in January 1966 working for Dr David Hendry at the Institute of Computer Science in Gordon Square before going up to Cambridge to read Maths and is still programming (occasionally for pay) and designing hardware. he writes: From 2012 to 2013 I ran Quick2Wire, a startup selling add-on boards for the Raspberry Pi and providing associated software.
John Linford writes: It looks like I've been overtaken but I claim a 1970 start at the age of 20 and I've been programming ever since, albeit only as a hobby since 1979. Started with assembler code on PDP8s and IBM360s and now program in Delphi XE7. It's a bit different to the old days and wonderful to have been involved through such a period of change.
Further update on Julian R Ullmann from TNMOC's archivist: I've tracked Julian R Ullmann (yes, it is two ll's and two nn's) back to 1962 at NPL. He was working on Pattern Recognition there (I was in that section for a short while) and published 'Consistency techniques for pattern recognition association' in 1962. The clues are all in Turing's Legacy, section on The Uttley era beginning p 57, but specifically Pattern Recognition pages 80-84. (There is a copy in the TNMOC Library.) The DEUCE computer figures frequently in the text and was probably the machine they were using. At that time there was only ACE and DEUCE at NPL. Pilot ACE had been given to SciMus about 1955. Julian may well have been coding Pilot ACE, ACE or DEUCE back in the '50s.
Rich Alderson now at the Living Computer Museum writes: I began programming at school in 1969, when I was 17. At university that autumn, I gained employment at a computer-assisted instruction laboratory instead of washing dishes in the student union or shelving books in the library. I continued to support myself through my academic career in various programming positions, and after doctoral studies abandoned the field in which I had studied for a decade for full-time work as a programmer. I am still employed for my programming skills, now in a museum setting, after a long career as a systems programmer and systems administrator in academia and industry. I expect to continue for some years yet.
Peter Lawrence learnt programming on EDSAC in 1956-57 and continued doing it until 1960, but modestly doesn't see himself as a pioneer since programming was well-established when he started. In any event he "avoided" programming until the last few years of his career.
Update 30 Sep 2014:
- Dr David Hartley tells us that he wrote his first program in about July 1958 as a vacation student with Ferranti (using Pegasus Autocode). "Then in September 1958 I joined the one-year course in Numerical Analysis and Automatic Computing at Cambridge University using EDSAC 2 for which I gained a distinction. This was followed by three years as a PHD student. I designed EDSAC 2 Autocode and wrote its compiler and by 1963 I was doing research in programming languages, and was one of the design team for CPL. I recently had a paper on CPL published in the IEEE Annals of the History of Computing. I was a member of the team that developed the operating system for the Ferranti Atlas 2. I program much less these days, although at the age of 77 I am currently developing a database system to administer the holdings of works of art by Clare College, Cambridge. I have done several similar projects since retiring in 2002."
Updates 4 Oct 2014:
Mike Alexander of Michigan writes: I'm not the longest-serving programmer, but I've been at it a while. I wrote my first program (in Fortran for the 1620) in 1962 and got my first job writing software in 1963. I'm no longer employed (I retired in 2006 after 42 years of continuous employment as a programmer), but I still regularly work on various open source projects, at the moment primarily GnuCash.
Robin Wery was working on VDUs in 1970 when he was introduced to a machine (a Raytheon 704) my boss called called a computer. He said I had to get to know how to use it because part of the purchase specification was that the VDU's had to be dynamically tested by sending test messages at them.... To get it running a bootstrap program had to be manually inserted on sixteen switches... It took several months to get a working test program, and more months as changes in requirements trickled through the system. By then I was chief programmer at COSSOR (I was the only one)... Today I have personal interests in real time programming specifically the ARDUINO range and although I am unemployed at present I am actively seeking employment in the Electronic industry,and until I drop dead I'll continue to work.
Nigel Dyer writes I started programming in 1968 at Twickenham College of Technology (no longer exists) on a Elliot 803. My first job was in 1970 programming in CLEO (Clear Language for Expressing Orders) and Intercode (low level language) on a Leo III machine in 1970 for firm of stock jobbers (a role that no longer exists on Stock Exchange). ... I progressed to COBOL and Assembler with Commercial Union Assurance Co. These days I am still working 2 days a week and I am an IT Manager for a local plumbing company and don't do much programming but do create MS Access DB applications and write Crystal Reports plus carry out what used to be called Systems Analysis and then specify the required system applications.
Update 30 Nov 2014:
Peter Furniss writes: I started after some of the competitors, but doing two programming jobs after 44 years. I learnt Algol 60 in a one-week course as part of my BSc in Applied Zoology (they imported a lecturer from Applied Physical Sciences, since none of the Zoology staff knew programming) and ran my first program on 11 June 1970 on an Elliott 4130. Since then I've been programming one language or another as at least part of my job ever since. Currently in a development group with an investment bank - Java, XSLT, occasional Perl and have finally learnt SQL in developing an Access-based application for a hospital discharge team.
In TNMOC's Software Gallery, you can trace the software family tree and add languages to the growing 2000+ database.
Update 20 Feb 2017:
Richard Ansorge, Emeritus Senior Lecturer, Cavendish Laboratory, Fellow and Tutor Fitzwilliam College Cambridge writes:
Born 1944, I saw my first computer in 1960 on a school visit to the Dollis Hill Post Office research labs in 1960. I still remember the excitement of the scene - with paper tape and line printer output flying everywhere.
I came up to Cambridge in October 1963 where I was taught EDSAC 2 Autocode by Maurice Wilkes in my first term. We lowly undergraduates were not allowed to run our programs. Instead they were marked as likely to work. I wrote my first program in Fortran II in the summer of 1966 at an astronomy summer school at Herstmonceux Castle. This involved writing each line of code on special coding sheets, which were then taken away to by punched onto cards by typists. The cards came back the next day and were carefully inspected for corrections, which took another day to happen. Finally, the program was sent to the machine to be run. This three-day turn round time encouraged one to think really hard about what one was doing and remarkably my 200-line effort worked first time.
In the summer of 1967, I embarked on a PhD in high-energy physics and spent time at the Rutherford Laboratory studying several 2000-line Fortran programs written to process bubble chamber data. These programs ran on the Rutherford’s IBM 360 model 75. My task was to transfer the code to an IBM 360 model 44 at Fred Hoyle’s brand new Institute of Astronomy. This was accomplished rather easily because the machines were entirely compatible.
Since then I never looked back and have coded ever since. Using IBM mainframes and Titan for batch processing and mini computers (PDP7, PDP8 PDP16 etc) for machine control. In 1979 I was responsible for getting the first Vax 780 in the university for the high-energy physics group. The Fortran 77 and virtual memory on that system were a revelation. A lot of network development took place on the back of those VAX machines. In the 1980s I served on infrastructure committees at Rutherford Lab and watched the growth of email and other inter computer networking. More recently, I have been involved in parallel computing for medical imaging applications such as PET and MRI in C++and CUDA. Although not officially retired, I am still actively writing code and see no reason to stop.
Update 17 July 2017:
Dean Wilder writes:
I wrote my first program in COBOL in 1966 while working for the [US] Navy Department. Later, I developed an inverted file retrieval system in IBM mainframe assembler language, which was used by the Navy, as well as several other government agencies.
In 1976, I moved to the Library of Congress to work on their SCORPIO retrieval system. I developed the first touchscreen system for use in reading rooms, as well as the Library's American Memory system for the retrieval of sound, motion pictures, and manuscripts. In 1995 Phillip Thomas and I created the Thomas system for the online retrieval of legislative information.
After retiring in 1997, I wrote the PISCES search system for supporting web searches. As a consultant, I used PISCES to create the Text Analysis System for the Congressional Research Service. I also used PISCES to support the National Library of Medicine's Toxnet System of 10 databases. I am currently working for the National Library of Medicine to improve their toxicology system, as well as for a library services company supporting three databases of 100 million records. PISCES, written in C, is still in use after 18 years.
My present work is in PHP and SQL. I am now 78 years old, have been programming continuously for 51 years, and loving every minute of it.
Update 28 July 2017:
Alan M Stanier writes:
I think I might qualify as the longest-serving programmer, depending on the criteria for being a serving programmer.
I first coded in FORTRAN as a schoolboy in 1968, studied Computer Science at University, then worked as a programmer until I retired in 2013. Since then I have written programs in PERL for my own use; and regularly written webpages in HTML, which might be considered programming.
Update 31 July 2017
Donald Mayfield of Texas writes
I learned Fortran IV at Trinity University in San Antonio in Spring of 1968 on four Saturdays. Alamo Heights High School teacher, Paul A. Foerster, recruited some of us trigonometry students to attend. It was instead of attending the opening of Hemisfair '68 in April where later saw an IBM mainframe weave a pattern that I input on a CRT at the IBM pavilion. I first worked as a programmer in 1975 at the San Antonio Audie Murphy VA Hospital at the Psychophysiology Lab, also a sleep lab at night. It was a Focal-12 program for Sleep data reduction. There is an abstract published on that program. It will be in my Linkedin profile.
I received my Master of Computing Science Degree in December of 1979 from Texas A&M University. My project was the Texas A&M Beef Cattle Simulation Individual Animal Model using linked lists in Fortran arrays. The report will also be on my Linkedin profile.
From there I went to Northern California and had a career in application programming at Chevron Corp until 1999 when the oil industry downsized. I did SAS programming after that in Oakland, CA and then in Austin, Texas at PPD Inc for nine years in the drug discovery business (Clinical Trials) until the financial crisis. I am officially retired now and only do some spreadsheets out of self interest.
Update 1 August 2017
David White writes:
I wrote my first program in 1967 when my school, Bristol Grammar School, was given a Stantec Zebra computer by a local business that was upgrading. A maths teacher led a small group of students who disassembled, relocated, reassembled and got the computer working. We then wrote small programs on paper tape. I don't remember what the programs did, but I suspect they were basic mathematics functions, possibly written in Algol, as it supported that language. I think BGS may be the first grammar school ever to have its own computer. It would be interesting to see if there are any other contenders.
From there I went to the University of Birmingham as it was, in those days, the only major university to offer a computer-related degree (maths and computer science). There I wrote programs on their KDF-9 computer. These were written in Algol on 80-column cards and I quickly learned to number my cards after dropping a stack of them! As very few batch runs were available to undergraduate students, we spent a lot of time hand debugging the programs so as to avoid waiting several days for the next batch run due to a simple mistype.
My first programming job was in 1972, writing programs in Cobol for an insurance broker. They had an IBM 360. After that my career moved on to systems analysis at the City of Westminster where they had Univac 1100 computers. They were very advanced for their day in both database technology (DMS1100 - a Codasyl database) and in terminal-based (as opposed to batch-based) systems. I then moved on to working on to Data General Eclipse minicomputers focusing more on software and database architecture and design. This has been my primary work focus since then. It is important to note that many people confuse coding with programming. Designing systems and programs is the real work of programming.
As my hobby was, and still is, electronics, I have continued to write software but mainly for my own projects rather than to earn money. My first personal computer was a Tangerine Microtan65 6502-based single-board computer, which I bought around 1979 and which I still have. I spent a couple of years developing a home control system on it, mainly programming in Basic with some assembler. I also experimented with Forth on it, but the language lacked good IO capabilities.
In 1983 I bought one of the first IBM PC XT computers, which cost the equivalent of around £12,000 today. I mainly used this for desktop applications but also programmed it in Basic. A couple of years after that I built a manpower planning system in dBase, running on an IBM PC, to help plan for the Hong Kong transition to Chinese rule in 1997. In 1984 I bought a TRS-80 model 100 laptop. I used this to build a CNC controller for a tiny Unimat lathe. I programmed it in Basic to interpret G codes into control signals for stepper motors to control the lathe feeds.
Nowadays my interest lies in the Internet of Things and I am programming Raspberry Pi computers and various micro-controller boards in Arduino and other flavours of C, various flavours of Java and more obscure languages like Lua. Nowadays, I try to avoid text-based coding to maximize my productivity. I like to use higher-level "languages" such as Node-Red and App Inventor wherever I can. So, although I cannot claim to have been continuously employed as a programmer since 1979, I have certainly been continuously programming from then until today. As I write this, I am developing some code to use openCV for face recognition on a Pi. The fun never stops!
Updated: 4 August 2017
Bill Williams writes:
I started programming in 1962/63 and have continued ever since.
I did a BSc in electrical engineering at University College London 1959-1962, specializing in electronics.
I went on to do a PhD course at the same department and early on decided to simulate the Pattern Recognition that I was researching. To use the Mercury Computer, which (as far as I know) was the ONLY computer owned by the University of London at that time, it was obligatory to attend a programming course for the Language EMA - which I did.
I programmed my research and later went on to work for the Atlas Computing Service of the University of London and worked as a programmer and programming manager for the University until 1980, when I went freelance. I never did submit for my PhD always too busy.
Updated 11 October 2017
John Shillito writes:
I started with ICT, the forerunner of ICL in 1962, working on their 550 and 555 range of Plugged Program Computers. Although I was employed as an engineer I had to program or reprogram these machines. I eventually progressed to Headquarters Support as a Software Specialist working on large systems such as 2970 and 2980.
I actually wrote the Emulation Diagnostic Guide for the Company (this was running more than one alien program on one machine in native order code (ie by hardware). Also I was very involved in programming the Error Logging systems and Diagnostics for these large systems - this eventually developed into the Remote Diagnostics which are so common today.
At 80 years old I am still involved in programming and produce and support Web Sites for a number of companies.
Updated 12 October 2017
Thomas Clifford of The Swedish Computer History Museum who just visited TNMOC last week says:
A few years ago we interviewed Göran Kjellberg who was responsible for programming the first Swedish Computer, BARK, in 1950. When we met him in 2011/2, he was 92 years old and had just learned how to program in Java. He saw it as something of a mission to learn as many new programming languages as possible. Quite remarkable, don't you think? :)
UPDATED 23 December 2017
Gene D’Angelo of Machine Learning Solutions writes:
I started working full-time as a programmer in May of 1963 at the age of 16. I was using Fortran and SPS on an IBM 1620 Mod 2 with 64 KB of RAM and no disk or drum. All the input and output was via 80-column cards. Input was produced on an IBM 026 keypunch and the output was printed on an IBM accounting machine with an 80-80 circuit board. I was working for a company called Mitchell Engineering in Columbus, MS, and the computer was located 25 miles away at Mississippi State University in Starkville, MS.
I have been working with computers continuously ever since, including freelancing as a programmer while in undergraduate school for 3 years. I am now a data scientist with over 7 years of graduate school in operations research, management science and artificial intelligence. However, I have done my own programming for all the algorithms I have designed over the years. I am also now attending school part-time at Florida Atlantic University, and expect to receive a Graduate Certificate in Big Data Analytics after this upcoming Spring semester.
I may not qualify as the longest-serving programmer today, but I may be in the top 10, and I fully intend to continue working full-time into my eighties (I’m now 71). The one caveat is that between 1978 and 1985 I worked in computer sales, but I also programmed part-time and provided my own technical support.
UPDATED 11 February 2018
Terry Froggatt of Hampshire writes:
I can beat claim of your 71-year-old by a couple of years, (although I can't compete with the likes of David Hartley).
I wrote my first program for the Elliott 903 in September 1966. Now at the age of 73 I am still writing programs for the Elliott 903 !
I've just written a 903 program to calculate the Fibonacci numbers.
And I've written quite a lot of programs in the years in between, some for the 903 but also a good many in Ada.
UPDATED: 12 February 2018
Craig W. Schulenberg writes:
I started programming in August 1966 when I joined the MIT Instrumentation Laboratory in Cambridge, Mass, as an Apollo Lunar Module software developer. I developed LM flight software (programs P12, P70, P71) in assembly language, and also developed software tools in BAL (for the IBM 360), as well as post-run editing software in the MAC language.
I have never gone more than a couple of days since then without writing code. I am currently creating flight software development tools (in C/C++) for the SLS program as a member of the FSW Design Group at MSFC. I currently work for the Draper Laboratory, the same company that I started with in 1966 (which was then called the MIT Instrumentation Laboratory), and I am currently located in Huntsville, Alabama. I also developed a large portion of the FSW developmental tools for the Space Shuttle while I lived in Houston, Texas. This is actually my third time to be a Draper employee; I was a self-employed software developer (as Schulenberg & Associates, Inc) continuously from 1978 to 2007, before again becoming an employee of a larger company. During this 29-year period, in addition to my work on NASA contracts, I also developed a large-scale relational database application for Exxon Chemical in Baytown, Texas.
I intend to keep at this for decades to come.
UPDATE: 14 February 2018
Andy Nelson writes:
I know somebody who beats everyone you have listed by a decade at least.
I won't write his name here without his permission (he's been out sick for a while) but his office is two doors down from mine at LANL. He started at LANL in 1952, retired in the mid-80s, but still comes in and works regular hours, though he's slowing down a bit nowadays. Among his more recent coding efforts has been to port some code to trinity (see the latest top 500 list for what that is) and do verification stuff on those codes.
My favorite story from him:
"MANIAC? They always used to try to get us to run on that machine, but every time we'd go up there to run, they'd have it spread out all over the floor! The first machine we ever got any real work done on, was the 704."
Now I ask you: what other person in any field, at any time in history, can say they have worked in a field in which the principle metric defining the field (eg in computing it is flop rate) has changed by *15 ORDERS OF MAGNITUDE over the course of his career? This man has been active in developing code on literally every machine we've ever had at LANL barring only, perhaps, the Marchant calculators originally used in the Manhattan project.*
UPDATES 13 February 2018
Dave Warman writes:
I started in March 1967, was 70 last November. Early years I was paid to do hardware design, but that always required programming support and I was the only person available to do it. In general I have spent my time in arenas requiring Hard Real Time embodied in Embedded Systems, a niche to which I credit my longevity. Also mostly related to Data Communications in one form or another. My current job is in character - Audio DSP engine for Nintendo consoles, since 2008.
Robert Rosen writes:
Started in a high school special program in 1959-60. Started coding and getting paid in 1963. Have written software ever since. Retired but still occasionally write something for fun or to figure something out.
Andy Johnson-Laird writes
I started programming the NCR 315 mainframe machine in September 1963 at St. Alphage House, London Wall, London, England when I worked as one of a team of NCR 315 computer operators. I taught myself how to program the 315 when I was working the night shift -- it allowed me to correct NCR customers' overnight jobs when they crashed for trivial (or sometimes less than trivial reasons). I started writing in NEAT (National's Electronic Autocoding Technique -- essentially assembly language -- see http://www.thecorememory.com/NCR_NEAT.pdf), then moved on to FORTRAN and COBOL. I was then invited to work for NCR's computer education department, teaching NCR customers how to program -- and a year or so later, I moved into NCR's system programming department writing device drivers for the NCR CRAM and tape drive units to be connected to the NCR-Elliott 4100 series of mainframes.
After a 30-year long stint as a forensic software analyst (analyzing computer software and providing Expert Testimony in intellectual property litigation), I have moved on to the forensic analysis of unmanned aircraft software/firmware/flight log data. I still actively program for about 8 to 10 hours a day, usually seven days a week, mainly in Java/Processing and/or C/C++.
I just turned 73 this month, so it means I've been actively programming for 55 years.
My most recent fun project was a collaboration with an artist (with me writing the software). The software is written in Processing (see processing.org -- a Java environment optimized for graphic artists) and is about 18,000 lines of code, running multi-threaded to allow parallel execution for controlling a kinetic audio-visual-mechanical artwork. The Processing sketch interoperates with five Arduino 2560 Mega's, each controlling such things as stepper motors proportional servos, solenoids, and RGB LED "Neopixels." My son wrote the code for Arduinos. My code uses weather sensor data from reporting stations around the world to then execute animation scripts written by the artist that control how the art installation responds (with elements of randomness thrown in to make things unpredictable).
But I remain amazed by how little programming has changed but how, in sharp contrast, the hardware has changed beyond recognition. Today you can hold in your hand orders of magnitude more compute power than would fit in a large computer room back then. But I still make occasional "off by one" errors when coding. And the operating systems still crash. And the OS's still have a tough time dealing with character sets (e.g. see my rant at http://rathergoodguides.com/the-end-of-the-line.html) . And programmers still don't bother to write comments to explain why their code is doing what it is doing. And during a app's useful life, software maintenance is still likely to cost ten times more than the initial development cost of version 1.0. Yup. The more programming changes, the more it stays the same.