Imposter syndrome: dev edition

Dear Elphata, I am a junior dev. I have imposter syndrome so bad that (and I quote) "I don't think I have imposter syndrome, I genuinely believe I'm just a terrible dev and will be forever". I could write a whole huge wah post about it but what I really want is your stories, please, about how you felt or feel with your software dev-flavoured imposter syndrome and how you cope with it. I need this for the support, the visibility, the reassurance and the community. I have a supportive mentor who's helping me and I'm getting there slowly but right now I'd appreciate the "I spent six hours debugging and it was because i'd made a typo" stories! With very best wishes, Lucy
"Man, do you know how much time I've spent on showing this god damn progress to finally realize that this calculation has been wrong whole time." - me on slack over the holidays, after refactoring (and then un-refactoring to find a mistake) for two days to figure out where an extra increment was coming from - turns out it was in the original implementation and I was just the first one to display that incorrect number - then I re-refactored.
Hey @lucymitchell I went through a very similar thing in the beginning of my career. I could write a whole post about how I felt I wasn't a 'real' developer. Those feelings stayed with me for quite some time. I no longer feel that way and my two solutions were: - Side projects: Side projects make you feel like you're a bad ass and you know what you're doing. You're in complete control over what's happening and you'll understand that project inside and out. You can then bring that knowledge back to your job which in turn makes you feel more confident. Don't know how deployment works? Work on deploying your own project and boom, knowledge, then you can come back to your job and be like deploying on aws? No problem. - Experience: There is not much you can do about this but I promise it gets better once you have over 3 years of experience under your belt. Alot of people you may work with have like over 10 years of experience, so when you're comparing yourself to them and have maybe 1 year of experience it's really not a fair comparison. Trust me, on the three year mark I was like wow, you know I really do know things.Hope that helps :) I bet you're a great developer.
You are definitely NOT ALONE. To combat my imposter syndrome I like to keep daily notes (just a spreadsheet) on what I have done, what I have learned and areas of opportunity. This has the benefit of being something I can reference to my manager during 1x1s or future evals as well as being a concrete reminder of the progress I have made in my career. As a fellow jr - I have certainly raged over the all too familiar hidden typo issue.
I really, really love this idea!! I'm not working as a dev yet but before my last review in my current job I made a list of the accomplishments I could *remember* over the past year so they'd be fresh in my mind during my review. However, I wish I'd kept an ongoing list like you do! I KNOW there were things I was leaving out.
As someone relatively fresh into the developer world, I am walking through the weeds of imposter syndrome with you. I have lots of stories, but in the meantime...just know that 1) Everyone has pushed to dev once with some kind of bug left in their code and had to scramble to fix it. If someone claims to be too good to have never done this, they're lying. 2) Similarly: every developer I know still looks up syntax for *even their main programming language* on a *very regular basis*. I also want to echo @samez's comment that doing side projects can make you feel way more capable because they're a great place to practice new things, or to teach yourself new things. If you pick a project related to a non-work thing you love, it can help you deepen your interests outside of work in a new way, while getting the benefit of working on work skillz!
Someone once said to me, "Anyone can learn to code. Anyone. You don't have to be smart to code. It's just a language, language takes time and practice, ideally immersion."Hearing anyone can learn to code was immediately an affront to my ego and self precept of intelligence, but later as I was working in my first Dev job, was the very most important thing to pull me out of my imposter syndrome, which still comes on strong from time to time.I strongly suggest paired programming in a Navigator-Driver style until you're more competent, and confident. Take time to notice how you have improved, find one thing you're good at each time you reflect. When something's FUCKING HARD approach it with curiosity.And. Be kind to yourself.
Hey Lucy,I’m also a junior dev and have only been working for 4.5 months and I know the feeling all too well. I’ve even run to the bathroom a few times to cry out of frustration after hours of debugging and my code still won’t run.A few weeks back I deployed production data to the staging environment. 😭😭 Even worse, I didn’t realize it until a few days later when someone else pointed it out. Thankfully the more experienced engineers on the team are very understanding and remind me that making mistakes is part of the learning process. I’m still trying to find a way to deal with the imposter syndrome but I try to celebrate even my smallest wins, it makes me feel like I’m making progress and eventually I’ll be as good as the people I look up to.
Hey Lucy, fellow junior dev here! *Solidarity fist bump*The struggle is REEEALLLL. I did a bootcamp over the summer, have spent the past couple of months doing a lot of self-directed learning, and am now looking for a job, so I have been through all the highs and lows multiple times. A few thoughts/things that help me:1) Looking back at the work I did and questions I was asking a couple months back. There was one point towards the end of my bootcamp that I went to my instructor with a long, detailed question of something I was trying to troubleshoot and when I finished speaking, I was like holy crap did that question just come out of MY mouth? Me, the person who was struggling to do basic HTML a few weeks earlier? Those moments are so powerful because they remind you that you ARE indeed learning and progressing, even though from day to day you might not notice it. 2) Doing my own projects and breaking them into pieces. Just the power of actually creating something myself makes me feel like I might actually be able to do stuff! The key is to start simple, choosing an idea that doesn't seem insurmountable, but you know you'll learn something along the way. Build that first, and THEN decide what else might be cool to add.For example, I recently built a simple weather app that consumes an API to display the current weather in a requested location. I quickly realized it was going to be too complicated (for me) to start out with dealing with both handling the user-submitted zipcode AND the API data, so I first built it to just display the weather in a single place. Once I had that up and running, I added in the more complicated piece of passing the user-submitted zipcode to the API, to request the data for their place of choice. To some people it might just be a small weather app, but honestly I felt on top of the world when I was able to complete it and figure out the challenges along the way! I guess it's a question of setting yourself up for success by focusing on feasible projects in which you will learn something but also develop some momentum and build confidence.3) Over the past few months, I have experienced a lot of moments in which I couldn't figure something out, and my brain went immediately to the "you suck, you can't do this, you'll never figure this out, no one will ever hire you" speech. Of course, when I DID figure something out, my brain was like "YES WE ARE THE BEST AND THE SMARTEST EVER". I was having a lot of trouble reconciling those moments! Like which is it, bro?!?! Do we suck or are we a genius?!?!But I've noticed that over time, as my small wins keep accumulating here and there, however tiny they might be, my confidence muscles are growing. When faced with a problem, I feel more often that I will *eventually* figure it out, and the feeling that "things are impossible" is happening less often. I keep reminding myself that the problem is not impossible to solve, and I am not incapable of finding the solution -- whether it's via Google, or simply asking a mentor when I've exhausted other resources. You got this!
@lucymitchell I found the best way to combat this is to mentor others. You have learned a lot, we all do ( I was once a brand new dev right out of a bootcamp ). Mentoring and giving some time to those starting out shows how much you know to you and helps you build up your strengths. Bonus, you can share with that person, how it really works, which is to say, we are all googling and debugging and always building our skills. Last, I think one of the best things about being a dev is everyone is always learning, I meet people who have tons of experience and I can still teach them a new thing by just having been in a different corner of the tech space.
The most important thing is whether you enjoy the work! After 15+ yrs in the field, this is really a matter of putting enough hours to enjoy the craft. As in life, ignore insecure haters, do your best, enjoy the work. Performance will increase in time as you develop recognition patterns and red-flag instincts. You will code slower but with less bugs within time because of those patterns. Nobody can train for marathon in a day.
I absolutely know how you feel! I was a part time dev at a small company for two years while I finished school and in autumn I moved to Canada and started working as a full time software engineer for the first time. Add to that the fact that the field is completely different than what I studied at school (MSc in Geomatics, working in trading tech). I have to remind myself daily that I am better than I was yesterday and that I'm doing my best. Sometimes I get stuck on a bug for a whole day, sometimes I git push something and I have to fix it the next day, sometimes I have no idea what my colleagues are talking about. But I think the most important part of being a junior dev is to ask questions and learn from the answers. I write EVERYTHING down because I know I'm likely to forget most of it at times when I'm anxious and that helps a lot, knowing I can look things up without asking the same questions over and over again. Don't forget that we're awesome just by trying and things will get better as we become more experienced!