I volunteered for the career day for the 11th and 12th graders at my son’s school and they asked me to explain what I do:
More specifically, they asked me to “please provide a brief job description and list the most important aspects of your current job. This will help our students understand what you do on a daily basis.”
Wanting to be completely honest with these kids who are about to try to pick a school, pick a major, figure out a career, I sent them this:
I lead a plucky team of data scientists, engineers, and analysts in finding undeclared nuclear R&D around the world. We built/bought/integrated the software, begged/borrowed/took the data, fused it together into something that can swing a billion data records at our most difficult questions, and trained people in how to wield the tools we’d built.
– large-scale data analytics
– information modeling
– machine learning
– information visualization
– not knowing when to quit
My dad bought a TRS-80 Color Computer when I was about 5. I didn’t learn to code, but I saw a modem, heard binary being played on our cassette drive, and learned what a kilobyte is.
Later, I learned Logo and BASIC when I was 8 and 9. Just very simple toy programs. I learned more sophisticated programming in Pascal in high school. I did have books, and Dad got me started, but my schools’ programming classes get at least half the credit.
I started getting paid to work with computers while still in high school. I have made money ever since from working with computers. Even the years I taught ballroom dancing full-time, I wrote software part-time and brought in new revenue at the studio by setting up the website and our first online sales of gift certificates.
Today I live in Vienna and manage a significant software project at the International Atomic Energy Agency. As a job, it’s amazing, and the work is important. I’m writing this from a lovely apartment in Venice where I’m vacationing with my family while the team works without me.
It’s a good life, and I’m incredibly grateful. I wouldn’t be here if I didn’t know how to code.
But it’s not just about the good work you can do and the good life you can have. It’s fun. The things we can do now with software are amazing. A programmer in the 80s would be awed by what’s possible to coders now. It’s not just faster computers, it’s the fact that so much of the world is now online. Take something simple like flight bookings: they were computerized in the 80s (probably earlier), but in closed systems. Today, there are so many ways to tie that information together that travel booking sites abound, and the best ones are so good that we can be near-omniscient about our options. We think little of booking, from our couch, vacations with airlines and hotels we’ve never heard of.
Coders regularly produce apps which do things that weren’t possible a few years ago. My phone (an anachronistic name for the hyper-connected supercomputer I carry in my pocket) can augment my reality in countless ways, but the latest is holding it up and looking through it so that all the Italian writing is replaced with English.
What’s next? Imagine writing code to do this:
social apps that allow you to point your finger and write in the sky…where all your friends can see it through their glasses or contact lenses.
designing toys and selling them online where buyers click to print them out on their 3D printers
building the apps to do the designing I just mentioned or building the site to broker the transactions
writing code to control swarms of tiny flying/crawling robots to…well, frankly the first of these will all have military or intelligence applications which may appeal to some, but, after that, there will be plenty of environmental and scientific uses.
Imagine you’re building a car to spec. You can plan and design and draw and measure for weeks and months and build for more weeks and months.
And 3 seconds after you sit in it for the first time, you will know whether the location of the ignition and headlight switch is obvious. 3 minutes into your first drive, you will know whether the steering wheel is too far away, whether the pedals have too much travel, and whether the rear headrests obscure your view out the back. 3 days into your ownership, you will know whether your elbow will spill your coffee when shifting into 2nd, 4th, and 6th gear, and whether you can adjust the volume without looking.
Even the technicians building the car would not easily notice these things. The audio engineer might hold the finished audio unit in her hands, but she’d have to work to imagine what it would be like to use while driving. Another technician can manipulate the transmission a hundred times, and never even know there will be a cup-holder behind it. After all, the interior designer only met with him to discuss the material and labelling on the shift knob.
Everyone on the team, the customer, the head engineer, the designers, and all the technicians, should try to sit in the car, in all the seats, many times during the process. What they learn will improve the functioning of all the components and their integration.
And if the production is delayed? A customer who can come sit in the car anytime he wants, and see and feel the progress, however slow, will be happier than one who has to sit through another presentation of what the car will be like when it’s finished.