The Good, The Bad, and Suboptimal of Sticking to What You Know

From personal observation and experience, most people want to be comfortable in their vocation. Getting comfortable and not keeping up with new products, versions, and trends can be dangerous to your employer's business and your future.

The Good

In the late 1990s, one of the world’s most popular technologies was waning. COBOL. Relational databases were starting to take over, and COBOL usage was waning. By now, you would think it was utterly dead, right? You would be wrong.

Go to a search engine and look for COBOL jobs, and you will find that not only is COBOL not dead, but according to sources like InfoWorld, it is somewhat hanging in there. While it is not exactly celebrated as modern technology, it is not in palliative care either.

Almost any technology you invest your time in will stick around for far longer than many news outlets and bloggers will make it seem. The death of the relational database has been forecast pretty much since the mid-1980s when Codd’s Rules were published, outlining what a relational database management system actually was.

It only gets louder as time passes, especially as NoSQL technologies have blossomed. If you love the language you work with now, you may be able to keep working in it forever. I have made a (please read this in a very humble tone) rather decent living writing and tuning Microsoft SQL T-SQL for the past 30 years. I very much doubt it will go away in the next 30 years time, by which I will be in (what I hope is a rocket-powered) rocking chair and watching all of the movies I have been enqueuing but rarely serving from that queue over many years.

The Suboptimal

While working in a comfortable environment (be that a language, a company, amount of travel, etc.) is desirable, resting on your laurels is rarely a good thing. Too many people go from hungry to learn to comfortable with their level of knowledge, ready to ride out the rest of their years. If you already have a date on your calendar circled for retirement in the next few years, being somewhat reticent to keep up with the latest trends may be just fine. But if you don’t fit that category, best to keep your head out of the sand.

While I have been a specialist in T-SQL for many years (and hope to remain as such for many seasons to come!), it is not the only thing I have ever done, nor do I want it to be. Even in just database technologies, there are many other platforms than Microsoft SQL Server that have value, such as MySQL, PostgreSQL, and even Oracle. Then there are things like graph and document databases and even NoSQL (not only SQL) technologies that have their place at the data storage table.

Spend a little time learning what these technologies offer (and do NOT offer!) you and your customers as a programmer. Your eyes may be opened to possibilities now and future opportunities.

The Bad

Saving the worst for last, I want to talk about the worst thing that people do (again, who aren’t just about to retire!). This is not only ignoring new technologies but refusing to learn new techniques. You can do the things you know how to do, so why learn new things?

Are all new features useful? Are the algorithms you have mastered the best? Maybe, maybe not. But I have known too many people who have their lives figured out and don’t care about new features. They can back up, restore, and check the integrity of databases. They can create a GUI, accept input, and store data in a database. Job done in version N and still works in version N+10; why care?

Where do I start? First, each release of tools and products has many new features that can improve your life. Backups get encryption, compression, and better targets than that tape drive you have used for 20 years. Integrity checks get new parameters that make things faster and less disruptive to users. Perhaps more importantly, techniques that allow you to continually check data structures while users are using the data. Don’t be that DBA that makes your company put up a banner to customers that says:”this website will be down for 18 hours a day for your convenience whenever it is up.”

There are also completely new features out there that can make your work easier. Maybe you are using interpreted code, and a new compiled version has arrived that will run 100 times faster on 1/2 the hardware. Or there is a new index type that can take your processing time from 3 hours to 3 minutes for a necessary process.

A weird problem that having a senior programmer with limited skills causes is it can drag down an entire team for years to come. When new people are interviewed, the senior person doing the interview may not realize just how skilled interviewees are, leading to stagnation in the future. They were talking about something called a document database. That isn’t even a thing, right?”

Keep up, at least somewhat

Even if your organization will never let you use some features, keep up with as much as you can. Not only are there improvements to product’s functionality, but the more significant issues tend to be security. If you spend time reading blogs and news, use a password manager of any quality, or take 10 seconds and type your passwords into, you will quickly realize that security is amazingly important, and products stop updating themselves even for security eventually.

To end this article, let’s be mildly selfish for a second. It is extraordinarily rare that a person stays with the same organization for 25 years (even I left my last employer at 24 years and 9 months). Many don’t even stay 2 years. One day you may have this feeling that you want to change positions and find yourself face-to-face with a person interviewing you for your dream job.

You sit there, eye to eye, with this friendly person doing your technical interview. You have met several others who seemed very excited to hire you after meeting you. You are filled with this glorious “I got this!” feeling, fighting a smile back as you chit-chat about general topics with your technical interviewer. Then the first technical question escapes heir mouth, and that feeling changes to something a bit less optimistic. After a few more questions, you realize that your knowledge of Generic RDBMS 4.678 doesn’t even translate to the current version (10.1). Your previous co-workers who taught you most of what you know (which, it turns out, is barely enough to keep your previous situation from bursting into flames) were, to put it kindly, clueless. (This is NOT my story at all, but it is very much a true story.)

Your moment of glory flies away like a dandelion pappus on a breezy day, and you will either start learning or learn to live where you are.