Scott Hanselman

You got this! You know the fundamentals. You are a learner. Plus The Imposter's Handbook

January 26, '18 Comments [8] Posted in Musings
Sponsored By

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.

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.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Friday, 26 January 2018 23:30:10 UTC
The challenge I find is learning anything in depth. Partially because it's getting overwhelming due to growing complexity and partially because I want to learn new things. I cannot believe myself how much I have forgotten over the years.
Audrius-a
Saturday, 27 January 2018 01:44:09 UTC
You're Good Enough, You're Smart Enough, and Doggone It, People Like You!

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.
David Martin
Saturday, 27 January 2018 05:23:24 UTC
Thanks Scott.
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.
James
Saturday, 27 January 2018 14:12:49 UTC
I've been programming for 40 years without a degree. Do I get a gold star?

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.

MV10
Saturday, 27 January 2018 15:28:58 UTC
My question is, how do you decide WHAT to learn?
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?
Monday, 29 January 2018 07:55:59 UTC
Yes, that's exactly what I needed to hear on Monday morning! I will quote you on that... "Yes, the Internet moved your cheese while you were sleeping, but you DID grow."
Kuba
Monday, 29 January 2018 08:22:27 UTC
The internet moved my cheese, and replaced it with Stilton - yeuck!

As usual, Scott, a great post that, i'm sure, resonates with many people.
Robert Armour
Monday, 29 January 2018 13:04:17 UTC
Great article Scott,

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!"
Raul
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.