You got this! You know the fundamentals. You are a learner. Plus The Imposter's Handbook
Sometimes we all get overwhelmed. There's a million (no irony there) reasons to be overwhelmed today, to be sure. I got an email from a community member who was feeling like they hadn't kept up on the latest tech. Of course, anything you learn today will be obsolete tomorrow, right? I'm overwhelmed thinking of it!
I wrote a little thread about this on Twitter and I wanted to expand on it here.
A brief thread for my developer friends who have 10-15-20 years in the game. Maybe you're a dev who's been keeping up and fresh on the latest since jump, or maybe you've been using the same reliable framework for your whole career. pic.twitter.com/H228QRmlTr
— Scott Hanselman (@shanselman) January 26, 2018
Maybe you're a dev who's been keeping up and fresh on the latest since jump, or maybe you've been using the same reliable framework for your whole career.
It can be totally overwhelming when you "wake up" and look around and notice that you don't know NOUN.js or ASPNET 10 or the like. You feel like it's over, and you've missed the boat. I want to encourage you. You're a developer! You have a good base to build on!
You may not know today's JavaScript/Java/C# but you DO know JavaScript/Java/C#. Yes, the Internet moved your cheese while you were sleeping, but you DID grow. When talking to employers, emphasize the base of knowledge you bring. Frameworks come and go. Fundamentals remain.
I really recommend Rob Conery's "The Imposter's Handbook" as a great way to reinforce those fundamentals and core concepts.Rob has been programming for years but without a CS degree. This book is about all the things he learned and all the gaps that got filled in while he was overwhelmed.
Yes this is a squishy blog post, but sometimes that's what's needed. You are smart, you are capable. Look at the replies to the twitter thread and you'll see you are not alone. Your job as a programmer is to be the figure-outer.
Sponsor: Unleash a faster Python! Supercharge your applications performance on future forward Intel® platforms with The Intel® Distribution for Python. Available for Windows, Linux, and macOS. Get the Intel® Distribution for Python Now!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Sorry - just had to. There are a lot of us out there that fit the description that you give, and it's always nice to hear some encouragement.
I needed to read this. Been going through some stuff this year and questioning my coder cred was one of the things I have had to deal with.
The "figure-outer" comment is dead-on accurate. Expertise in some trendy but soon-to-be-forgotten framework isn't nearly as valuable as good troubleshooting skills (not that the hiring-drones in HR would know anything about that). Maybe I'm just getting old, but too few devs seem to know anything about basic problem analysis, let alone effective debugging strategies. They're too reliant on red-squiggle IDE hand-holding and StackOverflow cut-and-paste quick-fixes. And don't get me started on buzzword-resumé contractors.
Once you have the fundamentals and a few years experience developing in a core language how do you decide which of the new shiny things to learn given that they could be obsolete in a couple of years?
As usual, Scott, a great post that, i'm sure, resonates with many people.
I love software development. I've been doing it for nearly 30 years and I cannot imagine doing something else. Learning new things is like a hobby, but now I am in a position where I have to think about the economical impact and "long-life" of the things we develop.
Our current main product, with more than 60 man-years of effort was developed with the .NET Framework starting back with .NET 1.0 (we started with beta). This software has been updated year after year to the newest and greatest .NET version.
Three years ago we started the development of a new product, cloud and web based. I do love the cloud, but our client had to be rewritten twice in this time. The backend is an ASP.NET web api and at least we could reuse major pieces of it. With a Ports & Adapters (Onion, Hexagonal, Clean) architecture you should be able of reusing much of it.
There is nothing like the .NET Framework for web development, so you start using zillions of libraries that you hope will exist 8 years from now.
So, for me the problem is not learning something new. This is our DNA as developers. If you write applications with 20.000 lines of code is not even an issue. But if you earn yourn money writting applications with > 800.000 lines of code then you need more stability and maturity.
Of course, nobody wants to stop this great innovation, and so we poor enterprise developers will keep fealing overwhelmed by the changes. At least we will do when a senior manager asks "why cannot we migrate our application to a Progressive Web App?" or "Our system is a monolith? This is bad, isn't it? We need microservices!"
Comments are closed.