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.
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.
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.
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).
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.
Hard part is implementing the test to be (almost) purely problem solving and agnostic of language.
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.)
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.
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.
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've found knowledge of the fundamentals (compilers, operating systems, algorithms, etc.) useful in interviews and arguments. That's about it.
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.
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.
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.
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 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.
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.
I think stagnating is the danger, not learning the "wrong" things. The latter is an important part of gaining perspective.
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.
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.
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.
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?
But I fully agree with what you've said and I will keep it in mind moving forward.
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.
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!
I didn't get that at all when I read that.
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" :)
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.
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).
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.
My statement romances the mentor I'd had found. Sheepishly my ideal mentor is me with 14 years of software experience.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
> 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.
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.
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.
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.
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. :)
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...
I've even offered to show them my current projects in lieu of work samples, and no go. Baffling.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
> 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.
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.
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'd rather do it at home.
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.
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.
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)
There's no substitute for actually working with someone.
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.
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.
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.
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.
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.
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.
The idea of using a whiteboard to do software engineering is like asking a cellist to use writing to play Bach.
*excuse my language, but it is the most accurate description I could come up with.
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).
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. ;)
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.
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.
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 .
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.
 I did actually change the hiring process to try to give candidates a more humanised experience, but this didn't change the 100:1 ratio.
 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.
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.
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.
Not sure it needs to be replaced.
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.)
My email address is in my profile.
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 tend to feel that you should compete with who you were yesterday and get assistance from others i.e. learning from them.
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.
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?
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.
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).
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 . 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.
(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.
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.
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.
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.
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.
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...
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).
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.
For some reason, I was irked by this comment which seems to be completely unsubstantiated.
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...
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.
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.
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.
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.
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.
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 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.
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.
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.
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?
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.
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?  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.
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.
Similarly, we tend to judge others' intelligence by their achievements, but we judge our own by what we could do.
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.
Then wait until you have kids, and you'll realize how out classed you can be :-)
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.
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.
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.
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.
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.
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!"
This is a requirement for some jobs, like being a consultant :)
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
It really is a vicious cycle.
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 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).
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.
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.
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.
Somewhat true of our industry.