The Humble Developer: A Dying Breed
This is a P.S.A for anyone who is starting out in development. I’m in no way saying EVERY new beginner goes through this, but the majority will. I’ve seen it in every company I’ve worked in and at one point in time, I was one of those naive beginners who thought they knew everything. What I’m talking about has a name, The Dunning Kruger Effect.
I highly recommend watching the video below to get the full effect, but if you don’t I’ll just go ahead and break it down.
At some point in time we start to think we know EVERYTHING when we start learning things. Our confidence couldn’t be higher on how much we know even though it’s not a lot. We believe that we are the best and brightest and can do anything. This is no exception when it comes to developers, we are human after all. We start to learn these new and amazing things and feel we have no limits. This is where it gets dangerous.
I don’t consider myself to be an expert or even a Senior Level developer for that matter. I’ve got 5 years professional experience and a couple years on my own. I mean who didn’t create an Angel fire website back in the day (I actually had someone tell me they had 3 more years experience on me because they tinkered around with WordPress sites on the side). This is fine, but that developer didn’t last long in my company. He thought he knew more than anyone else there (even though only having 3 years experience) and got cocky.
Here comes the rant…. You’ve got to stay humble as a developer. The Dunning Kruger effect shows that when we start learning something we think we know more than almost anyone. Then we actually get challenged or start learning more and realize we don’t know shit. This, this is the point where I would like everyone to get to sooner rather than later. I got there my first year and my first company. I was stuck on, what I thought at the time was, the hardest problem that no other developer could solve. I took it to my mentor in the company and watched him do it in 2 minutes.
But… How… How can this be? I was stuck on this problem for hours and this guy just slapped me across the face with a handful of shame. I felt even horrified that I even came to him with the problem. He didn’t make me feel bad about it either, he just said this is how you should handle these types of situations.
Now, I know you don’t know me, but I like doing things the hard way. I honestly don’t mind spending 3 hours to figure out something so stupid was missing or was needed in my code. I learn best in situations like that and its almost seared into my brain after forcing myself to do it. I think to myself “You’re an idiot, that’s all you needed to do.” and from that point on I won’t forget it. So that’s what I decided to do after having my mentor show me that I’m nothing but a beginner.
I rolled up my sleeves and started forcing myself to do the work and learn the basics all over. I pushed myself and was doing long hours before and after work. I was building pointless advanced applications that will never see the light of day. I was asking friends if they ever wanted anything built for themselves and even worked on personal projects for friends and family. After I got more comfortable I decided to try my luck on freelancing gigs all while continuing to do my work.
I tell you all of this to let you know how much I went through to have some beginners spit in my face because they think they know something. Sure, not all of them have done it and most of the time they’re greatful, but I’ve got two perfect examples.
At one of the companies I worked for I was making 60k a year. I was still somewhat of a beginner and still didn’t think I knew anything so I was totally fine with it. I had 1 newly graduated college student that I managed and was their main developer. This college grad, we’ll call him Brad, was cocky and thought he knew everything.
Brad got paid barely anything and was ok with it for a while. He’s the type that started up multiple different companies and they always died off after the homepage went up. He once won a grant from a startup competition for a couple grand and I thought, good for him maybe this one will take off. Next thing you know he’s just pocketing the cash and the idea was dead.
Well Brad put in his 2 weeks notice and came up to me bragging that he got a job with an insurance company building their websites. Then he tells me he’s going to be making 70k a year. I’m sure you could imagine how frustrated and pissed I was that I was going to be making 10k less than someone I’m in charge of, but I was happy for him and wished him well. I gave him some parting advice to put in the work and effort and he’ll do fine. About 3 months later I see a post on Brad’s page saying “It’s important to stay humble and continue to learn things”. Along with the post the job had been removed from his employment on his page. This is why you should stay humble, but the kid was just out of college and learned his lesson early on.
Chuck the Schmuck
Another job I was working at had a more experience, should have known better, employee named… we’ll say Chuck. Chuck was a good developer and only had about 2 years experience. I was one of the Senior devs and he would come to me with issues and I’d normally point him in the right direction not to give too much away. He was a quick learner and getting better. He started learning React Native among other languages and was getting well rounded. Well one day Chuck gets another offer for 100k+ and decides to come back and give his current workplace a chance to match.
Side bar: 100k+ is definitely not 2 year range. I don’t care how many languages you know, unless your a savant or have tons of apps/packages/plugins to your name, which he didn’t, you shouldn’t be making that amount of money where I live. Hell, I wasn’t making that amount of money yet, close, but not close enough. Also, if you get another offer to a company and were actively looking, don’t go back to your old company. You’ll become bitter and so will they that you got offers elsewhere. If you’re looking to get more money out of a company, just ask them for it. The company can either say yes or no, and if they say no, you can leave because they don’t value you.
So, the company decided to match the offer. This means he becomes the highest paid full time developer. Welp, c’est la vie, Chuck ended up getting a fat raise, from 75k-100k all because he pressured the company into thinking he was going to be stolen away. 6 months later, Chuck wasn’t with the company because he didn’t step up. The company saw that he wasn’t living up to the money and realized that some of the other developers were better and couldn’t justify it anymore.
In these examples, I’m trying to point out a couple things. Firstly, if you’re going to ask for more money at a company, you haven’t earned it… You better step up. Secondly you need to stay humble. I honestly question my abilities weekly and all of my peers think I’m our best developer. I’ll continue to question my abilities because that’s how I get better. If I start thinking I know everything I’m going to start getting complacent and that’s when I’ll need someone to slap me in the face again.
Always stay humble as a developer. You’re never going to be as good as you are a year from now and you’ll always be better than you were a year ago. If this ever comes into question, you’re not pushing yourself hard enough. No matter how much you know, always stay humble and if you are a humble developer and are seeing things like I am, just Keep Calm and Code On.