DEV Community

The "Fake Developer" Conundrum

Henry 👨‍💻 on May 23, 2019

Hi everyone! My name is Henry and I'm a BSc Computer Science student currently approaching the conclusion of my first year at university (also, thi...
Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W) • Edited

Many people suffer from something called Imposter Syndrome, which is very common among developers & other careers where things are constantly changing & we have to be constantly learning.

Even professionals who have been doing it for decades can struggle with it. Even some famously brilliant people!

Reading a bit about this might help you.

But you aren't fake - you are new. We have all been there. I remember completing a 4 year CS degree & thinking I was pretty skilled ... only to learn that what you do in a job is very different from school. And you can even master one job then go work at a new company & be totally lost & out of your element.

Some of this feeling will fade with experience & time. Some of it won't. Don't think of your career as a developer as a path to mastery. You aren't climbing a mountain to some elite status of expert. Instead you will ride a wave of increasing knowledge , skill & confidence, then technology will change or your job or your life situation. You'll find yourself having to learn a new tech or language, or new way of using your current language or a new company process, or a new challenging problem....

See the pattern here? You will always be new at something, always learning.

Cut yourself a break & stop trying to measure up to some imaginary level & just enjoy the new challenges & welcome opportunities to be out of your element.

It's never boring. :)

Collapse
 
badrecordlength profile image
Henry 👨‍💻

Thanks so much for your insightful reply, I'm glad to know that what I'm feeling isn't uncommon. Also, this blog post was originally titled "Developer Impostor Syndrome" until I changed it to what I thought was a snappier title haha.

Collapse
 
tangweejieleslie profile image
Leslie Tang

Hi Henry, I'm also a Computer Science undergrad, just finished my 3rd year. I've had the same experience as you until last year when I went for my first internship.

For me personally, I cross over from feeling that I'm a "fake developer" into a "newbie developer" after that internship experience. I recall pondering for a long time if I should accept the internship position mainly because I felt that I wasn't ready. Turns out I really wasn't ready and struggled in the first few weeks of work.

My takeaway from that experience is basically this. We probably will never be ready (unless we are doing something we already did before) but we have the ability to learn faster than we think, especially under pressure. And from trying and learning, we slowly build experience and confidence. Finally, this newfound experience and confidence will give us the strength to approach the next challenge.

Collapse
 
natonathan profile image
Nathan Tamez

I agree I think at times like this; it's important to remember we are always learning, especially true for engineers, scientists, and developers.
I hear and see people’s say 'be ahead of the curb' but in STEM it's impossible to be 'be ahead' as the development of the field is extremely fast. What was new two days ago is now replaced by something else’s just a new.

Collapse
 
badrecordlength profile image
Henry 👨‍💻

Thanks for your response, I totally agree with your philosophy. I'm hoping to get some job placement over the summer, it's been scaring me but what you've said helps a lot 😄.

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

That's totally true
Having a work experience for real gives an edge
I am now receiving like freelance gigs after my first Internship 🔥🔥

Collapse
 
ben profile image
Ben Halpern

I used to be terrified to going to meetups, because I felt like a real developer when I had Google/Stack Overflow/docs etc. But in the nakedness of "standing around and talking", I felt like the fakest developer on the planet.

It helped to try and look back to a past self where I knew even less and realize how much more I knew now compared to then.

And eventually, weirdly, I stopped feeling this way altogether. Now I'm just a plain old real developer...like I always was.

Collapse
 
therealkhitty profile image
Mary Thompson

I'm still no good at talking about programming. The terms are a lot to digest, but I can explain in layman terms or do better just showing you. But I feel even faker for not being able to contribute to Stack Overflow not to mention my lack of a GitHub presence.

Collapse
 
evanplaice profile image
Evan Plaice • Edited

Imposter Syndrome

It comes and goes but never goes away completely. Programming is solving problems, often times in unfamiliar domains with tools/resources you're not familiar with. If you get comfortable, the ecosystem could advance and suddenly everything your familiar with becomes obsolete.

Programming requires constant learning; ability to quickly learn new concepts is as important as ability to write code. Studying new conceps, trying new things, never ends. Unless you find some very specific niche and spend your entire career working on the same thing.

The best devs are the ones who never lose their appetite for learning. Imposter syndrome comes and goes but eventually it just becomes a signal that you're about to experience some growing pains as you progress into something new.

As uncomfortable as it can be, it's actually a good thing. If you never feel uncomfortable, doubt your ability, etc; you're probably not growing as a dev.

Collapse
 
regogo profile image
regogo

Seriously man, i've been coding for 8 years now and I still feel what you feel. Everytime I read medium articles about coding I always doubt myself and feel like i've been doing everything wrong and am I even worthy of being a senior dev. Fret not you are not alone. :)

Collapse
 
acidcow2 profile image
Ndodz

Imposter syndrome! Its one of those things that goes hand-in-hand with the dunning-kruger (spelling?) effect... Many suffer from the former. Many, many others suffer from the latter (perhaps too many).

Trick is to understand that you dont know everything. You may not and most likely never will be one of those super-devs. BUT you could most likely still contribute very meaningful talent in other ways or areas. Perhaps you have the makings of an excellent team lead or product owner. Perhaps your interest lies in areas that are in more dire shortage and higher paying salaries that revolve around the programming world, rather than in it.

Point is, dont give up, keep doing what you're doing, learn more, play more, branch out and try different things. Get experience in the real world with some cool tech. Get a raspberry pi and some arduino stuff and get fiddling.

Build a robot. Build some funky home automation stuff. Build up a portfolio and some people and business skills. I guarantee you will get ahead if you can be generally good and keep improving yourself.

Collapse
 
badrecordlength profile image
Henry 👨‍💻

Thanks for the response, great advice 😄. I already do mess around with Arduino and Rasberry Pi as it happens, haha. Me and a friend are working on quite a fun Arduino project at the moment actually.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

Yea, you definitely are NOT alone in that feeling! I noticed it's gotten a lot better for me now that I'm actually working in the field; I've been a professional software developer for about a year now. The first few months of my job felt like "wow, I tricked these people. How are they so blind! I KNOW NOTHING!!!" and some days still feel a bit like that.... but I'm learning to trust my abilities and thankfully I have a good manager that reminds me it's okay to not know everything.

One tip: Find yourself a mentor if you can. Hopefully that will be your manager or a senior developer at your company-to-be, but there are many local and online communities built around mentoring new devs.

Welcome to development! Nobody is perfect here, and anyone who says they is... is a liar. :) Embrace your ignorance and learn everything you can.

Collapse
 
badrecordlength profile image
Henry 👨‍💻

"Embrace your ignorance and learn everything you can" is a brilliant quote, thanks for the response/advice 😄.

Collapse
 
convictmoody profile image
Konny Hashim

What I see is Imposter Syndrome which is very common between software programmers, that problem with programming is that the more you learn the more you know you know less, but in reality you can't know everything that's why programmers are on a constant learning scale, and you won't be able to learn it all and keep it up, but that doesn't make you worse than other programmers since we all are on this track.

Collapse
 
briedis profile image
Mārtiņš Briedis

I was freelancing for 6 years, I thought I knew a lot. Then I got my first company job and then I understood I know nothing. A good mentor is an enormous help. You gain knowledge basically 10 times faster than on your own. Now I'm always jealous for junior devs that I'm a mentor to, jealous that I didn't have a mentor like me at that time. Could have learned so much more :)

Collapse
 
therealkhitty profile image
Mary Thompson

I second the mentor notation. I've come across a few awesome people who really accelerated my understanding of various things.

Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W)

I might add that it is always a good idea to be upfront about your experience level when applying for a job. Teams & users depend on this & it always comes out eventually. Good companies will have positions & training for novices.

Collapse
 
nallack profile image
cgray

Imposter syndrome is normal when you're put into a new dev environment. Fortunately you can very quickly go from being completely confused by a system to knowing the ins and and outs in a matter of weeks depending on how adaptive you are. What's probably more important early on in that you learn to know when a task is complete, either through thorough manual testing or preferably unit tests.

Collapse
 
ca55idy profile image
ca55idy

I've been in industry 10 years now. I found straight out of uni and into the real world:
1) academia gives you the fundamentals but does not prepare you for the real world.
I was a little luckier in that my OOAP lecturer was actually ex-industry so taught to real world as best he remembered it.
2) every company is different, as you progress through your career learn to understand each companies approach but make sure you only take the best bits with you to your next role.
3) straight out of uni with no industry experience I pretty much had to take the first job offered, the usual line was 'not interested as you have no experience' to which my response is how are you supposed to get experience if no one is willing to give it you.
4) Because every company is different you will get moulded to their way over time. Until you fully understand their approach you'll always have imposter syndrome

Collapse
 
elfatherbrown profile image
Alex Borges

Hi friend. Look I used to hire programmers straight out of college and a couple even while they were still in class. Dont worry.

Programming is a craft. Problems will find you and you will have to solve them.

If you can talk to people and aren't a rude person, you will be fine in any job requiring your skill set.

Just chill and always try to be nice to people.

Collapse
 
pinotattari profile image
Riccardo Bernardini

I graduated in engineering and I am currently teaching DSP in an electrical engineering course. I experienced this when I graduated and I know that some of my students (all of them?) experience this. I remember that I graduated and thought "Now I am an engineer, but I do not feel like it... Am I a real engineering?"

I say to my students that everyone has this feeling, but it is false. They know, they are real engineers, they are just missing some experience, but everything they need is already in their head.

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

To give you some perspective, in my case I already finished my degree in Comp Sci, I'm currently working for a multinational company in which I'm 7 months in already worked on a client project and I'm being reassigned to another project. Before that, I have already been programming for like 3 years with all the experience I got from college and online courses. Still, I struggle in a 'professional environment' and in the first project I was in, it was really massive and everyone could see I was the least performing dev on the team.
That's not the first area in which I've been in the same situation, but I wouldn't worry much about it tho. More than an actual issue of lack of experience is an issue of lack of confidence. Truth is, there will always be a lot to learn and several languages and technologies in which you could look like a 'newb' so realize all you have done so far and all the potential you have for doing much more awesome things.
That 'being a fake' feeling probably will never leave but it doesn't matter because you can still do epic stuff in spite of it. There are a lot of people out there with great ideas & intentions that will probably never see the light because they lack the courage to put those ideas into action, their worry of being 'exposed as a fake' is greater than their desire to create great things.

Collapse
 
muganwas profile image
Muganwa

I've been coding for about 10 years but I still feel this way.

Collapse
 
12e0a015016144a profile image
Safi Habhab

Hello there
What you feel is really common , ive been in your shoes , last year i graduted the top in my class , and always said to my selt that'll never start a career because I'm too bad , it seemed the opposite , i started a job right after graduation as a web developer and still till know i feel my self that i am not good enough as a developer even though i went professional.
So here's the deal , at first like any career , there are levels that can be reached after gaining experience, you can't just jump out and be like Microsoft co. team leaders and seniors instantly for exmaple , at one point , they started like us, from scrath , so at starter you have to take things slowly.
Programming professionally is higher in level than that of college , when you want to find a job , companies know that . companies expect from juniors to be passionate hard workers with a little knowledge of coding , you don't have to be a hard core programmer that knows it all at all . So what you are doing know is great and enough, keep it up .
I also recommend that when you self study , choose a path and stick to it , like for example , if you wanna be a web developer , study materials only for web development and specifically to a framework in it. You maybe want to be a game developer or a mobile one ,nevertheless what you need to do is to stick to it , learning from here and there spontaneously won't necessarily hold you down , but sticking to a specification will definitely push you up .

Collapse
 
therealkhitty profile image
Mary Thompson

I just signed up to dev.to just to join this discussion. I've been working at my first job since I graduated uni in 2012 and I still feel like a noob. I've learned so much more on the job than I've retained from school, but I still feel inadequate. Esp since I don't take the time to learn new tech on my own. I like this site. It's good to know I'm not alone.

Collapse
 
badrecordlength profile image
Henry 👨‍💻

You're definitely not alone as this thread also proved to me 😁, we're all learning and there's no real end point to that, please try not to worry so much. Also, weird to think that my post prompted someone to sign up hahaha. Welcome aboard!

Collapse
 
lysofdev profile image
Esteban Hernández

I've been coding for about 12 years and I still feel like a fraud when I spend 3 hours debugging some mysterious bug that seems to just be broken for no apparent reason. Everyone has those days. You certainly don't want to be that guy who swears they're the next Bill Gates and constantly submits buggy code. So, keep on coding.

Collapse
 
niorad profile image
Antonio Radovcic

Nobody expects you to go full steam on your first job after uni. That's what the position of Junior-Developer/Engineer/Consultant is for.

Collapse
 
justintime4tea profile image
Justin Gross

This may sound elementary but hear me out. The word developer means (as a noun) one who develops. Develop means, among other things, to start or to improve. If you start to build or improve on your own or someone else's social skills or a social project one might say you work in social development. If you were to write software (or even take other written code and combine it) I would say it's appropriate to call yourself a software developer.

What most people are asking when they ask "am I a developer?" Is really "would a large enough body of people who know or become aware of my work, work being the tasks you perform for money or not, and the details of my work consider me a developer or at the least approve of my use of the word developer when describing myself?" The answer to that question is always "who cares". If you are focusing on getting a job than I would say you should care but only in so far as it lands you the job.

Be honest about where you are at however or the job won't be a good fit (good advice for any profession) but you should rise above the need of others approval of what you call yourself and call yourself a pink elephant if you want.

I'm considered a developer in the classical sense however I find it to be a reductionist point of view because as I see it writing code is the least amount of work I do, designing or finding solutions being the most. When you are looking for developer work what businesses are really looking for are people who can think critically and solve problems not an expert code writer.

Collapse
 
andrepires profile image
André Pires

Hi Henry.
No, you are not a fake. One of the evidences that you are not a fake is this very post of yours. You are already questioning your skills and careers. Fakes don't do it. They don't expose themselves.
Unfortunately, the only efficient way of detecting a fake is if you hire one.
Their CV will be full of experiences and titles. They will call themselves Senior in this, Senior in that, many detailed descriptions of what they did in the past and how good they are. If a company doesn't have the ways of detecting them, they will get in. One of the signs in a fake's CV is the large number of previous jobs and mainly the huge amount of skills. They basically know all languages, frameworks and tools available. It's even better when they come to an interview and you ask them something very unique about one of their skills. They will answer anything but the right answer. Their real skill is talking. They talk a lot and about virtually anything. They master the art of talking technical terms without knowing what they really mean. They know all the good practices, principles, that can name book authors and describe SOLID as a master.
They reality comes only when you give them a real project. All sorts of excuses are given. The only thing they don't give you is called Deliverables. They don't deliver and when they do, it is some sort of Stack Overflow Oriented Programming.
So, consider your self a beginner and just do the opposite of what I said above.
Be true to form. Be yourself. Expose the fakes you meet and always try to improve your skills. If you do it, you will never be a fake.

Collapse
 
safijari profile image
Jariullah Safi

I've been a senior developer at me company for 3 years now and I still feel this way 😅

On the plus side it keeps pushing me to learn new things, so there's that 😊

Collapse
 
ahmaddeel profile image
AhmadDeel

It's called imposter syndrome.
I heard even Albert Einstein had that.
So it just tell me that my skills and tool set are not enough and that keeps me motivated and forces me to learn more and more.

Collapse
 
badrecordlength profile image
Henry 👨‍💻

All the replies to this have made me feel a lot better, thanks so much everyone.