Hacker News new | past | comments | ask | show | jobs | submit login
Is there a fix for impostor syndrome? (acm.org)
433 points by snaky 11 months ago | hide | past | web | favorite | 332 comments

I've been in software for 14 years without a computer science degree and carry a chip on my shoulder because I missed out on algorithms and compilers in school. I'm mostly self-taught and have had the opportunity to run a SAAS company for six years now (CodePen).

I'm winging it like many other people in our industry. I wish I'd had two things to when I started my career.

1. A right of passage that endorsed my skills as a competent developer (or that educated me on what skills I'd yet to learn).

Something equivalent to what doctors have when they receive a medical license and become board certified.

After five years on the job, no one cares about your cute degree but the 21-year-old version of me who knew nothing and was a tiny bit terrified of being found incompetent cared.

You are born with a level of confidence (unsubstantiated and unproven), but you can also earn it by doing a substantial amount of work.

A right of passage within the software industry that showed a fundamental level of competency beyond the fizz-buzz test would've worked wonders for the young me.

2. A formal mentor.

I spent years flailing within technology. I learned the wrong things, dove deep into the wrong technology (Java Swing :|) and made obvious mistakes. In retrospect, I would have paid to work for a capable mentor when I started who could have validated my work and guided my efforts.

Alas, software development is free, unregulated and open to all. That is what makes it beautiful. That is what makes it frustrating.

> dove deep into the wrong technology (Java Swing :|)

For someone, such as yourself, who has been in software for 14 years I'm surprised that you'd write these words. Most people I've met with your years of experience realize there isn't a "wrong technology" there is a "right technology for the problem" and a "right way to use a specific technology". I suspect you're applying hindsight bias in thinking, "I could have gotten to where I am sooner if only I hadn't done the things I did and instead done these other things." For all you know you might have found a mentor who pushed you to be better at Java Swing and you could have been the person to "fix it" so to speak.

Pointing out the tech I used at the time is a bit of a red herring for the argument I was making.

The point I should have made was that I focused on the technology instead of the fundamentals of software. I was obsessed with learning the tech that that existed at the time instead of learning how to craft software in general with the least amount of complexity.

I wrote a website that got 10 visits a month with Spring and Struts. I had simpler options but was pretty convinced everything had to be "enterprise grade".

Today, if you had to build it, you'd build a static site.

I learned quite a bit from these mistakes. My argument does romance the idea of a mentor that was hyper-intelligent and cared about my career.

Mistakes are always made. Mentor and mentee alike. C'est la vie.

Ah, that makes sense given the context. Thanks for the additional input!

Second, what were the alternatives at the time? I mean I'm sort of a web developer and work in React and such, but do I feel regrets about having spent a year and a half building an application in Backbone? No, because I know back then, React and Angular and such were non-existent.

Besides, most software, especially front-end, has a very short half-life and it's not unreasonable to believe you'll rewrite the whole thing every 3-5 years anyway. Write front-end code like you'll throw it away, write core back-end like it'll drive your business for the next decade or so. At least the database.

(Of course, as I found out later, Angular had been in development for years before work on Backbone had even started, but it wasn't a google project or well-known at the time).

> Something equivalent to what doctors have when they receive a medical license and become board certified.

In the US this requires four 8+ hour exams, spread out over at least seven years of training; each exam requires months of preparation. I have a hard time imagining most programmers would elect to jump through those sorts of hoops just to feel more confident about their jobs.

> In retrospect, I would have paid to work for a capable mentor when I started who could have validated my work and guided my efforts.

I think this idea definitely has some merit. I was very fortunate that my first big job after getting my CS degree was on a very agile team that leaned toward the bleeding edge. I wonder if there could be a way for programmers to rate the development environment of certain companies.

I think a better equivalent would be something like the FE exam that mechanical engineers take out of college. It's given right at the end of college, but could be given at any time for self taught programmers.

Hard part is implementing the test to be (almost) purely problem solving and agnostic of language.

Actuaries go through something similar with the SOA exams. It seems to be effective but maybe actuarial science changes more slowly than computer science.

Are you mentoring someone now - is it on a commercial or personal basis?

There are a lot of certifications in computing fields, why don't they meet the need you felt (feel?) for objective acknowledgement of your skills? (From where I am they all look like primarily commercial efforts rather than efforts to provide objective recognitions of standards/abilities.)

If you want to take Algorithms and Compiler courses, Stanford, Georgia Tech and many others have great options online.

I don't think it'll help at all - I've got a bachelors in computer engineering and computer science and masters in computer science and feel pretty similarly to you (and know plenty others in the same boat as I am) - but the option's there. I actually did my MS for this very reason. I enjoyed it very much and learned a lot, but it didn't help the imposter syndrome.

I'm about to finish up my CS degree and I couldn't implement most algorithms and data structures without looking them up. I know nothing about compilers. Never taken such a course.

Compilers are a lot of fun; I did compilers in grad school. I regret not taking more EE courses. I would expect we all think about the classes we wanted to take but didn't. :-/

100% agreed. 18 y/o me was an idiot; i'd have done thing significantly differently.

Frankly, had I known I would be where I am today by my own whims, I would've majored in something like philosophy, not taken more compsci courses.

I wonder how things would have gone if I had gotten into Lisp right in 1982, instead of 2000.

Here I am, a (floabt) poliSci+=econ major, wishing I had been in CS. I don't truly regret it though, I think it gives me a unique perspective.

Except for perhaps the most trivial ones, and ones that exist in many variations, you shouldn't implement algorithms and data structures without looking them up. I would add, without looking them up from more than one source.

I have a degree but honestly can't say I've ever really used anything from algorithms or compilers courses on the job. Nobody (meaning, very few people doing mainstream startup/SaaS development) writes fundamental algorithms, you use libraries and classes from the language you're working in. Most people don't work in compiled languages anymore, and if they do, they don't write their own compilers.

Maybe understanding the concepts from these courses helps. But despite having a degree I often feel that I am (to quote TFA) not really “clever enough” or “good enough” or “well-rounded enough” or “deep enough” in their discipline. Almost everything I do day-to-day I did not learn in school, I learned by flailing around for a while, reading documentation, and gradually working things out.

Yet I don't feel anxiety over it, because I get my work done, and can see that I accomplish more (in some case a lot more) than many of my peers. Yes, there are also some others who are clearly better than me, but that's life.

> Nobody [...] writes fundamental algorithms, you use libraries and classes from the language you're working in. Most people don't work in compiled languages anymore, and if they do, they don't write their own compilers.

This is sad thing to say. I'm a sysadmin, and I'm regularly using the knowledge about algorithms to assess which data structure to use in my programs, I've written recently a binary search function (if we're talking about fundamentals), more than once I needed to write a priority queue that allows fast(er than O(n)) updates to random elements, and I assure you that I'm very happy that I took the compilers course, because I've written several parsers (one more interesting was a translator from a simple query language to SQL, to easily extract data from inventory database). And I am a sysadmin, I'm not supposed to write that much. What went wrong?

> I have a degree but honestly can't say I've ever really used anything from algorithms or compilers courses on the job.

I've found knowledge of the fundamentals (compilers, operating systems, algorithms, etc.) useful in interviews and arguments. That's about it.

I really want to change that. It's a waste of time to be asking people about those things in interviews for application development (and similar) positions. There is a whole other set of skills we should be asking that we don't. Problem solving, distributed systems, failure states, etc. Things that understanding algorithms, compilers, and operating systems have no bearing on. It doesn't hurt to know those things but it is essentially wasted time/space.

Don’t most career fields come with important knowledge you learn as a junior, but don’t actually use on a daily basis? I assume doctors learn a huge variety of things in school, but practically don’t use more more than 50% of that knowledge on the job. But having this knowledge makes you better at your job overall.

I never got a CS degree, but I wish I did. There are times I run into obscure issues where deeper knowledge of the compiler, os, etc would help me understand the problem better, or how to design my code better.

There's nothing in a CS degree that you can't brush up in a self-study.

For example, I have a hard time believing my compilers class at UT serves me better than someone taking one of the compiler MOOCs I've seen people mention on HN from time to time. Especially since it was 10 years ago. The class cost me over $2,800 too.

It might be tempting to think a CS degree would help you know more about things you don't, but I think it can be an excuse to not just dig into it yourself. It's not like CS majors graduate with an understanding of OS and compilers in the wild they'd have to actually debug.

My favorite technique is asking “what’s a great undergraduate program / course(s) in this field?”

And then getting the syllabi. (A lot of professors just host their syllabi on their publicly accessible site, not through a portal. If one instructor needs you to go to a portal, try another instructor. Try searching for the syllable PDF or .Doc via Google)

And then learning the topics on the syllabi.

You might be able to learn stuff on your own but you'll probably do it at a much slower pace. I consider myself an autodidact but when I started taking in-person classes at my local CC I got access to an almost custom level of guidance. "You get out what you put in": If you're expecting professors to just upload all this karate to your brain, you won't get as much out of it as the guy practicing at home and bringing his questions in.

> I have a degree but honestly can't say I've ever really used anything from algorithms or compilers courses on the job

I ended up having a job writing programming language tools for a bit. Then there was some graph stuff one time in 10 years. It can come up occasionally. I still find it's something nice to know.

A more realistic example might be understanding the limits of regular expressions/languages and what they can/can't do well. Like the bus conversation I overheard glorifying some "smart" guy parsing XML in a stored procedure using regexes.

>I spent years flailing within technology. I learned the wrong things, dove deep into the wrong technology (Java Swing :|) and made obvious mistakes. In retrospect, I would have paid to work for a capable mentor when I started who could have validated my work and guided my efforts.

I think this is inevitable. We're lucky to be living during a time that has been extremely fruitful and revolutionary in programming languages and technologies. I spent many years on Flash and Silverlight but I don't regret it. Most of those skills transfer to other domains easily.

> Mentor-

Yes. Even after 10 years in the industry I feel like I'd love to have someone to poke me in the right direction every now and then.

Also, using technologies I ended up hating and/or experiencing the limits/downsides of is what compelled me into new, wildly different ones.

I think stagnating is the danger, not learning the "wrong" things. The latter is an important part of gaining perspective.

Having experienced so many platforms with 0% thought put into how does this work on more than one platform certainly gives me a huge appreciation of stacks that are built multiplatform from the start. I don't see myself jumping deep into any tightly-coupled-to-one-machine tools anymore for example.

Thank you for creating CodePen.

Others have mentioned, it already but I feel like I must echo the same sentiment.

I finished a 4 years CS degree years ago and I can honestly say that throughout my career I never had to create a linked list by hand.

Quiet frankly, knowing how to implement a heap with your eyes closed doesn't mean anything.

Running a successful SAAS for many years and scaling it on the other hand, is far more of an impressive accomplishment.

Kudos to you.

How would you find such a mentor?

So far every job I've joined since finishing school in 2012 I've been the "smartest person in the room". It's been incredibly frustrating to not have peers to learn from technically.

It was so bad that I left my city (Recruiters and the jobs felt very toxic to me) and became an expat, started self learning what I wanted until I could consult enough to sustain myself.

Now I joined a large company for a large project in asia and I'm STILL missing people I can learn from.

I'm reaching my 30's, and have only worked at small to medium places with near zero mentorship.

Some people would question your experience, and there is a chance that you are failing to appreciate others.

However you may also accidentally be the big fish in a small pond. If that's the case try to get to the bigger pond. If you get to one of the big tech companies and find even there nobody is competent enough to mentor you then your either a genius or oblivious.

Thanks, you're 100% correct and when I recently explained my history to startups out here they have the exact same reaction.

I've been jumping from small pond to small pond until now.

This large company's project is outsourced to over 30+ people where none of the devs have even touched React and come from an Enterprise Java background. It's 6+ months and late, when really the product would take a team of about 8 to do in 4 months. I come in and suddenly I'm tech lead managing and mentoring others.

I understand even this post feels like I'm unappreciative but it wasn't until two months ago that I had a teammate I could feel happy working with rather than me mentoring them.

I don't consider myself great or a genius, but this pain of knowing you can only teach yourself so much has bothered me since my first job.

Hence, how does one find a mentor?

I was serious, if this is actually the case you literally have to go where people of talent congregate. As you increase in skill those places become fewer - you may have to move.

Thankfully things are changing positively for me.

But I fully agree with what you've said and I will keep it in mind moving forward.

While I think you make excellent points, I believe that impostor syndrome is actually quite common, if not moreso, amongst the highly educated.

I think this is because you work with some tremendously smart people and as such end up feeling inadequate in our own knowledge. You're pretty much required to work at a certain level as there is some expectation of your knowledge from other peers.

I’m sure you meant well, but this response really comes across as saying “dont worry, you don’t have imposter syndrome - you’re too poorly educated for that. You’re actually an imposter.”

The point is imposter syndrome affects people who are high achievers but don’t feel they earned the respect that gives them. In tech, that high achievement status can be orthogonal to the level of formal education, so regardless of how highly educated someone is, they can look at their peers and feel like they don’t belong.

With all due respect, I think you're reading something into my comment that simply isn't there. Perhaps I should have denoted 'formal education', because the OP is educated, just not formally.

The only thing I meant (beyond what I said) is that while there are many good reasons to pursue higher education, if one does so with the goal of ridding oneself of impostor syndrome, that could very well turn out to be ineffective or perhaps even counter-productive.

I'm simply relaying my own experience to the OP. I work in software with a post-graduate degree and am also licensed by a professional engineering body and while it's not with me all the time, I do endure bouts of impostor syndrome as well despite these things that should assure me. It makes sense; now I've got these extra letters behind my name that I'm supposed to live up to - and we know how our minds can take that and place unreasonable expectations on ourselves.

My experience, especially in higher education, was that the more I learned, the more I realized how much I didn't know. I noticed this amongst my peers as well. Some of the people I knew that suffered the worst had PhDs!

> “dont worry, you don’t have imposter syndrome - you’re too poorly educated for that. You’re actually an imposter.”

I didn't get that at all when I read that.

> dove deep into the wrong technology (Java Swing :|)

Over my career, I have worked with so many technologies nobody knows about now... That's the part of the game. That's like working for a startup that didn't work out - of course, it's worse that being employee #3 at Facebook, but if you got to do some cool stuff, got paid and learned from the experience - you are still not too bad. The experience will be useful the next time, often in ways you can't now even predict. Including "no, this doesn't work - we tried it at $JOB-2 and it was a complete disaster" :)

> After five years on the job, no one cares about your cute degree but the 21-year-old version of me who knew nothing and was a tiny bit terrified of being found incompetent cared.

If you feel that you know nothing, this is good, since then you know that you have a lot to learn, which you will hopefully do then. I thus consider it as dangerous if one does not feel dumb all the time.

> I spent years flailing within technology. I learned the wrong things, dove deep into the wrong technology (Java Swing :|) and made obvious mistakes.

Also the mentor will just tell you about what is trendy to him/her at the time. So be honest: You rather look for a person to pass the responsibility on for the things that you did wrong.

> After five years on the job, no one cares about your cute degree but the 21-year-old version of me who knew nothing and was a tiny bit terrified of being found incompetent cared.

True for the most part. But having a degree from the right school opens doors that you would otherwise have to devote years of self-study and aggressive marketing to, magbe, have a chance at prying open. If yoh want to build a career at Google that doesn't mainly consist of grovelling around in AdWords, step one is to have graduated from a God-tier school (e.g., Stanford).

I was fortunate enough to have an outstanding mentor. What a difference that makes. We worked together for years on some really cool DSS stuff. We were constantly trying to outdo each other and it made us both better.

As far as the degree, I'm sure you've realized by now that drive can compensate for just about anything. Also, everyone has to prove to themselves that they are good enough. Once that happens, results are limitless.

Even folks with degrees in CS are still self-taught, they just got a guided head-start. All intellectual fields require constant study and practice.

I think it's the other way around for most, they gave themselves a head start in their teens and then got some guidance at university.

Life-long learning, that is one of the key attributes that I look for when interviewing folks.

Nice story. CodePen is awesome. How about trying a different story for yourself from now on?

Glad you like old CP. I'm extremely happy with where I am.

My statement romances the mentor I'd had found. Sheepishly my ideal mentor is me with 14 years of software experience.

Most of the things taught in a CS degree or Math degree are simply too specialized to be useful. Sure, everything therein can be found somewhere in the industry. But, for the vast majority of us, we'll only use a tiny percentage of what we actually learn.

On the other hand, there's sooo much you do need to learn as a SE that's not taught in a CS degree. If you drew a Ven-diagram between what you learned in school and what you actually need to do the job, you'd find very little overlap.

We really need a new model for how we think about education.

When you say self taught do you mean you bought a data structures book and read it yourself with no lectures?

Not OP, but that's certainly one way some of us learn. Usually you combine methods— supplement knowledge from various streams to gain a fuller picture. There are also a ton of other great online courses and videos of lectures for free online (these days).

REPL's are also great tools for running exercises to test your knowledge. It's hard to lie to yourself— if you care— you either begin to understand or you don't. If you don't, your work will suffer.

I cared— but I was inclined to. You don't sit in the basement as a kid trying to get your mum's old 80286 to do something after you found the BASIC prompt because you want to play ping pong all day.

I might have an impostor syndrome at work. And I am somewhat anxious about it. And I feel like it decreases my performance by quite a bit. And luckily, my managers understand it and are very supportive of me.

However, I have a question (and this is going meta). Maybe my managers are too understanding about it. Sometimes I wish they give me a harder time, and feel like I don't get reprimanded for failure enough and strangely, it exacerbates the feeling of being an impostor.

It's not like I would enjoy being wrong or beaten up for it, it's just sometimes I feel like I can afford being somewhat lazy because of that, and I don't think that's right. So I am not sure I entirely agree with the recommendation of the article.

Or to reword it as a question: Cannot the positive thinking actually hurt the person having an impostor syndrome?

Maybe we are all impostors, and I just happen to be the one most suited for the task.

Maybe we are all impostors

This, a thousandfold.

I have struggled with impostor syndrome throughout my life - it doesn’t help that my 35 years to date look like a smacked out Mary Sue fantasy. In my previous business I often felt like I was pulling the wool over the eyes of the world - what right did I have to lead these people, to charge those people, to make these decisions?

Well, none, and neither does anyone else.

Through my dealings with other business owners, from small outfits through to the gods of the world of commerce, I have come to realise that everybody in any position of power or responsibility is faking it to some degree or another - or even more interestingly, they believe they are faking it, even when the results are tangible and real. I often find just talking to other people in a similar position really helps, as you rapidly realise that not only is what you’re feeling not unique, it is practically a universal maxim.

Where I ended up was concluding that we are all wittingly or unwittingly impostors, and the only actual question is whether it’s something worth being bothered by.

It’s the unwitting impostors you have to keep an eye on - hubris and incompetence are a dangerous combination.

Being aware of your own limitations brings humility, which is good in that it imbues striving, through which you grow your limits.

In short, we are all impostors. Being aware of and treating this as a law of being is a useful step in understanding both yourself and how to optimally operate the world in which we live.

People will agree to almost anything which makes them feel like less of an impostor.

I think imposter syndrome is an inevitable consequence of a competitive labour environment. People like to call this kind of environment "meritocracy", but since "merit" is not something objective that can be measured effectively, the reality is we compete on our ability to convince others we have "merit".

And since we are forced to compete for work, we feel the need to present the best possible version of ourselves, which is inevitably just slightly beyond the level of "merit" we perceive ourselves as actually having. I believe this disconnect is the main cause of imposter syndrome.

I think it's also the cause of so much bullshit in business environments. Since labour relations are fundamentally antagonistic, people feel unable to communicate problems or inefficiencies for fear that it will reflect badly on them. Especially when that problem is "I am not good at doing this task". Workplaces try to introduce blame free cultures to avoid this, but they will always struggle, because a business relationship is necessarily judgemental.

And I don't think there's an easy way to fix this without challenging the idea, entrenched in so much of our economic and political discussion, that competition will always produce the best results.

@aninhumer, thank you, this was a very insightful post. I often ponder the "perception of value" effect in my workplace and how much influence it has. In addition, for me, it was a realization that accountability requires recorded decision making outcomes and that accountability must be applied consistently across 100% of an organization including the CEO and directors. Because of this realization (and that implementation is highly unlikely to occur due to the requirement that top level decision makers adhere) it was a clarification in why "perception of value" is often more important than evaluating actual value to an organization. Even though an organization may think it's evaluating actual value.

Perhaps we feel compelled to assume that the people in charge know what they're doing since the alternative is deeply unsettling.

Oh, I wholeheartedly agree, and as far as I’m concerned, the reality is unsettling. In business, as I said, I found the leaders of mighty businesses to be often dangerously clueless - the larger the org the easier systemic inertia and process make it to hide at the top - in politics, the dunces of my year at school now sit in parliament.

Yes, this is purely my observation, but I’ve had a broad and global sample pool - and I inhabit a world in which almost everything is smoke and mirrors - yet I find these precepts serve me well, and the decisions and actions I make and take within this worldview produce expected results against the hypothesis.

Part of me just wants to hide under a rock - but we’ve muddled along this far, so on it goes.

That's also one hypothesis of why people are prone to believe in conspiracy theories: the alternative to believing in some malevolent force controlling everything towards some ultimate end goal is that no one is really in control and stuff just kind of happens. Some people find the latter more disturbing.

Ah right, that context is where I first encountered the idea. Thanks for the reminder.

I’ve always wondered ir airplane pilots feel the same. I mean, they are tested through and through, this should give them some confidence, I believe. But never spoke to one about it to confirm this assumption.

I had impostor syndrome for the first 6-12 months of a job that I felt lucky to get.

I struggled with some anxiety because of that.

However I have a pet theory that a lot of our internal perceptions don't tend to have a big impact on our behaviour. So I just kept chugging a long and gradually came to realize there was no issues with my performance, and the anxiety went away mostly.

Keep in mind there's always good days/weeks or bad days/weeks in terms of our actual performance. Sometimes I was horridly underproductive and I would have to make adjustments in improving my sleep, switching to decaf coffee, exercising more, etc.

Imposter syndrome is normal and expected. It negatively affecting your performance should not be considered normal, in my opinion. If anxiety from imposter syndrome (or anything else) is affecting your job performance, it's worth considering if an expert could help (e.g. chemically or with some kind of therapy).

And I don't mean it should be stigmatized. It's probably not even uncommon. But to me "normal" implies you accept it and don't try to change it.

Interesting. I don't know that I've felt imposter syndrome since my first year or two as a programmer. If this persists for a long time in to your career, yet you've received pay raises, promotions and positive feedback from your manager/colleagues, perhaps it is time to start questioning your belief that you don't belong. While I'm not sure if imposter syndrome is common, almost everyone holds beliefs about themselves that are either not true or that while true, are not useful and could be reframed in a way to be more useful. Most people don't question these beliefs, but we could all do ourselves a favor if we regularly questioned our self judgements a bit more.

>It's not like I would enjoy being wrong or beaten up for it, it's just sometimes I feel like I can afford being somewhat lazy because of that, and I don't think that's right.

I totally understand this. People live up to their expectations. I’ve felt this most often in competitive activities as I’ve moved up the skill ladder and started in a group just above me. Once you feel like everyone thinks you’re going to underperform, it’s all you can think about.

In any case, it always got better for me, so I’m sure you can overcome it as well.

I got hired on by a large corporation (who seemed desperate to make the hire, for reasons I can't fathom) and was placed on a team, I suspect without consulting the tech lead first. The guy seemed to start off with the assumption that I was an idiot and couldn't be trusted to do anything (and also that my presence was an inconvenience and that I wasn't needed).

I think that opinion has slowly begun to change (and the stuff we're doing here isn't hard, at all), but he did a pretty good job of getting me to hate him those first few months on the job, so I've been interviewing.

A deadpan answer but: lose the syndrom but still keep trying to achieve more.

It's often that you're not expected to do the "right thing" since the expector doesn't know the area well enough (i.e in software dev). The choice and risk are yours to take, and the better you get at this the better you really are.

How many managers do you have and what is their level of experience at managing direct reports? It's certainly possible for managers to do a poor job at conveying appropriate feedback, both by failing to give positive praise for good things and by pointing out failures and negative outcomes that you could have avoided.

If you feel like you're not being challenged, tell your manager! They may have decided you're doing "good enough" and aren't motivated to take it to the next level, but it sounds like you are. A strong manager/report relationship is one where the manager can sense when you have more in the tank and knows when to push and when to back off. If you don't have that relationship, start building it.

> Maybe we are all impostors

If you start reading management books you'll see that this is true. Most of them talk about how they're terrified of being found out but that this is okay, you'll grow into your role.

My semi-cynical, 35+ years in the industry advice? Avoid blogs, forums, podcasts, social media pages, news sites that only focus on the 1% of startups that make it 'big' seemingly overnight.

Go out and talk to fellow entrepreneurs, hackers, company founders and people in the industry, and you will quickly find out that everyone, and I mean EVERYONE goes through a heartless grind and struggle to get things done or to make a difference. Connect with these people on a far deeper level than just making money or comparing tech stacks and identify what it is that gets them out of bed each morning with a spring in their step. If it is the same reasons that get YOU out of bed every morning, then sign them up as your support buddy so you can measure (and they can help you measure) the real metric that makes you tick. No room for impostor syndrome in this scenario at all.

That's a smart thing to do...

I had spent several years in this startup bubble - both physically and information-wise - and still do to some degree. So it happened to me that I talked to people I knew to some degree, that have very little technical technical understanding and then half a year later they tell me how they deep dived into some hard to get technology.

That frustrated me a lot and it took me quite some time to understand that they just went step by step through tutorials or fully finished boilerplates with doing very little on top on own initiative.

I remember this one guy even starting to blog about advanced Machine learning techniques on LinkedIn.

> Avoid blogs, forums, podcasts, social media pages, news sites that only

> focus on the 1% of startups that make it 'big' seemingly overnight.

I'm starting to think that Hacker News is one of them. Of course a lot of the information here is very new and up-to-date, and oftentimes I learn from articles and comments (obviously) things that are relevant for work and people like me working in this industry.

But on the other hand I get the impression that I was much happier fiddling around with technology before I touched this startup bubble and one year after started reading HN at least once a day.

I totally agree with your statement, but how can one compensate for the fear of missing out of new technologies, interesting discussions among interesting people sharing their insights to the problem in hand, like you're doing with us at the moment. That's the only reason I check Hacker News, or some Subreddits multiple times a day, so that I won't miss that one non-upvoted post which could have proven significant to me, whether personally or educationally.

FOMO is a trap. You're looking for a needle in a haystack, but instead you should let someone else bring the needle to you.

If something is worth your time, someone you know and trust will bring it up to you. The more people you talk to and interact with, the more likely you are to be offered up information that is actually significant to you. It is also more likely to have a real impact because human interaction is more "sticky" than a simple website post.

What you're doing now is akin to throwing a Bubble sort at the problem. It's slow, inefficient and a waste of time.

How many non-upvoted life-changing posts have you come across? I've been visiting hn and reddit almost every day for maybe 8 years now, and the answer for me is zero.

I find the time and effort needed (as well as the mental stress) to make sure I am not missing out on anything is not worth the end result.

A quick scan of the front page gives me more than enough interesting material.

Yeah but there are bizillion other tech related websites and blogs. Those are mostly not as shiny as HN but they have links as well, discussions and buzz words which can be googled. That's basically how I did things in my pre-HN times. Actually Google was my entry-point oftentimes. I think I might have missed certain trends but on the other hand I got much deeper into technologies I actually cared about.

Totally agree with you on this.

On mobile, sorry for typos.

I've experienced imposter syndrome hard. One of my first jobs was a small programming gig, but I switched careers twice before securing a job as a "real" developer. Oh, man, what I didn't know. Everything was new. Source control? Neat! Unit test? Wow! I was so far behind. I worked hard and researched everything I could that I heard someone talk about more than once. If I couldn't find information on it and it came up again, I'd ask a person on the side what it was. I _knew_ I was out classed and I figured I'd never catch up.

Fast forward a year or so and I was working harder problems and harder code bases and still felt inadequate. Everyone was so much smarter and experience than me. They saw solutions before I saw problems. I was still learning so much, but how could I catch up?!

About a year later, our company introduced 360 Reviews. For those not in the know, that means your peers (and it should be a mix of people you've worked with from other teams and your team) anonymously give you a review and talk about percieved strengths and areas in need of growth. I thought, "oh, shit..".

I turned out that people I respected and looked up to had really positive things to say, and they called out where I could improve (and I since I agreed with the improvement areas, I thought maybe I could agree with the strengths too). It was so uplifting to read how folks said they could rely on me, that I had great knowledge that they wanted more access to, and other great stuff. I began to question my imposter syndrome.

A few more rounds of that while continuing to grow in my roles, and my imposter syndrome has faded from a roaring stampede to background noise. I fully credit 360 reviews coupled with striving to do better as a fix for my imposter syndrome.

We are our own worst critics.

What were some of the parts they said you could improve on, and what were some of the positives they had to say?

I had it for most of my career until I realized that I should trust the opinion of the people who employed me. They had read my CV, marked my tests, interviewed me repeatedly and decided they liked me and trusted my abilites, so I should too. Sure, in my mind I'm not as good as hundreds of brilliant people I look up to, but that's ok. It's not about being on a linear scale, it's about fitting a niche.

This is great advise, I also find talking to the right people about doubts helps too, we all get trapped by our doubts, and it's up to us to free ourselves from those doubts, but sometimes you need to hear from someone else that it's all just a mirage and you were never really trapped to push forward.

It's funny how grad school is designed to bring out the impostor in you, kind of like a negative image of the different kinds of "impostor" listed. Obviously each of these is false in their own way, but these are messages that you will be given / experience during your PhD, so it's no wonder how people come out the other end thinking like this:

1. "The Expert": your advisor/other professors/students will make fun of you or berate you if you don't know "everything" i.e. if asked to list relevant sources you list twelve and forget the thirteenth.

2. "The Perfectionist": your advisor will never say that a work is "good" and there are always ways to improve everything, the good parts will go unmentioned while the warts will be called out for repair until eventually you run out of time and ship it.

3. "The Superperson": everyone else is always working, so why aren't you?

4. "The Natural Genius": these are the words that your advisor and other professors will use to describe "successful" students: genius, insightful, gifted. Words your advisor will never use to describe someone positively: hard-working. Hard-working is assumed. Everyone is hard-working. Everyone puts in a lot of effort. Get over it.

5. "The Rugged Individualist": Only work that you and you alone did "counts" for your PhD, and credit is zero-sum. Debate carefully the authors you add to your paper because they will take some of the "success" from your work.

It sounds like you attended a toxic grad school. Was your program in Chemistry?

Is this a joke about toxicity/chemistry or is the field of chemistry known to be socially more toxic than other fields?

Chemistry has a reputation


> Eight graduate students have committed suicide at Harvard since 1980, officials said -- not an unusual rate for a university. > Of those, three have been in the laboratory of Mr. Altom's adviser, Elias J. Corey, a Nobel Prize-winning chemist. > But Dr. Long asserted today that by all indications, the first two deaths, one last year and one in 1987, had nothing to do with the students' work in chemistry. > One student, he noted, had been very successful in his work, and the other had barely begun.

This sounds not dissimilar to physics as well

It sounds like you lucked out.

Funny story, in 15 years of professional software development I never experienced the sense of imposter syndrome until very recently when I decided after 12 years at one employer (on many satisfying projects) I needed to consider expanding my employment options. AKA I started looking for a new job. Once I got a whiff of the putrid state of hiring in our industry today holy hell...

Sure, I’ve been successful at this for 15+ years, delivering at or above expectations at almost 100% rate with some great individual excellence tossed in for good measure. But I am 99% sure I’d never pass an interview for a new job doing exactly what I do now. Am I even a software engineer developer programmer whatever?

It has been a very disconcerting experience.

Anyway, I figure the feeling of being an imposter is just a natural subconscious reaction to what seems like an entirely alien definition of what my job is vs. what other employers seem to expect from someone doing my job. I’m sure I’m not the only one who has noticed this disconnect as so many links/threads on HN allude to.

It certainly has given me a good deal of anxiety, though, I don’t really see what choice I have but to accept this nonsense and try to prepare for it. Luckily I haven’t been feeling any depression or burnout or any other obvious mood impact from the whole experience, but, I could see that happening if I had less confidence in my ability to fill in my knowledge gaps, even if it’s for nothing beyond an interview.

Similar situation: I have a history of obtaining lower level positions and then quickly rising up to higher level engineering position within the same company (this has happened with two employers). I don't think this can reliably be used as a general strategy, I just have been lucky with employers. This doesn't give me a huge amount of confidence when considering my chances at getting a new job comparable to the level I'm at now.

Also the past few times I have seen the job posting for a position I've held, based on the job posting I'd assume I was unqualified. There's a bazillion buzzwords and technologies in our industry and it's difficult to account for how experience carries across related technologies (or not directly related technologies) in a job description. So employers end up just listing every technology you may touch and add an 'X years experience required'.

On the other hand, having worked with several engineers of varying backgrounds at my company and our partners I don't feel like an imposter at all in my actual abilities, knowledge, and performance.

This week I got to see the job posting for a replacement of a colleague of mine. The first requirement was 3 years of experience with a product we don't even directly use. I'm pretty sure the only reason it's in there, is that HR requires it for working in our department, even tough our specific team doesn't even touch it. The same line also requires "Java, Java script", while it's a backend Java position with literally no JavaScript work.

I already told my manager that with the maximum wage (shown in the posting) and the listed requirements, none of my peers would even try to apply. Even if they were an extremely good fit for the actual job.

The process through which a typical job posting is created is seriously broken in most organizations.

By the time they've taken your skillset, added the skills team lead would like or wants to learn, the skills that are from a different role but manager thinks can be combined few can still recognise their own job.

As a last pass CEO asks for 3 years experience of a tech launched last year that he's just finished reading an article about. :)

The worst is when it isn't engineers or any kind of technical leader performing any screening, but strictly an HR rep with no technical knowledge or experience outside of names of things (and the tools they personally employ) or an applicant tracking system that will immediately filter you out if your resume doesn't contain ~XX% of the required skills— or enough/too many years of experience according to the parameters in the posting.

And to so many people operating that way it just seems practical.

I feel lucky with how I got my current job— even though it's a very large company and they definitely do operate in those fashions, my resume somehow made it directly into the hands of the Senior Manager and Lead Engineer for the specific team at the time. They brought me in to talk— no whiteboards, no brain teasers— just some technical questions and personal/professional questions and I was hired inside of two weeks— onboarded a month later.

Applying and [if I even get to] interviewing at most other places previous has left me feeling much the same as yourself...

Every high performer at my workplace states regularly that they wouldn’t be able to pass the entrance exam at the place they currently work. It’s a cruel fucking environment.

In the last couple weeks I've had to decline 18 total hours of "challenges" and "work samples" from 4 different interview processes. I'm not sure at what point it became de rigueur to require applicants to complete on average 4.5 hours of work without pay, but I really, really don't think it's reasonable.

I've even offered to show them my current projects in lieu of work samples, and no go. Baffling.

I really don't get this interview process, and why it's so ubiquitous. I wouldn't care if an interviewee could pass a whiteboard fizzbuzz test if he/she provided some samples of projects they've done. That would tell me much more about your proficiency and methods.

I'd be much more interested in finding out if we would have a cultural fit. You can teach certain skills, but if your personality doesn't fit the culture it's going to be a bad experience for everybody.

But how do you determine if someone's a cultural fit without expending your time and their time? Just seems unavoidable to me, though that's what people often complain about here. Like they want to get a job without putting in any skin of their own.

https://hashrocket.com/ had a pretty extreme interview where they flew me out to Florida to pair-program with them for a week. It was a really pleasant experience. Every day I would pair-program with someone new on production code. By the end of the week I knew exactly if it was the job I was looking for. (Great group of people though and wish I'd known how to keep in contact with people professionally in my early 20s)

So unless everyone can afford to do that, you have to extrapolate from far more limited data.

Could you elaborate on how do you go about keeping in touch with people professionally. It’s a struggle for me to even keep in touch with friends. I guess I need to sustematize it somehow, because otherwise I just don’t keep in touch with anyone. I’m 30, so it’s an issue.

Me: "This project you've assigned me is asking me to implement a basic REST API with 2 endpoints. Well... you could take a look at my github profile, I have at least one project that includes a RESTful API considerably more advanced/complex."

Them: "We have to be fair to all candidates, so you need to implement the interview project like everyone else."

I've never had an employer short-circuit an interview process (as in skip some/all of the BS tech screening) based on having actual, real work samples available for review.

What was once a “more objective” way to hire has become a restriction by HR departments - they will not let anyone in unless you pass whatever the bar was, in the exact way that everyone else has taken it. Have seen this at a bunch of mid-enterprise companies.

Exactly this. A lot of these "challenges" are about the theory but the real job is never about the theory of things.

I mean knowing the theory is a nice to have but I don't remember last time I used it on my daily job, especially after 10 years of experience.

On the contrary, when I was last looking for a job, I hit a snag in that a company wanted examples of current projects, but I had none because I don't really program outside of work (I have other hobbies).

I wish I could add more to my anecdote, like how I solved this problem, but I avoided it entirely by taking a job offer from a different company the next day.

>I don't really program outside of work (I have other hobbies).

Oh, that's really no problem at all! Not everyone can just be at home in front of a computer all day, both at home and work, coding all day. What kind of a society would that lead to, haha. Anyway thanks for coming in, we'll be in touch.

Yep, also had that problem for years and finally saw something I could build with a reasonable chance of being useful, strictly to serve as an example. Hopefully it makes me the time back someday.

Funnily enough, nobody has asked to see it yet. They all want you to have side projects, but they don't actually want you to drone on about them for an hour. All this time I could have just been saying "Yes, let's talk about the intricacies of accounting for an hour, it'll be great" and passing that part of the interview through sheer aversive stimulus.

Once a potential employer baited me into writing a module that would determine a sentiment from given text and few more things. They liked what I did so they invited me to face 2 face interview. During the interview they had given me a task to integrate my code into their product's API and explain to his developers everything as I went along. I completed the task and their product's API has been enhanced. They thanked me and told me they'll give me a feedback in few days. After a week I got an email from them saying I am great, but I wouldn't be good cultural fit. Out of curiosity I checked their API month or so later and they had my code in production (or whatever left from what I did). Have I got scammed?

Yea, I got tricked into doing something like that once. It is infuriating to see a new feature announced in a software product that's identical to an interview 'homework' assignment you had been given a month prior. "Wow, great solution! However, we've decided to go in a different direction..."

Whether they directly used my solution or gave that problem to several interviewees and picked the implementation they liked best I couldn't know. But I certainly felt used. There's a certain popular piece of software I refuse to use to this day because of my experience interviewing with them (fortunately, they have competition now).

Eventually you get to a point where your gut will tell you whether an 'interview project' is a toy problem or something that might actually be useful.

Bear in mind that if they didn't pay you, and there was no signed contract, they do not own your code. You may not be willing to hire a lawyer, but you could have some fun harassing them anyhow.

That said, do be sure it's your code... pretty much by definition, if you accomplished it during an interview, they could accomplish it in the same or less time themselves freshly and legally... for all you know, they'd already written it, just hadn't deployed it yet, and were using it as an interview question precisely because they had just written it themselves and it was fresh on their minds. Given the prevalence of NIH syndrome, this would even strike me as the most likely explanation unless you have some sort of really solid proof it's your code... generally, even when a programmer should take somebody else's two or three hour work they'd rather do it themselves!

There's some trade-offs here, because there does need to be some sense of how good a developer they are if you're hiring them as a developer: the distribution of skills is so broad at each "level" (junior, mid, senior, principal), and cultures so different you need some way of understanding if they really do have 5 years experience of LanguageX, or 3 months of it repeated 20 times...

What I prefer to do is ask them to show me some example code they think is "good" (ideally their own, but perhaps from an open source project), and some that is "bad" (ditto), and write a paragraph or two on _why_.

Colleagues prefer to ask people to do coding exercises, and that's fine, I won't criticise, I've done it before, but I hate the fact we are asking people to do toy problems that don't represent real World problems.

My favourite process that I don't get to do much now (I have to conform to somebody else's policies these days), is just to sit and talk through a candidate's favourite project or problem.

Why did they choose that problem? What tools did they use? Did they consider alternatives? If it was a personal project did they write tests, and why/why not? If it was something they were paid to do, how did they input vs other people, etc.? Get a sense of them, try and build some empathy for what makes them excited.

Get somebody in a room with a coffee and just listen to what makes them not shut up about some code they worked on. It can't be the be-all and end-all, but it's better than asking for another todo list app.

And then I also like to do an architectural thinking exercise. "Let's pretend we're building [well known piece of software] from scratch. What do we need to build, what do we need to think about?". Go through it, you draw their idea on the whiteboard, not them. Ask which technologies they know about for each piece. Find the edge of their comfort zone.

All more useful to me and my assessment of somebody than asking them why manhole covers are the shape they are, how many windows there are in a nearby city or asking them to build a scaffold generated app that nobody would ever use.

> Why did they choose that problem? What tools did they use? Did they consider alternatives? If it was a personal project did they write tests, and why/why not? If it was something they were paid to do, how did they input vs other people, etc.? Get a sense of them, try and build some empathy for what makes them excited.

> Get somebody in a room with a coffee and just listen to what makes them not shut up about some code they worked on. It can't be the be-all and end-all, but it's better than asking for another todo list app.

> And then I also like to do an architectural thinking exercise. "Let's pretend we're building [well known piece of software] from scratch. What do we need to build, what do we need to think about?". Go through it, you draw their idea on the whiteboard, not them. Ask which technologies they know about for each piece. Find the edge of their comfort zone.

I've seen your interviewing approach in action and it works brilliantly. This is pretty much a step-by-step of the way my last hiring manager interviewed and he never failed to build very strong dev teams.

I can't agree more.

If a company asks cookie-cutter questions and gives out cookie-cutter exercises to complete, then they shouldn't be surprised when they also make a number of bad hires that were just developers that knew how to pass these "tests".

On the other hand, as you say, if you sit down, ask them to talk about their experience, and shut up and listen, you're going to learn really quick if they are a BS artist or actually know what they're doing.

I also really like your idea of working through problems with the interviewer. I imagine it gives the interviewer some pretty important insight into how well the person breaks down a complex task into some semblance of an architecture, as well as how good they are at keeping such an architecture clean and simple.

The only time that sort of thing makes sense to me is for very high level positions, and then at the level of achieving a mutual vision for the direction of that department (or even the whole company for a C level hire).

For lower levels such work should be compensated, the best solution there is to do some actual work, get paid for it and then the company can make up its collective mind if they want to hire the candidate or not.

I was discussing this with a friend just last week. He too believes it is wrong to ask for a home assignment. But I have serious anxiety problems so I find whiteboard coding tests terribly difficult. Same thing with pair programming -- it's fine when you know the other person as colleague, but impossible for me in a "judgy" interview situation.

I'd rather do it at home.

Sure, that makes sense. It's also probably accommodating to people with disabilities as well.

The part I have the major problem with is the average length. Peak was 8 hours, I just chuckled and said thanks but no thanks.

2 hours? Sure. No problem. Even 3 hours is fine.

Agree. The discussion with my friend was actually sparked by the home assignment someone asked him to do. That was easily a 10-hour job. That's way too much. He correctly declined.

So 8 hour onsite interview is ok for you, but 5 hour home work is not? Where is logic in that?

An 8 hour onsite interview costs me 8 hours and it costs the company 8 hours, so they're not likely to bother with it unless they think I'm in with a good enough chance to be worth the investment.

A 5 hour homework assignment costs the company nearly nothing, but it still costs me 5 hours. This means the company has no incentive not to waste my time.

Most companies would be very happy to screen 100 potential hires with 5 hours of homework each.

Very few would be willing to commit internal time to 100 onsite interviews of 8 hours each.

So the latter sends a signal to the potential employee that their time is at least as valuable to the company as the time of the interviewer(s)

No, no it would not be okay. A couple hours over a couple different days, followed by either contract to hire or a short paid sample is how I hire, if and when I do it.

There's no substitute for actually working with someone.

When you spend 5 hours on an assignment alone, stressed because you need a job & your time is short, only to not get a response after several email follow ups, you will see the logic.

I wouldnt do this for the same reason i worked at a gas station over taking an unpaid internship:

If the company isnt willing to make some investment in you, they arnt worth investing your time into.

Where did he say anything about an 8 hr on-site interview?

I've been pondering my thoughts on this, and I'm curious what you think.

Would you prefer Phone Screen +:

A) FANG/Valley style interviews multiple rounds of leetcode algorithm/data structure style questions and some whiteboard design/architecture.

B) Pair Programming. A few rounds of pairing on a problems to see actual code. Maybe some lightweight whiteboard design/architecture.

C) Take home challenge/assignment that you work on/add features to/add tests/talk about during your onsite.

B) for sure. i haven't had that used as an interview technique on me, but i've been on the interviewing end of that, and the feedback from the candidates was great. additionally, we felt it gave a great sense of what it'd be like to work with them, and based on the people we've hired so far using pairing as a component of the interview, it's a better predictor than anything else i've ever seen.

we also ask for a presentation on prior work or a prior project, we do some architecture whiteboarding, and we have talkier personnel type parts. but currently, the hour and change pairing exercise is the only programming exercise, and we were happy enough with the results last summer that we're doing it again for an upcoming round of interviews. our setup was a PM, a tech lead, and a "driver" (the person at the keyboard, which is what i was in the exercise). interviewee is the "navigator" (and by not having to type, we get rid of some of the stage fright for syntax errors and such, and just get to see their thought process since it's a pretty compressed timeframe). best microcosm of real work i've seen. one important thing is to give the same exercise each time (one possible risk in our case was that we gave the candidate 3 possible things to choose from, but settling on what we thought was the best choice was part of the test, and all the candidates ended up passing that part, so we never had to compare WIP from two different coding exercises).

apologies for rambling or repetition, dashing this off before i go to bed. but i'm a big fan of this interview approach, and i think it's probably the best thing we've hit on so far in this field, for positions where that would be a reasonable microcosm of what day-to-day work is like. i think it's much better than making someone code on a whiteboard, or giving them a take home or solo exercise, because you get so much more info about other things besides how well they can bang out a single well spec'ed piece of code.

If you're asking for C with 4.5 hours of work (as per example above) that's fine if you're paying for their time.

Cheaper than a bad hire, stops you missing out on good hires who think "fuck that".

We used to do C for open source stuff that we contributed to at our organization. Seemed like a good comprise because it isn't a completely futile exercise for the person going for the job.

> Cheaper than a bad hire, stops you missing out on good hires who think "fuck that".

Does it? If I have a developer job then I'm paid well and don't really care about the money which I have enough of, I care about the time which I have very little of.

If you're in the top 0.01% of companies to work for (and the applicant knows that) then it's probably a worthwhile time investment, but for the other 99.99% it's a waste.

If you are interviewing with a company, asking you to spend time in exchange for money is reasonable. If you feel you are above that exchange, personally, that is an effective filter for a potential problem employee.

> If you are interviewing with a company, asking you to spend time in exchange for money is reasonable.

These tests are typically a pre-interview step and they don't really work well for much apart from that. So at this point I'm not interviewing with the company and all I know is that they have an interesting job ad. Considering how far from reality job ads can be I'm not going to waste hours based on one.

If C should be paid for, then should A be paid for as well? If not, why not?

In A both the interviewer and the interviewee are giving a similar amount of time. In C, only one is giving time. To compensate, the other should give money.

In C the interviewer is also spending time reviewing the assignment. Maybe not the same amount, but if you also have a handful of your current devs review it and give their feedback, the company time spent on it might not be trivial.

Also there is usually more than one person sitting with the interviewee when they come in, so the company time spent is multiplied at that stage.

100% I prefer B. I'm happy to walk through code with someone, open source preferred, and show them how I'd go about changing it.

The idea of using a whiteboard to do software engineering is like asking a cellist to use writing to play Bach.

I would go for pair programming.

The danger with pair programming is you easily get a partner who sees the activity as a competitive exercise / dick measuring activity* , and some engineers find enjoyment in proving to everyone else (including new hires) their superiority.

*excuse my language, but it is the most accurate description I could come up with.

i'd posit that if an employer can't find a decent pool of current employees to potentially pair program with an interviewee, they have deeper problems than getting that upcoming interview right, and need to correct for some past hiring mistakes ASAP.

i would definitely be looking for employment elsewhere if i my co-workers were so unpleasant that i thought they'd turn every pairing session into a pissing contest (and i say that as someone who generally prefers solo programming as far as immediate enjoyment goes, but who finds that pairing is often useful and/or necessary).

And then you know that employer has issues and to avoid them.

Yep. Exactly. Pairing is a two way street.

That's actually another reason why pair programming is good: The interview is just as much a signal to the candidate as it is to the employer. If the developer he's pair-programming with is a douche, it's a good sign for the candidate to run and not look back.

Idiots have a negative impact on any type of job search. I have been in interviews where I showed a valid solution for a problem but failed because it wasn't exactly the one the interviewer wanted. On the other hand if I did pair programming with somebody and it worked well this would be a strong indicator for a healthy comonay culture.

I'm in this situation myself and I'm quickly reaching my breaking point.

In one instance, I submitted an "exercise", which I spent ~six hours on, one week ago and haven't heard _anything_ back -- not even a confirmation that the submission was successful. I had been on the fence about following up, but fuck that, I'm going to do it right now. Thanks for the nudge. ;)

I think it's because of the blowback on whiteboarding interviews. Damned if you do, damned it you don't.

Last year a applied for an Android position at an up and coming Banking startup in London. Loved the company and what they were building, but their pre face-to-face interview process comprised of probably around 2 days of work if one were to finish it all.

It's almost as if they were trying to get me to build a whole feature for them for free, as it involved a complex UI that I knew they wanted to add into the Android app.

Maybe companies that want that level of work done in their code "tests" could offer a small amount of compensation. I had already been screened on the phone, so they knew I wasn't a time waster.

This has bitten me in the past. When I worked at a certain company, you had to do a full 8 hours of whiteboard coding in order to transfer laterally. So I was permanently stuck in the team that hired me, despite having the best possible performance reviews year after year. All because I can't think very well when I'm anxious and someone is looking over my shoulder judging me. I can solve algorithm problems just fine when I'm left to concentrate.

I'm going through it. My past self from 12 years ago would have cleared every one of those interviews. I don't believe for one second that that former self was a better Engineer. But it's hard to not feel anxious.

I've learned to politely walk away whenever I sense an interview circus starting up.

This is not meant to Be an insult. I was in the same position about 10 years ago. I had been at the same company for nine years.

I found that my skill set wasn't what the market wanted. Sure I had been successful in my projects doing basically the same thing for nine years but I had become an expert beginner (https://daedtech.com/how-developers-stop-learning-rise-of-th...)

I learned my lesson. I took a job after working for 12 years as what for all intents and purposes was a junior developer (making a little bit more because wage stagnation is real). I've had 5 jobs since then and kept learning.

The hiring process has become part of the bargaining process- its job is not to proof your competence (Hey, i can memorize algorithms and T.S. Eliot poems) - but to negotiate your self-worth down so the company can hire you for cheap.

I've spent much of my career as a contractor and even before that I often changed jobs often early in my career since I had a good reputation in the industry I was in so I got approached often. You have to realise that it's a numbers game and it's not you, if a company overlooks you because they are not asking you the right questions then it's their loss. I often land in interviews at companies where their expectations are set by how young graduates see the industry and the role, which usually totally overlooks more experienced, professional and reliable candidates. I also now believe that the first interview I land won't lead to a job, since this has been true so many times. It helps, since I am probably a bit too nervous at my first interview in a while, but I also don't beat myself too hard over it and by the second place I interview at I am more relaxed. Also, don't write off jobs based on the job spec or the recruiter, actually upload your CV to a job site or apply for a lot of jobs advertised by agencies, even if it's not the best fit. It just warms up your job hunt nicely, you get used to talking to people outside of your company, you get used to articulating your strengths, passions and preferences and along the way you may discover a job that is a lot more suitable for you than you could have imagined.

I’m at a startup with about the same number of junior developers (which includes myself) to senior developers and I thought I was going to feel imposter syndrome but I haven’t felt it. I think it’s because we are a good team and ego isn’t there and we are working on really cool problems.

Totally identify with this.

Years back I worked at a company called Red Gate for nearly 10 years. Latterly, old-timers at the company - including myself - used to joke that we'd never get through the present-day tech interview.

The impression was only heightened by a stint in recruitment where I realised, out of the hundreds of software engineer applications I was reviewing every month, >80% were rejected at first sift, and 80% of the rest were rejected at the coding assessment stage. If you actually made it to first interview there was a 40% chance you'd be offered a job, which is not terrible odds compared with where it had been. We'd hire about one out of every hundred applicants [1].

When it came time for me to move on I was, of course, terrified, because I hadn't updated my CV or gone for a job interview in 10 years, and I now knew from an insider's perspective exactly how ruthless the process can be.

[1] I did actually change the hiring process to try to give candidates a more humanised experience[2], but this didn't change the 100:1 ratio.

[2] Part of the motivation here was selfish: I realised that the way we had been doing it was making me short-tempered and miserable, and turning me into a worse human being.

I've felt imposter syndrome badly before, even while I was climbing ranks and getting excellent reviews. Now I manage developers and, while not a cure, the best I can do is constant feedback, and to urge them to find their "superpower". This sounds terrible but hear me out.

Years ago, after a string of programming jobs at, what I didn't know at the time, "boring enterprise" programming jobs, I felt like the top dog alpha supreme of developers. I sought out more pay and bigger challenges, and landed a job at a promising startup with 25 people.

This turned out to be my introduction to hard mode. I was dumped into a team with probably the eight smartest coders in the region, working on problems with huge scale, and immediately felt the fear. I cranked out code as fast as I could, as best I could, and still felt inadequate.

Then, months in, I discovered something that made everything better. My background wasn't in engineering. I went to college for Graphic Design, coding was a hobby from a young age, and a career I fell into. No one else was as interested in the UI/UX of our platform, they were deferring to me because I was constantly pushing code to improve it. This was my "superpower". That and, as it turns out, "boring enterprise" experience with Oracle, J2EE, and scaling also really comes in handy sometimes.

Years later I'm enjoying being a manager but the Imposter Syndrome is creeping back in. The difference this time is that I'm not scared of it, I see it as a challenge. I haven't found what my superpower is in this role. It causes anxiety yes, but also a drive to find a balance and purpose. If it turns out I don't have any special powers in management then maybe it's not the job for me, I'll step back and enjoy what I did previously. If I discover I'm good at it then I'll continue upward.

Everyone can rise to a position where they're incompetent. Imposter Syndrome is your brain being extra cautious. Sometimes it's off the mark, and sometimes it's exactly right. The key is that when you agree with it that you understand that's not a bad thing. Being an extra super great developer is just as useful as being a ground pounding monster of a VP of Development.

> ...urge them to find their "superpower".

Might I suggest "specialty", "focus area", or "expertise". Maybe "competitive advantage" if you're talking to business types.

I like to tell engineers that their job is to be an expert. Find some area that we need more experts in. Read, experiment, troubleshoot, tweak, document, teach, and whatever else you need to do to be the person others rely on when they need an expert in that area.

For what it’s worth Amazon HR specifically chose the term “superpower”.

Not sure it needs to be replaced.

> For what it’s worth Amazon HR specifically chose the term “superpower”.

I am a grizzled, experienced, and sometimes overworked 42 year old engineer. When HR start bandying around terms like "superpower" - like I'm, I don't know, an eight year old or something - I am not going to be impressed.

(I do however agree with the overall thrust of the eight_ender's post about finding your area of speciality. Not that you shouldn't stray outside it, but everyone on my team has strengths and weaknesses. When, for example, I'm looking for advice about SQL Server, I'll unfailingly consult with my colleague Mark, because he spent years working on Red Gate's SQL Monitor so knows SQL Server very well.)

I'd argue that superpower construes an innate ability, potentially something that does not need future nurturing to grow. I think this is bad. A term that suggests you can grow into a niche or area of expertise would be much more encouraging for someone I'd think.

But a lot of super heroes are just regular folks who gain their special abilities (super powers). Granted after being bitten by a radioactive spider (or something of that nature).

Like "coding ninja" or "rockstar" buzzwords? Those don't need to be replaced either?

What if your superpower is something very few people seem to care about, like security or privacy?

Find a better place to work. I'm not sure what environment you're in but security and privacy would be an extremely valuable superpower on my team.

Drop me an email if you’re hiring in the UK (onsite or remote).

My email address is in my profile.

I'm always reminded of a story I read from Orson Welles' daughter. Welles had dinner with her one night (he was mostly absent from her life) and she commented that her husband said she was a good writer but lacked confidence, and this was what was stopping her.

Welles derisively remarked 'Confidence? Forget confidence. If you want to write, just do a lot of it!'

I'm paraphrasing from memory, but the implication was that confidence as a prerequisite was bunk. You only get confident by doing more of it than others and realising that you're the expert now whether you like it or not. That's definitely been my experience. Every time I've been called an expert I wince because I know someone else who's better at it than me, or someone I consider more talented, or whatever. Every performance review I have is an argument with my boss where they have to reassure me I'm actually capable in my job title and among my peers. It's surreal.

I've also come to accept that marketing and pushing yourself out there is fine, as long as you don't get an unrealistic sense of your own worth. You realise there's a wide band of abilities and knowledge and you won't be able to cover them all. And that's fine. There's still value to others in putting yourself out there.

I feel that the problem is comparing yourself to others the "to be the best you must beat them" attitude.

I tend to feel that you should compete with who you were yesterday and get assistance from others i.e. learning from them.

I'm not normally one to comment here but this is just an awesome topic.

I have about 8 years experience in the industry. In the beginner of my career I did feel a bit of the impostor syndrome. Quite frankly, it was because I had this ideal of what a programmer ( or whatever buzz word title) should be. As I got on with my career I slowly realized no-body gives a shit. Its just HR that give those titles.

I also found that I accepted the fact that I will just not know everything. I will never tick all the boxes of what a job may require...

So moving forward to now. I don't care at all for titles. I just want to code and I want to TRY write some good code. I compare myself to nobody else and just talk and learn from everybody. I have learned equally from a juniors as I have from a senior developers.

I continue to chug along with the mindset that I am a crappy developer. Therefore always interested in learning and always open to whatever somebody else has to add. I will never be the smartest programmer or the best programmer. That's ok because I will learn more from the programmers that are.

I'm just enjoying the ride.

"The humble improve" -- Wynton Marsalis :)

totally agree, constantly learning at a decent pace

Frankly, are we overthinking this?

IMHO, 99% of human emotions have reasons of existence. It just makes evolutionary sense (or, if you prefer, it helps us serve the intelligent maker(s) better). Maybe we SHOULD have impostor syndrome, as well as shyness and awkwardness and diffidence and stress and whatnot. Maybe we should EMBRACE them instead of treating them like unwanted baggage of lizards.

One of my memory on this: one night (2 yrs ago?), I woke up with cold sweat, with a terrible dream: I just got paged and I didn't even know where to start debugging. It's horrible time.

You know what happened next? Next few days, I compiled a list of "essential documentations" (plus all the juicy links for debugging). On-call rotation came. I did get page. Different from the dream, I did not forget all of the crappy code (that I had lovingly written). However, the list helped immensely. And whenever my teammates had on-call cold feet, I shared the list. Life rocked. (for a while....)

I was told that we humans freaked ourselves into actions. Deadlines press for action. Pressure elevates the flow and sharpens the focus. Challenges inhibit daydreams and sweeten successes.

So, again, here is my take: why can't we just embrace impostor syndrome? After all, we need some fire on our behind of get our acts together, no?

My first for real full-time software engineering job was for a very small company. I was self-taught and their only software developer was leaving in 3 months, but had mostly checkout out already. The company environment was find but all the software was terrible.

Over that first year there it was basically the Klingon Rite of Ascension. Fighting fires and trying to keep the company afloat. I had no backup/mentors and if I failed then the company was done. I was near tears (or privately at tears) at a few points from frustration and stress. In the end I think this experience made me a better person for it.

First I was forced to learn how to manage stress. This was a big one and one I had never mastered before. Next I need to be able to juggle and prioritize actual company needs, not just what people told me to do. I couldn't spend all my time fixing things when our customers also needed our product to work. I also handled much of the customer support at this point because most of the issues were software related.

In any case, in the end I pulled the company back from its instability. This gave me a good amount of confidence that I am a good engineer. That no matter what gets thrown at me I can fix any of our problems and develop new systems. Even if I need to outsource some of the work to people who are better at particular platforms.

This probably isn't a healthy way to overcome impostor syndrome, but its how I did.

My theory is that "impostor syndrome" is just another facet/manifestation of anxiety.

While many people do have anxiety time to time, for some the degree is high, and it manifests as the impostor syndrome. (worrying if they are good enough, or over anxious about the tasks not being done correctly, feeling not being a good performer, etc, when they are actually performing great).

I'd say, the same CBT techniques that help people deal with anxiety will help with the 'impostor syndrome' as well. (things like gradual exposure, getting used to the new situation, stepping back and accurately assessing the situation (like a third person) etc).

I dunno, I feel like imposter syndrome has a bit more existential roots rather than just a manifestation of anxiety.

I’ve read thru a bunch of the comments (many of which echo my own thoughts on my career), and have a thought:

Why is computer programming taught in universities?

Seriously. There are many people who learned some things but not what they would have wanted to learn when they look back on their life.

I wonder why programming can’t be like welding [1]. There are many different types of welders, from the person welding a spacecraft, to your backyard bbq. And everything in between. Welding stainless steel is totally different from welding aluminum. And welding on alloys is like it’s from a different planet.

The welding field has many certifications for different things. We depend on their work every day. Yet they don’t go to college. And their mistakes can kill people.

Programmers on the other hand, should be able to have cerifications on things like data structures, communication methods, data stores & indexing, UX, etc.

That would be a much better use of people’s time than what we’ve been doing.

[1] https://www.aws.org/certification/page/certified-welder-prog...

(EDIT): yes, I read the article, but my post is more targeted at the HN comments. For what it’s worth, the article didn’t reference overly-worked blue collar fields like welding, hence why I used it as an example.

Programmers are not just welders, or should not be equated to welders. Welders have a blueprint, generally, to work from. There is someone who’s had to design how to form the thing being welded.

Software engineers are constantly asked to design and build the things they work on. It’s not a straightforward process of sticking two things together, based on some predefined blueprint.

We make the blueprints while we code. On top of that, systems as they come together sometimes show problems that need fixes, because of the scale of the system. Then we need to completely redesign for the newer bigger problem.

Using the welding analogue, sometimes you start building a BBQ, and end up making a bicycle or a rocketship.

Good clarification. Programmers are like welders. Architects aren’t. They may be welders or programmers, but they lay out the structure and define how it connects to the world.

Programming is different (way different) than architecture. In my mind, and part of the reason for the post is that we are expecting programmers to be architects. We shouldn’t. It’s a different discipline.

I really agree with your point on certifications. We are similar to welders in my mind as well.

In my country, our software industry holds certifications higher that degrees. Certifications require to be updated and redone every so often. Even though a degree will teach you fundamentals, I do believe you will learn those in the job and with the certification but a certification really is that.... its to certify that you are adequate in a certain technology.

All of my job interviews have required me to show them my abilities with whatever tech they require.

Another point I would like to make is that I work with people with degrees and I have certifications. Their degrees are more than 10 - 20 years for some. How much has technology changed in that time? I have to keep redoing my certification every 2 years (microsoft for example). And to me 2 years is a long time in the software industry.

IMO the fix is for our industry as a whole to stop reinventing the wheel with yet-another-incompatible-alternative.

My personal imposter syndrome feelings are almost always related to either a) not knowing the "replacement" to an existing technology I am already familiar with (in almost all cases it's two steps forward one step back anyway), or b) not using a technology for a somewhat extended period of time, then coming back to it and realising that the landscape and ecosystem has completely shifted from underneath me.

The latter has hit me most hard lately in iOS development with the move to Swift (and then v2, v3), deprecation of NS*, autolayouts, APNS' http2 etc etc, and in JavaScript development.

We have far too many technologies that have established niches that all accomplish largely the same goals, but aren't transferrable. These days, boosting the toolchain for these technologies is a big feature too, which increases the differences between ecosystems. They require sometimes hundreds of hours of learning to become competent in, even for an expert in another similar technology.

It's some sort of crazy arms race that we don't seem to want to stop...

Frontend work is brutal. It's as fickle as the fashion industry, only it doesn't have quarterly updates but roughly every second Monday.

Yes. Make something hard. Impostor syndrome comes from feeling like you can't do the things people expect you to be able to do, so if you can point to concrete evidence that you're capable of doing something difficult (whether on a team at work or in a personal project you did 100% yourself) you'll greatly reduce any feelings of impostor syndrome you may have.

But what if you struggle with it (even if you eventually finish)? What if you look back and think that code could be much better? There are still so many things that can creep into your mind making you think you aren't as good as you might actually be. Sure it may reduce a little, but it is a temporary relief. At least in my experience.

After 20 years as a programmer with various employers/clients, I noticed the impostor syndrome when I was alone on projects (or in small teams). But when I was working with big teams in traditional fields like bank or retail, I felt something more akin to the Dunning-Kruger effect...

When alone, I compare myself to people in the videos I watch, People like Hickey, Carmack, Crockford, etc. I can't handle a candle to them! But when in BigCorp, intertia is massive, people souls have long been sucked out, and you feel shackled. This make you believe that you can accomplish way more than the median person (which is of course probably wrong).

This is a great explanation. I've long thought about these two conflicting effects, and I think as you pointed out it has something to do with what nowadays gets described as 'culture'. Dunning-Kruger seems to dominate in the 'everyone gets a trophy' culture in which I was raised; whereas in cultures that (at least in the way they speak about themselves) pride themselves on meritocracy, leaderboards, stack ranking, and the like, the impostor syndrome probably takes over.

Imposter syndrome is caused by improperly comparing ones own abilities to others.

The better one is at modeling another person the more accurate they will compare themselves to others, and from that the less severe their imposter syndrome will be. This is a learned skill.

>Is there a fix for impostor syndrome?

To outright nuke imposter syndrome permanently first some new vocabulary that will explain how to do this:

In Pali there is the word māna, which is sometimes called conceit, but is definitely not a standard use for the word conceit, and is very much not English. A quote to explain the concept behind the word māna:

"There is conceit or pride when we consider ourselves important. Because of conceit we may compare ourselves with others. There can be conceit when we think ourselves better, equal or less than someone else. We may believe that there can be conceit only when we think ourselves better than someone else, but this is not so. There can be a kind of upholding of ourselves, of making ourselves important, while we compare ourselves with someone else, no matter in what way, and that is conceit." source: https://en.wikipedia.org/wiki/M%C4%81na

These comparison cause many kinds of anxiety, including imposter syndrome. The solution to not create māna, but to instead create a kind of comparison that I think of as an "Apples and Oranges" comparison. It is seeing the differences in everything, in a way that has all of the benefits of a normal comparison, but one that does not construct a better and a worse. Everything is different. Everyone has their own advantages and disadvantages. With no better and worse, especially when this better or worse is attached to ones identity, there will be no more psychological stress in this way.

awesome post. Thank you.

Being prepared. This is what I have found to be the most helpful. I'm an SDM at a big tech company, and when I was hired I thought they must have made a mistake. I felt like an imposter in meetings and managing my team for a long time. I was able to relieve the anxiety by focusing on always being the most prepared person in the room (ie. read everything before hand, try to anticipate questions and answers, speak with confidence [fake it 'til you make it]). Eventually this just became second nature and the thing I was doing didn't feel like I was an imposter anymore. I just recently changed roles to a new org and I feel the same anxiety creeping back in, so this a pep talk for myself too. The thing to remember is you got where you are for some reason, try to think about the positive attributes you know you have, and just keep practicing the rest. Good luck!

> This is perhaps why women may be more likely to feel like impostors, because they typically do not see themselves reflected and reinforced—in some sense, validated—in the same way that men do.

For some reason, I was irked by this comment which seems to be completely unsubstantiated.

The author says you can feel like an imposter when you're a minority, whether gender or race. I think there's much evidence out there about women that are not being validated in the tech and startup space the same way as men... Just look at female founder statistics.

I just find it best to keep those kinds of complaints extremely specific. Maybe the founder validation statistics you're talking about have changed since the last study was done. Imagine we'd fixed all race and sex discrimination problems (bear with me for a moment). By leaving unfounded statements like the above littered across the internet, we'd be ensuring that future generations of minorities also feel a vague sense of inferiority. This causes the exact kind of uncertainty the author is concerned about.

I interpreted that you could feel imposter syndrome simply from the fact that you don't look like you belong and thus minorities have a more difficult time because they can't hide because their difference is literally visible.

When it comes to women or minorities in tech or female founders, if the statistics aren't good enough I believe it's easily visible. Even Google has an atrocious amount of Hispanic or African American engineers. If you work in tech look around your office or at the next tech conference. The lack of visibility is a big problem because it gives the subtle message that you don't belong.

Future generations of minorities won't feel a vague sense of inferiority from reading comments like these, they will have the benefit of seeing who was right or wrong. In fact they might be more amazed by the amount of ignorance...

People ride to the level of their expectations. If you expect them to feel isolated and alone because others "don't look like them", it's more likely they will. If you expect them to not work about it and do good work, they're more likely to do that. And the end result is more diversity, just like when East Asian and Indian engineers started working in tech, did good work, and continued to be gainfully employed.

I'm not denying there are systemic problems that affect different ethnic groups differently, but I'm very confident that moaning about visible diversity in tech is not the best way to fix it.

Subtly sexist comments mixed in with otherwise compelling information tend to be irksome.

Stop treating being an impostor as something bad. See yourself as con artist who succeeds in senior developer, architect and management jobs without the required skills.

Exactly. You might end up giving yourself a harder training than anyone around you. And there you go.

My current job is mainly kata for me, because most code reading, tweaking and engineering I do is well within my abilities. I can both choose my challenges and deliver, which is just perfect. I'll still mention that it took me almost a decade to get here, intensively tinkering on 1980ies computers as well as a pretty broad range of "modern" programming languages. All while working outside IT, part time if at all.

Impostor syndrome is bad because you fear being fired for not being able to do your job, or being dropped as a speaker because you're not worth listening to, or your career stalling because you can't compete with other people who seem to be better than you.

Suggesting that sufferers accept that might actually be true is not helpful.

But even people who are good at their job can be fired for not being (perceived as) able to do their job, or for any number of other reasons. Imposter Syndrome must be bad for reasons other than "I fear I might get fired".

> Suggesting that sufferers accept that might actually be true is not helpful.

On what are you basing that? It's an interesting insight. Thinking of the world as one big pool of impostors might be equally relieving.

Thinking of the world as one big pool of impostors might be equally relieving.

He said "See yourself as con artist...", not "See everyone as con artist..". Believing that most people feel this way may well be helpful. Believing that you're not good at what you do but you've successfully faked it definitely isn't.

What if you feel like an imposter as a con artist?

...get a real job. Both you as a con artist and you... as... wait for it... the person pretending to be an imposter you are.

Become a cheater.

I have always had impostor syndrome, but also a somewhat revelatory idea that most people are just human beings full of shit too. Let me explain.

In college, I revered my professors - always thought of them on a higher plane, so much smarter than everybody. Same with doctors. Then I go to grad school, and realize that my fellow classmates (who have become professors, or the ones in MD/PhD programs doctors/surgeons), are smart indeed - but not on some super-human super-intelligent level who's batting way above my level like I felt in undergrad. It's like all of a sudden I realized that people in those positions are humans like me and aren't on some higher plane. I mean, maybe there are a few people who truly are. But most of the people I revered are regular joes (who most definitely work hard). Similar to looking up to adults when you're a kid, then realizing they're human beings with flaws once you grow up.

On the flip side, I constantly feel like I don't know what I'm doing compared to other people. Doesn't matter what level I reach in my career, it's all the same - that data scientist over there truly knows his stuff, I'm just faking it. That manager over there truly knows his stuff, I'm just faking it. And you know what? Maybe there's some truth to it. But the truth I've found is that if that's the case, there's probably an exceeding number of people who are 'faking it' too, so I'm in good company at least.

I also tend to conflate 'faking it' with confidence. In grad school, all of my published papers would have so many caveats - "the results suggest that maybe possibly potentially .... " or "the results suggest that ____, with the caveat" or "we possibly found evidence..." My advisor always had to change my wording around to be at least a little more definitive because journals would pick up on the wishy-washy statements. Now in the corporate world, people expect definitive statements because putting 'possibly, maybe' in every sentence doesn't exude confidence that higher ups or customers want. So in a way when I say something in a confident manner when I'm only 80% to 90% confident, I feel like I'm faking it.

> I asked some of my male colleagues whether they also experience impostor syndrome and got a resounding yes. In researching the topic for this column, I read an article that suggested even Albert Einstein felt this way at times.


It's hard to compare oneself objectively with others. Not that it's ever such a great idea. For others, you only know what they accomplish, plus whatever they're willing to share about the process. But for oneself, everything is laid bare. All the uncertainty, false starts, mistakes, dead ends, and so on.

I've thought about it in the converse. Imagine it's just after Einstein releases his paper explaining the theory of special relativity. Given what we know now about it, and it's ramifications, if Einstein truly understood this idea at anything close to this level we do now, how difficult must it have been to explain the bedrock concepts to those first few people that read it. Simply because it was such a radical idea, whether true or not, it must have been a pretty tall order to get his peers on board, as it changed so much about the current understanding of the universe.

I also think in this frame of mind for people like Copernicus, and how controversial his mathematical formulas and expertise must have been, simply because of the magnitude of the sea change that ensued from confirming the ideas.

As I recall, his intuitive insights about special relativity were the easy part. But he had to learn the mathematics required to coherently explain them. There must have been many opportunities for confusion and self doubt.

And that's my point. Just imagine how many times he must have heard some variation on the phrase "Newton has been right this whole time. His laws and ideas are too big to fail"

The accumulation of frustration of not being able to elucidate what is obvious to your inner thoughts, to the satisfaction of your peers, precipitates impostor syndrome.

I think it's hard to imagine how smart some people can be. Einstein would hang out with people a lot more talented than him in mathematics (Poincare, Von Neumann, Goedel) ... so it's easy to see how he would be humbled.

During my PhD, I thought I was the dumbest one in the group. Some of the mathematical feats of my colleagues would take me weeks to process. But they would grok it in minutes. Eventually you have to take a holistic view: There are the things you are capable of, there are things you might be able to do but are not interested in (For me, spending 8h/day reading theorem, lema, proof statements), things you will never achieve, ... and combinations of skills that only you have and those people don't. Your path to satisfaction and happiness is often not becoming those "expert" people. But it's still great to be challenged and stimulated by them.

What's the opposite? I feel like I'm smarter than everybody else here (big 5 tech). Including Principal engineers, CEOs and VPs. I'll talk to some random engineer who might impress me once in a while but for the most part, there's a lot of smart people but there's a lot of dumb people. I consider myself near the top.

I know this might feel like /r/iamverysmart but I'm self aware enough to know that what I feel is not necessarily the truth. How do I combat this feeling of superiority?

File a non-BS patent for something you invent and see it awarded. Found a $100m corporation. Win a nobel prize. Become a household name author.

Smart is a spectrum and ego is the enemy if your goal is true greatness. Otherwise you’re just going to be stuck feeling smug that you’re in the 1% when there is this whole other level you could be operating in if you stopped feeling so good about yourself.

The opposite would be the Dunning-Kruger effect: https://rationalwiki.org/wiki/Dunning-Kruger_effect

There's also the (closely related) illusory superiority effect (i.e. "everyone's an above average driver"): https://en.wikipedia.org/wiki/Illusory_superiority

Consulting disabused me of this mindset pretty quickly. As I took on tasks outside my expertise (e.g. project management, contract negotiation, marketing, devops, etc.), I had direct proof that said expertise was far more limited than I'd realized. I might be good at engineering (and even there, I've gained more of an appreciation for where my skillset starts and ends), but there's a lot I don't know.

Aside from that: talk to people outside your field, and take the time to deeply listen. Nearly everyone I talk to, whether they're a field biologist, a welder, a sommelier, a lawyer, or an art history expert, takes something for granted that I have no idea about. In many cases, I've been surprised by how deep and interesting knowledge outside my field can be, and I've been forced to re-evaluate my earlier belief that engineers are somehow superior to other walks of human life.

For instance: did you know that humans exhibit marked sex differences in olfactory perception? [1] I learned this from a scientifically-minded wine expert on the bus from Montréal to Toronto. That's the kind of thing I'm talking about: people know things you can't imagine.

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4221136/

Prove it and erase the doubt once and for all.

Too many people try not to feel superior but secretly feel deep down if they tried to prove it they would come out superior, and so they keep a subconscious sense of superiority under a veil of humility.

You will either discover you were not as great as you thought or you actually are the best. There’s no other way.

Exactly. We tend to judge other people by their actions, but we judge ourselves by our intentions.

Similarly, we tend to judge others' intelligence by their achievements, but we judge our own by what we could do.

"Smart" isn't a single-dimensional space where you're either smarter or dumber than someone else. You're probably a lot smarter about your domain than anyone else, including top brass. The trick is that those other people operate in different domains in which "smart" looks a bit different.

The antidote is humility. Genuinely and in good faith assume that other people can teach you something. Get out of the habit of asking yes/no questions where you define the premise (except transactional interactions), ask how, what etc. You'll quickly meet people who are smart in domains you barely knew existed.

Have you ever taken a personality test, like the Myers-Briggs type indicator? I'm not saying that stuff is 100% true but it gave me extreme insight about myself. And being able to read about me on paper has helped me change a lot of things that I didn't like about myself. There are 101 places you can take the test but I know 16personalities is free and they haven't spammed me.

Deliver useful stuff. What big applications have you really delivered that were loved by users and still work well many years later? Until you've done that you haven't proved you're good. When you try you'll find out its more difficult than you think. If you achieve that you could really be better than the people you work with.

Find harder and harder problems, and keep doing that until the problems are tougher than you. Failing is okay. It'll give you some perspective, and you'll meet some people at least as smart as you on the way.

Then wait until you have kids, and you'll realize how out classed you can be :-)

> How do I combat this feeling of superiority?

Whether you think it’s the truth or not, nobody cares. People care about results. If you’re not producing superior results relative to your peers, then you’re not superior to anything. This should go without saying.

Are you actually more productive than these people? Because otherwise being smarter than them isn't worth that much.

I get it from time to time, most recently I got a massive chunk of it when I was hired as an external examiner at my old university.

Whenever I do, I remind myself of a line from my first managing mentor that’s stuck with me over the years. He was(is?) this immensely talented guy who worked 70 hours a week, not because he had to but because he loved to, today he runs two companies he started on his own since then. Anyway, I was a fresh manager and had been mentored for about two months and I couldn’t figure out why he was always so confident in any part of the professional life. Having him as a mentor I’d seen behind the veil, he had the same amounts of uncertainty and doubt as the rest of us. So I asked him how he was so confident in his decision making and natural feeling of belonging. He told me “fake it till you make it”.

I may have misunderstood what he meant by it. But I took the combination of what he said and his own uncertainty to heart, and now I remind myself that everyone feels like imposters, so you just pretend to belong with the other imposters and eventually you’ll actually feel like you belong.

It’s worked wonders for me at least, but it obviously only works when you have the required credentials. If you don’t you need to own up to your mistake and get out.

I have the feeling 90% of people who think they have imposter syndrome are just bad at what they do.

Just because you work with people who are even wors doesn't make you good.

And just because people who are worse than you act like they not doesn't make you better either.

Sounds like you're pretty arrogant.

But you do have a point that by definition 50% of developers are below average. Nearly all developers are below average in at least some part of their professional skills - but that is just normal.

For example doctors are the same, but a below average doctor is still qualified and useful. Below average developers ie (half of us) are still useful, doesn't make you an impostor.

Oh no.

For years I had the impression that I'm an impostor.

One day this changed, I found that most people just talk big but are not better than me, but I'm still average, they are just below average.

While yes, I'm still quite useful, I could be a better version of myself.

I think imposter syndrome can come from 'fronting', trying to always appear perfect, always have all the answers, etc. which leads to ever-increasing fear that people will 'find you out'.

Be humble and honest. Don't present yourself as "the expert". Ask questions. Listen to people. Say "I don't know" if you don't know. You'll be surprised how often the response is "me neither!"

> Don't present yourself as "the expert"

This is a requirement for some jobs, like being a consultant :)

The lack of the imposter syndrome for me as a programmer is a signal that I start to plateau. Therefore I kind of search to attain it by either negotiate a higher pay, or start working with a new technology, or switch jobs. I lived with this syndrome for the most part of my 12 years of professional programming.

I work in management and I treat impostor syndrome as a signal, like you.

I have recognized that I feel impostor syndrome when I am surrounded by people who are great at what they do. Great coders, greatminds and great leaders. How could I possibly compete with these people, my subconscious says.

Well, this is how I grow. Steel sharpens steel. I have learned to accept that I am good at what I do, even when others are great at what they do. If I feel impostor syndrom, it means I am surrounded by people who, given management is good, will make everyone in the team grow and prosper. I will connect with the people I can learn the most from.

When I no longer feels impostor syndrome it is because I am surrounded by people who all treat me as their mentor or senior - and it is time to move on.

The truth is you are an imposter. No one fulfills the perfect ideal of whatever role they are playing (employee, manager, parent, etc). Recognize and accept that you're an imposter and continually reach for the ideal.

There are various stresses (will I lose my job? etc) that are reasonable and tangential to this idea of "imposter syndrome". The particular trick to avoiding stress _directly related_ to this imposter syndrome is to dismiss it as the scientifically unsound and useless idea that it is: that is to say, it shouldn't exist: or put another way, your self-worth doesn't _have_ to be derived from your capability, nor should it. Decouple your self-worth from your professional ability; this may be hard in general or in our particular culture/zeitgeist, but I think it's a losing battle any other way.

I'm not sure that means you are an imposter. If your coworkers are equally unfit for the job as defined by whatever high bar you've set for yourself, then you belong there just as much as they do and you likely have a higher bar for yourself than your employer has for hiring people. I agree that everyone should strive to be the best that they can be but I think imposter syndrome is a delusion some people have where they feel that they know less than everyone around them and they worry their colleagues will find them out, when in reality they are quite qualified. It doesn't automatically follow that if you recognize that you haven't met your own standard that you would also believe you haven't met your employers standards. I regularly feel I haven't done a good enough job by my own standard but realize it is good enough for the goals my employer has with regard to the work I'm doing.

I have a four year degree in Math/Comp Sci.

Most everyone else in my group have PhD's, and I don't feel I have impostor syndrome.

I also have never been afraid of asking 'stupid questions' in meetings etc.

If they hired me, they must have done so for a reason (PhD's are not good a writing production code, their words).

My advice for people who might have impostor syndrome, just put it out of your mind, do a good job, and look for good feedback.

People with PhD's or Olympic gold medals or famous rock stars are people just like you and me. They have some skills that are very developed, but others skills may be shockingly lacking.

We are all a blend of abilities, and we are all on a journey. Where you are on your path right now is exactly where you need to be, just as they are exactly where they need to be.

It seems to be a very 'millennial' syndrome. Were people complaining of imposter syndrome 20 or 30 years ago? I wonder if it's because people born after, say 1990, didn't have to 'hack' on computers much growing up, and hence lack some of the environmental osmosis comfort level some older folks have. Or could it be that programming has proliferated enough as a profession, and programmers generally lack the social skills needed to mentor younger generations, that more people seem to be experiencing this syndrome these days?

I wouldn't call it "millennial" rather than "modern", and not just because I despise the American generation names.

I believe impostor syndrome requires both a bright mind, a successful career in a mental labor job (academia, engineering, ...), and exposure to minds that seem brighter. I doubt impostor syndrome is much of a problem in physical labor jobs, as physical labor is easily observed, both by others and by yourself (you can't hide failure in installing a tire on a rim).

Higher education, autodidactism through the internet and mental labor jobs are much more wide-spread than they were a generation or two ago. Here in Denmark, education inflation has basically made Ph.D.'s the norm.

The extremely filtered connectivity of social networks only showing each others "best side" making them appear perfect, as well as a vast amount of information available on the internet from brilliant scholars making your knowledge seem insignificant, are great catalysts for an inferiority complex. Combine that with an accomplished career, and you have impostor syndrome.

I think the internet has increased the visibility of the experts in our profession. Before, you compared yourself to everyone you ever worked with and ignored the outliers like Knuth.

Now we are constantly bombarded by so many blogs/examples of extremely talented individuals that it’s easier to think you’re way below “average”.

The article cites Wikipedia's "Impostor Syndrome" article:

> The term was coined in 1978 by clinical psychologists Pauline R. Clance and Suzanne A. Imes.

So yes, I imagine people were complaining of impostor syndrome 20 or 30 (or 40) years ago.

I often have conversations with some of my juniors about imposter syndrome. It's interesting how each of them think of it differently and apply it to themselves differently as compared to their peers.

Some don't seem to have it at all and I've been unable to grasp why one is different than the other. Sometimes it seems connected to self-confidence and sometimes it is not.

Personally, these days I'm feeling it's connected to their seniors and how they interact with them. Or at least how that interaction goes. It's something that I've been pondering over but haven't gotten far enough along to have a theory worthy over a blog post or anything.

As for me, a senior with a dozen plus years experience; I don't feel I've really suffered from imposter syndrome. I've always felt comfortable in what I know and the role I play in each of the positions I've had over the years. I've always been honest with myself and others in what I know and don't know. I suppose that helps in that aspect.

The only times I can think of that I felt the pains of imposter syndrome over the years is during interviews. Mostly trying to equate what I know and my experience with the expectations of people I don't know in an environment I'm not familiar with.

Makes sense to me. It's a vicious cycle: feel like you're an imposter, get depressed and anxious, be less effective at your job, feel like you're an imposter.

And depression can cause you to overweight negative memories and discount or ignore positive memories, which seems like it would exacerbate anxiety and imposter syndrome.

> Impostor syndrome is associated with overwork, with an overly keen focus on pleasing others, and with an almost desperate drive to constantly achieve more.

We know the wages have stagnated, we know there are fewer and fewer jobs, and stiffer competition.

Sane people as a result, overwork, try to achieve more, and try to please superiors to get head.

It's just survival instincts. When you're on a sinking Titanic, you're pretty stressed to get to be one of the people on one of the boats!

The alternative is to get together with your buddies, face your fate and play some music together, while everyone else is scrambling.

Since playing music (playing computer games in your mom's basement) is frowned upon, most people choose the 'try to make it' route. That route is stressful - especially when you KNOW in your heart, you shouldn't be on that boat. Knowing you shouldn't be on the boat, and yet trying to get on it, feels shitty. Yes, yes it does.

Another way to look at it is, are we really on a sinking Titanic? Or are some fuckers hoarding money at our expense making it so? I don't know that people are intelligent enough to figure that one out, so it goes.

From my experience, if you become too entangled in abstract tasks, this impostor feelings starts to inevitably creep in, as you don’t have an actual measure of success for what you are doing.

So my take is that once you start feeling that, you should find a manual hobby, something that you produce with your hands, by your effort, even if simple things. In my case, I sew. Since I do manual work, crafting solutions for mundane things, I see the results of what I’m doing, I have a direct contact between doing something and achieving something — again, even if just a mundane thing.

This takes me out of my abstract world, where I tend to get lost, and from measuring myself by the standards of others in tasks that are not quantifiable in terms of real competence. By doing manual work, I take a much needed break from the my intelectual work and demands. For a bit I feel more like a normal person, competent enough to do this particular manual job.

This article was very refreshing for me because each bullet point was like yes this is totally how I feel. Even reading about this issue gives me a lot of anxiety.

I built a 6 figure business on my own from $1500, imported my first goods from overseas, been validated with mentorship from 7 and 8 figure business owners, I'm now a board member of an org in my industry, and I still have extreme amounts of imposter syndrome.

Even when I realized that the reason I'm not as successful as some of my peers is because they started with a bigger investment than $1500 or that they built their success over years... I can't help but be anxious over what I've achieved in comparison to theirs when I end up thinking about it. I try not to because it's not productive.

I wish there were more resources to overcome imposter syndrome as a founder or business owner.

I've been trying to coach my wife out of this for years and years. She's very smart, dedicated, hard working, talented, analytical and you name it -- she's a fantastic person...

And she has perma-doubts. She recently refused to apply to a directorship position in her job, because she didn't think she could do it.... even tho we both agreed that she'd do a better job than the last 3 in that same position... And still, she doubts... I keep repeating her that the only thing preventing her from doing anything is herself and that I have zero doubt she'd grow to be excellent at that job as well...

Oh well, it'll take time :-)

The fix for imposter syndrome is to stop comparing one's self to others.

The definition of an imposter is: "a person who pretends to be someone else in order to deceive others, especially for fraudulent gain."

So, if you feel you're an imposter, it's only because you're comparing yourself to others who you feel are either doing it better than you in their respective roles, or perhaps worse still you fear they could do your job better than you.

In my experience, as a man with a semi successful software business and no formal education in the industry - the only thing that has kept me from falling under the imposter syndrome bus is just working harder and ignoring others around me.

I love this snippet I saved from a Reddit post some years ago, I come back to it from time to time when I've demotivated myself - typically by comparing myself to others more "successful" than me:


You do not make progress in climbing a "mountain" (neither real or ethereal) by standing around gawking and whining about how much further or faster others are climbing it.

You make progress climbing by putting one foot in front of the other, minute after minute, hour after hour, day after day.

You gauge your progress ONLY and SOLELY on how much further up that mountain you are NOW than you were a minute, hour or day ago.

As you continue to climb, you use the distance you have recently come to motivate yourself to climb further and faster than YOU have done in the past.

You only need worry about others when they are directly in your way and preventing you from making forward progress -- and even then it is best to simply sidestep them and continue on your journey up.

When you reach some higher plateau, if you then want to take a breather and greet the fellow climbers that have reached a similar plateau, that is fine, but it does not matter if they have reached it faster or slower, before or even after you -- the journey further upward for everyone is in the future, not the past.


P.S. I killed all my social media except for Linked In - that helped a bunch too.

Weird, this seems so common. I would guess that most of the people who feel like frauds, actually are to some extent.

The impostor syndrome concept is so popular because people want to believe it. It provides a simple black-and-white answer: I deserve my success, the unpleasant emotions in the back of my head are just the result of impostor syndrome, totally normal. But in fact, success is usually the result of both ability and luck. Successful people have above-average ability and luck. So from the point of view of a typical successful person, most equally-able peers are less successful.

Becoming a confident, capable solo developer. If you're able to make stuff by yourself at decent speed and with good features, you can generally be confident in your own skills based off results.

This doesn't account for interpersonal skills or skills for working in a team, but if your imposter syndrome is about programming skills, just program by yourself.

BUT, important to add is that you should be focused on improving, learning, and experimenting. If you're just staying in your comfort zone you won't be doing much more than busybody work.

In my experience - a large minority of developers, especially among young, inexperienced, perhaps insecure developers, act like condescending know-it-all's their colleagues. I think this is borne out of a fear of being incompetent in comparison to other people who are also in the field.

For those who are not this way, or try not to be this way, I believe the festering of gross dog-eat-you cultures in regards to hire-ability can also fester imposter syndrome in many of us younger devs.

Gawd I get sick of hearing about impostor syndrome. Some people who claim to have it really are impostors and use the syndrome to somehow indicate they aren't.

No one knows everything. But do you know enough to get done what you need to in an economically feasible timeframe relative to your peers? Or do you perhaps do even better than they do? Not an impostor. If not then maybe you are an impostor and should work on that. It's not a fixed state.

The worst thing about impostor syndrome for me is knowing whether you're actually suffering from it, or whether you're actually an impostor.

It really is a vicious cycle.

What i think helps, is not even asking if you are an impostor because it can lead doubting yourself. We focus on doing our best work, then it will be to others to determine whether we are good or not.

I took the nuclear option and switched careers (there were other reasons too, but it was one of the big ones) from academia to software engineering. Since then I've stayed in a job no longer than 3 years and the constant need to learn may have killed it off, which seems paradoxical.

Then again, I'm also honest to a fault since the switch. Nobody can think I'm an imposter if it's obvious when I don't know stuff!

I feel it and it works to my advantage. My workplace is very good about reminding everyone that imposter syndrome is normal. Knowing that, I use it to motivate me to try harder and get better.

I guess part of this is coupling the inevitable feeling of "I don't belong" with the idea that "I can belong". Knowing it's normal keeps me from being truly worried about losing my job (for the most part).

I don’t think I’ve ever had a job I was qualified for, and to me that’s totally ok. My personal view is that if you can land a job in a week of interviewing, and/or you feel very comfortable/qualified to do your job, then you are probably “punching way below your weight class” and need to reach higher. If you’re not faking your way through at least something then you’re not learning or growing.

This is what helped me: on a level, everyone in every industry is bullshitting one way or another because the future is unwritten. Who knows what may happen tomorrow, you can only deal with it in the best way you can.

Just try and do the best job possible you can at the time. There will always be people who know more but everything is a learning process, you’ll get to that level eventually.

Are people who are predisposed to imposter syndrome worse hires because this becomes a self fulfilling prophecy? Are there even indicators?

> Are people who are predisposed to imposter syndrome worse hires because this becomes a self fulfilling prophecy?

That's an easy one: nope! All the best people I've worked with have struggled with not feeling good enough while simultaneously doing stand-out work.

I think that depends on what you mean by "worse hire." Reading the article, it seems that those inflicted by more severe (or studied) cases of imposter syndrome are more likely to work harder in order to combat their own feelings of 'incompetence' or 'inability. If someone puts in extra effort and hours, is that a "worse hire"?

Personally, I'm not stranger to this feeling. I've recently been hired into a new (well-renowned) tech company and wonder how that happened / whether or not this company made a mistake hiring me. The only way I can reconcile this feeling is to try and do my best at my new position, within reason, while trying to maintain a healthy work-life-balance that allows me to avoid the biggest detrimental effects mentioned by the article.

I don't think this is a self-fulfilling prophecy per se. I think the only danger that can result from an 'imposter-syndrome hire' is that they may burn themselves out easily if they don't find their footing in a new ground / new position and leave sooner than a "normal" employee.

"The best lack all conviction, while the worst Are full of passionate intensity." -- 1920 W. B. Yeats

Somewhat true of our industry.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact