self portrait

“What’s your coding history?” – An Interview Question

I was recently asked these questions about my programming history, and when I found my response rather verbose I figured I would share with a few more folks…

What’s your coding history? When did you start, and what have you done between then and now?

Academics

I started programming in the late 70’s in BASIC on TRS80 (which we lovingly referred to as “trash 80’s”.  I never did the punch card thing but all of my programming teachers had and loved to tell us how much easier things were for us.

The first computer I owned when my family could afford to get one, was an Apple //c.  In high school I used to borrow games from my friends so I could break the copy protection schemes for fun.  I even saved up money from my paper route to buy a second 5 1/4” floppy drive with adjustable drive speed because some of the schemes used by software vendors involved writing the disks with varied drive speeds.  My other hobby was cheating at games after I got tired of playing them by editing them with a hexadecimal editor (like the Ultima series).

Professional Life

In college I pursued Microbiology (B.S.) and then Molecular Biology (M.S.) as computers, programming and hacking were more of a hobby for me.  I went to work in the biotech industry and invented a method for storing HIV virus at 20 degrees centigrade (fridge temperature) – otherwise it had to stored in liquid nitrogen to be kept stable for any period of time.  I worked in biotech for almost a decade before burning out of working in labs.  At Johns Hopkins one doctor saw my background and suggested I go into bioinformatics, which is the computer science side of biotech.  Shortly thereafter I went to work at Gene Logic for the senior VP of the company, taught myself Perl from an online O’reilly course in a few months and built a competitive intelligence system for the executives of the company.

The company restructured and they then wanted me to study law and be more involved on the Intellectual Property side of the house but I was having too much fun with programming.  So I wrote a ten line perl script that searched the internet for all computer job listings in the United States (this was in the early days of the Internet), extracted all the job posters’ email addresses and spammed everyone with an email with the message, “You’ve received this as the result of a ten line Perl script I wrote.  If you like what I’ve done, give me a call”.  I ran the script on a Sunday night, thought nothing more of it and went to work the next day.
Monday morning, my wife calls me at work and says, “The phone is ringing off the hook!”.  I had maybe seven interviews that morning in my office, and two days later I showed NASA the system I built for Gene Logic.  The interviewers said, “You’re over our heads, you’re hired!”.  That’s how I started my consulting career.
Since then, I developed in Perl, Java, JavaScript, and I got into Flash platform development from around Flash 5.  I built several enterprise applications on Flash platform including the Flight Information Displays you see at every airport, world wide.
Data Visualization became my forte.  When Adobe was in the first alpha stage of Flex 2, they asked me to join the alpha and I started building production applications in Flex.  The following two years Kevin Lynch, then CTO of Adobe, showed my work on stage during his keynotes at the Adobe MAX conference.
Later Adobe changed their business model and all the enterprises went running looking for alternatives to Flash platform.  The only work left there was maintenance of legacy systems or ports to some other technology – the platform no longer offered the type of bleeding edge work that kept me motivated.

iOS / Apple Platforms + Android / Kotlin

So by the time the first iOS 7 beta came out I had switched completely to iOS development.  I cut my teeth on the first version of auto layout and built an enterprise dashboard on iPad that enabled the executives of a major telecom to monitor their worldwide network, again leveraging my data visualization background.  After that I commuted for ten months from Maryland to Atlanta, where I was the iOS lead for First Data and re-architected their Money Network app from the ground up, establishing best practices, continuous integration, and more.  Towards the end of that tenure Swift came out, which was a God-send for me .  While Swift was still too immature to be used in the mission critical Money Network app, I started developing with it on my own as well as teaching Swift through Thinkful .
My next role was as the mobile lead (iOS and Android) for Live Healthier, which was acquired by Centene Corporation and became Envolve Health.  I re-wrote their existing iOS app from scratch in Swift 1.2 and then carried it through all the major changes in Swift through Swift 3, three years later.  In those three years we added many features to their app including HealthKit integration.
Since last fall I was asked to teach a Mobile Design and Development class at a local community college.  The caveat being, the college has no Mac lab, so the class is Android based, and also I had to develop the curriculum myself.  So, I figured I might as well teach the class in Kotlin, as well.  I taught myself both Kotlin and Android well enough to teach it, and since I had to do all that work anyway, I decided additionally to write a book on Kotlin and Android development for iOS developers .
Last year I also got to do a bunch of prototyping for an Augmented Reality educational app using ARKit, SceneKit, and SpriteKit.
photo credit: TRS-80, by Cushing Memorial Library and Archives, Texas A&M.  original on Flickr, Creative Commons License

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave

SaveSave


Comments

Leave a Reply