My brother Ron and his two daughters, Rebeca and Sophia, visited a couple of days ago. We had a barbecue and some good conversation: I really enjoyed the visit.
My niece Rebeca is about to enter high school, which is amazing in itself. More amazing is that she asked me for some advice on whether pursuing computer science / IT was a good choice. I tried to share some ‘wisdom’, but I found it surprisingly difficult to give good advice. This is a crazy old world, and who knows what the future holds? So I thought I’d post some of my thoughts here in a bit more detail.
A career in IT: not the sure thing it once was
The IT industry, and by association a degree in Computer Science (mostly software) or Computer Engineering (mostly hardware) is no longer the guarantee of a long and healthy career that it once was. I’ve been in the industry since I was about 16 years old: that’s 37 years. And I’ve been working with IBM for 24 of those years as of this October. I’ve seen a lot of changes in technology, and probably nearly as many shifts in how the work is done.
There has been a monumental relocation of IT work to cheaper nations in the past two decades: Brazil, Russia, India, and China, sometimes called ‘BRIC’ nations. Of these nations, I’ve observed that India has been the biggest ‘growth’ destination for off-shored IT roles. The economics made sense to the huge IT corporations: these countries have (arguably) good education systems that produce individuals with the appropriate degrees, yet they are so much cheaper than the traditional homes of advanced technology. A Java programmer in India might earn one fifth of the dollars per year that an equivalent developer in the U.S., Canada, or Europe does. This produced a huge shift in employment: well over 50% of the work that used to be performed by developers and engineers in the US and Europe is now being performed in one of these cheaper nations.
The boardrooms of IT companies were filled with people saying that developers were ‘commodities’ now, not highly skilled and specialized experts. The idea of developers as a commodity means one Java or C programmer is exactly like any other, so you may as well hire the cheapest ones you can find. Hundreds of thousands, if not millions, of highly skilled high-paying jobs have been relocated since 2000. And in my opinion this makes STEM and IT careers in particular rather suspect as good choices for students in first world nations of today. The work, quite frankly, is too easy to do ‘overseas’, and corporations are too driven by cost and ’shareholder value’.
Some of this shift is reversing somewhat due to a number of factors. All of those inexpensive resources in India are getting more expensive as the middle class in that nation grows, for one thing. And the high rate of staff turnover as off-shore developers in their tens of thousands shift from employer to employer to get the best compensation have resulted in some rather catastrophic project failures due to loss of domain knowledge. Apparently knowing Java isn’t enough; you also need to understand the application you are working on, and care about whether the project it relates to succeeds. Developers are not really commodities, it appears: they aren’t quite the interchangeable widgets the executives in all those boardrooms claimed. Fortunately for those executives, they’ve all made their multi-million dollar bonuses already, but it is too late for the hundreds of thousands who lost their careers.
There are still lots of good opportunities for software developers and hardware engineers: but it is important to not simply think of IT as a good career choice for the job opportunities. I’m tempted to say to a young person who asks the question “look for work that can only be done locally; avoid work that can be off-shored”. E.g.: it is really pretty hard to perform on-site welding, engine repair, surgery, or house construction from thousands of miles away, so those kinds of careers might be the best to pursue.
But when I was talking to my niece, Rebeca, I thought that simply saying to “avoid IT” was the wrong thing to say. Instead, I said that computing had better be something you actually want to do not just the thing you do to get a job, which is a nice lead in for my next topic.
Choose a career doing something you love…
If I think purely practically, jobs that can be off-shored easily are a bad choice: IT careers definitely fall into this category. But if I consider my own preferences, few or none of the ‘safe’ jobs really appeal to me. At its core, what would I do if having a job wasn’t important is a question I ask myself. I’d work with computers, play with computers, read books, get a telescope and observe the stars, pet my cats, and ride my motorcycle. Maybe I’d take (bad) pictures of animals and nature, fix some clocks, and learn to make furniture. But I wouldn’t dig ditches, perform surgery, build houses, repair engines, or weld.
Computers have interested me, or more accurately been a focus of fascination and obsession for me, since I was 12. I remember watching Colossus: The Forbin Project and deciding I wanted to be a computer scientist. Computers were incredible things to me: the Commodore PET I saw at a mall a few years after seeing Colossus became an object of absolute desire. I chose my high school based primarily on the fact that it had a (very early) computer course embedded in its electronics program. I finished all the course materials in a couple of months, yet still stayed late and carried my Apple II computer home every night so I could continue programming. Every job I had from the age of 14 years old until I dropped out of University had, at its root, the desire to buy a new computer as a foundational drive.
So, even though an IT career might no longer be the best choice, for me it would be the only choice. I never picked computing as a way to get a job: for all the frustrations of problem solving through the wee hours, for all the bugs, code defects, and ridiculously convoluted coding framework interactions- at the root of it, computers and application development are fundamental to who I am.
I told Rebeca that she should take every opportunity she could in high school to try out things that might interest her. Take a computing course, or several: see if there was both a software course, and maybe a hardware course too. Learn a language like Java or C, but remember the languages you use years later will likely be different. Learning how to learn a computer language is what is important. Learn about micro-controllers like the Arduino, and pico computers like the Raspberry Pi: build stuff, even stupid stuff like a machine that turns off a light switch- have fun, find what fascinates you. Think about what these tiny devices mean, because IoT is likely to be huge, and there is no telling what might become ‘computer enabled’ next.
But be ready to shift to something else without regret if software seems dull or uninspiring, or if hardware does not appeal. High school is a great time to try these things out, reject what doesn’t work for you, and maybe find exactly what does. Even the first couple of years of University should be times to trial what interests you- don’t feel it is a failure to find out that course you thought you’d love and lead to a career turns out to be mind-numbing. Be unafraid to pivot, but when you find what inspires you, pursue it.
All this talk about finding a career that involves what you love reminds me of the big downside to this approach. Work can, and perhaps is destined to, make you hate what you do. You’ll be forced to work on things you don’t like, to build a design you know in your heart is wrong, to see work you love doing be sent to people who are cheaper or faster at it than you are. You will see something you’ve sunk your heart and soul into cast off simply because it is no longer profitable. And if you truly love what you do, that can be soul-crushing: if you let it be.
It may be wiser to simply find work you can tolerate doing. Earn a living within the constraints of a fixed 40 hour work week, and preserve your personal time for yourself. Leave the things you love, your true passions, for your own free time. I can see the benefits to this approach.
Or maybe there is a middle ground. Pursue a career that follows your passion, but find a way to ‘exorcise your demons’ in your free time. That is, if you love art and take a career as a graphic artist, make sure you leave time for your personal projects. Make them different enough from what you do day to day that you can fuel your passion. Use the art you create in your free time to overcome the sense of frustration and loss that your ‘work’ art causes.
I don’t know what the right answer is. I’m not an expert on building a happy life starting from my career, even though I’ve had my share of success. I haven’t found the right balance, and all I can really do for my niece or any other person looking for guidance is be as truthful as I know how to be.