top | item 9269221

Ask HN: I am the dumbest person in the room. What should I do?

196 points| byrain | 11 years ago

I see a lot of articles and posts about hiring the right person, dealing with underachievers, etc, but still did not see one with underachiever's perspective.

I was hired 4 months ago to work for a quite desirable software company. On my interview and first days I was quite confident and a bit cocky I must admit. I thought I knew more that I actually did, but at the same time was aware that I was lacking specific experience needed for that particular job, but was very willing to work hard to develop myself, and actually saw that as a desirable challenge! I thought that mentoring and time was given to ramp up and learn the missing pieces. Non of that happened.

My teammates have tons of experience, and there is a clear “every man for himself” mentality. Most of them have big egos and really rotten and bitter attitudes. They are stars, they know it, and treat people who are not at the same level like idiots (like idiot me).

As a result, I stress through the work days trying to decode what my co-workers are thinking, and trying not to say the wrong words (which keeps me silent for most of the meetings, work days and then bleeds out into my personal life). By night I have a quick dinner and bury myself in intense study. Honestly, its horrible. My self esteem plunged, I am ashamed to communicate with talk with other people. It is wearing me out. I question myself several times per day if this is really worth it.

Questions:

1. I feel I handled this wrongly, and started with too much confidence. If I am the least knowledgeable person, and a co-worker ignores, despises and almost makes fun of me for your lack of experience, how should I act in order to maintain my dignity but also be humble enough to acknowledge the co-worker's knowledge?

2. Is it normal to be hired as a junior and just being thrown to the lions, with no help or time to ramp up?

3. Do all star/ninja/rock-star software developers have rotten attitudes?

183 comments

order
[+] sbjustin|11 years ago|reply
I'd go work somewhere else and here is why:

You can learn anywhere, why work with a bunch of people who are not going to build you up and encourage you to improve yourself and by extension, the team/project. What are you really getting from these guys if it's "every man for himself" anyways?

1. Forget that, be confident. Just focus on improving yourself and on things that can make you better at your job.

2. No. I expect my junior guys to learn on their own but am always willing to step in and provide guidance.

3. There can be some rough people in IT. If they're rotten they are probably less confident than you think they are, probably more so than you, but don't want you to realize it.

Lastly, I can tell you from experience, if you don't think it's worth it, it's not. There are fun jobs out there, go and get one.

[+] sethetter|11 years ago|reply
Couldn't have said it better myself. There is nothing to be gained from elitist attitudes. Sounds to me like they want to hoard their own job security.

On top of all that, the "every man for themselves" mentality is a way to make sure that developers look out for themselves instead of the company as a whole. This is of no benefit to the company, and the leadership should recognize this and act accordingly.

What good can come from behavior that ensures other teammates don't improve at the rates they should be?

I heard a quote recently:

"What if we teach them everything and they leave?" "What if we don't, and they stay?"

[+] cwt|11 years ago|reply
I agree with all that. I'd also add that I think the desire to get hired and be mentored is a common mistake. Coworkers don't have time to sit down and teach you 1on1. But what they do have time for is helping a coworker out if they are struggling on something. No they won't do your job for you but if theres something you don't understand ask for help. If you have to ask twice you didn't take good notes. Not asking more than once may seem insignificant, but people will notice that you don't pester them with the same questions over and over. They may know that you are not as experienced as they are but they will know you are on the right track and competent. Nobody learns everything overnight. You only get out what you put in. Lastly, if you don't like your coworkers, find a company with people you can work with.
[+] amalag|11 years ago|reply
I agree, I think the environment sounds toxic.
[+] FLUX-YOU|11 years ago|reply
On 2, I feel like I know enough to get by, but can't really level up and do larger stuff. I make features and fix bugs and most of the time they stick (who knows down the road though!), but I'm in a similar situation as OP but feel like my language knowledge is just behind and my job doesn't feel like a source of learning. Is this ultimately my responsibility or do I just need a mentor to break through?
[+] informatimago|11 years ago|reply
Basically, intelligence is a speed of processing.

Assumedly every human being, given enough time, would be able to solve the same set of problems.

The thing is that we only have 80 years to solve them! And also, there are more problems to be solved than anybody can in this small time frame, even with a IQ of 1000 (speed of processing).

Now what does that mean for the slower minds, in a competitive environment?

You can still provide useful output, by restricting yourself to a small set of problems, and by employing more persistance and constance on solving a choosen problem.

The faster guys will often grow bored with a single problem and will have to skip from one problem to another (ADHD, etc). This is your opportunity: stay on the same problem longer than they can, and you will find solutions while they're busy approaching multiple other problems.

Yes, perhaps over a given period of time, they will be able to find ten solutions to ten different problems, but this doesn't mean that you cannot provide one solution to one problem, that they will have not approached and found.

People who are really great and competent at what they do, are usually very able and willing to teach (or at least give hints) to juniors and newbies, as long as you show signs of personnal studying and researching your problems. They don't like to spoon-feed lazy newbies. In general, you will also find this attitude on the Internet (irc, newsgroups, web forums), where you will find a lot of help, as long as you start by trying solving your own problems yourself, and are able to explain what you tried and where you're stuck.

If your professionnal environment doesn't allow you to learn with your colleagues, then you may consider changing it, because even if you were yourself a rock-star developer, you would still have a lot to learn.

[+] picks_at_nits|11 years ago|reply
> Assumedly every human being, given enough time, would be able to solve the same set of problems.

In the immortal words of Richard Karn: “I don’t think so, Tim.”

There are lots of things that are out of scope for a given person at a given time, and no amount of study will make them tractable.

The biggest issue with respect to the OP’s Impostor Syndrome is that very few of those things are relevant to the typical work of a programmer in a startup.

[+] lamuerteflaca|11 years ago|reply
Since you provided no citations yours is just an opinion at best. I'll throw mine in. You are wrong, IQ is about context. The more context you have about a subject the smarter you will seem. Your IQ will increase proportionally with the number of subjects you acquire context in. It is better if the subjects are diverse. Also, the more context you have the faster your processing speed will seem to get (In reality it stays constant, your neurons will only fire so fast)

Sure, raw learning ability, or memorization speed which is what you are talking about, matters. But as long as you don't have a learning disability it pales in comparison to context. And we all have pretty much the same learning ability. Also, those people that are really smart have put in thousands of hours to acquire lots of context. The genius who can absorb new material by reading any subject in a single pass is a myth.

[+] gress|11 years ago|reply
Experienced people seem fast at solving problems because they have seen similar solutions before. Not necessarily because they have a faster mind.

It's a mistake to assume that because someone is better than you at something, you are less intelligent. It simply doesn't follow, and as the OP is experiencing - leads to low self esteem.

Not all cultures are unhelpful and competitive. Take it for what it is - a tough culture rather than a group of unpleasant individuals.

You have little to lose by assuming that you are correct in your belief that you can learn and by being respectful but persistent in recruiting your colleagues to help with that.

[+] lucb1e|11 years ago|reply
Intelligence is not about problem solving but understanding. I can explain some complex topic to someone less intelligent ten times in all the ways I can imagine it being explained, I can try to break it up into pieces, I can try to take the pieces even more slowly... but in the end, if the person does not have the capacity, they don't grasp the whole picture.

Oftentimes intelligence translates into speed: speed of understanding new concepts; speed of doing things, but far from always. In fact the latter is typically just practice, no matter how smart you are.

[+] cheatsheet|11 years ago|reply
That's your definition of intelligence. You could solve problems quickly with a failure rate of 2%, but that 2% error actually kills off, deforms, or ostracizes 10% of your population, and that 10% contains 100% of what you need to solve your next set of problems. You destroy yourself by creating a definition of intelligence in the first place.
[+] dsfsdfd|11 years ago|reply
What. I can't even...

This is non sense. Intelligence is not speed of processing.

[+] lxfontes|11 years ago|reply
> The faster guys will often grow bored with a single problem and will have to skip from one problem to another (ADHD, etc). This is your opportunity: stay on the same problem longer than they can, and you will find solutions while they're busy approaching multiple other problems.

This.

Companies need a balance between 'move fast and break things' and 'keep things stable so we can make money'.

[+] swayvil|11 years ago|reply
Intelligence, the engineeringly problem-solving version anyway, looks like focus to me. So the superfocused win. The autistics win.

But those guys like to eat their own poo.

[+] galfarragem|11 years ago|reply
'Never underestimate the power of stupid people in large groups.' - George Carlin
[+] rdlecler1|11 years ago|reply
Who cares if you can solve the wrong problem quickly. I'll take the person who knows what problem to solve. In my experience those are often independent.
[+] jupiter909|11 years ago|reply
Am going to say that it has more to do with the size of ones working memory capacity. The depth that one can examine things.
[+] Jemaclus|11 years ago|reply
My rule of thumb is that I always try to be the dumbest person in the room. If I'm the smartest person in the room, I'm not learning. I want to surround myself with people that know more than I do about things I know little about.

My advice:

1) Shut up and listen

2) Ask them respectfully and professionally for advice when you need it

3) Shut up and listen some more

If you're an engineer, I also recommend the following:

1) Read everyone's commits, especially just before a feature launches. You'll learn their code styles and neat tricks that you never considered. If you have a question about why they did something, ask them respectfully. (e.g., "I've never seen that before. Why'd you decide to do it that way?")

2) Volunteer to be the bug fixer. When a support ticket comes in, be the first to grab it. Going in and fixing other people's bugs gives you more experience in reading new code and grokking it quickly, understanding how all the pieces of your app fit together, and everyone else will appreciate your initiative.

3) Ask your peers for code reviews every once in awhile. They will love that you respect their opinion, and they will be able to point out mistakes.

Above all, keep an open mind -- don't take any criticisms personally. They probably think you're a great person and your code sucks -- that's great! That means they can help you improve. If they think you're a shitty person, then you're in trouble... :)

Stay humble. Stay focused. Keep your eyes and ears open and learn as much as you can. When you feel like you're not learning any more or when you feel like you're actually the smartest person in the room, that's a good sign that it's time to go somewhere else.

Good luck.

[+] MollyR|11 years ago|reply
I second this. It's basically what I did, when I was the dumbest person in the room.

I was also the dumbest person in the room for 4 years. I spent a ton of that time studying,asking questions,and playing catchup.

It eventually paid off though. Persistence!

[+] lawry|11 years ago|reply
> You'll learn their code styles and neat tricks that you never considered.

I agree, it's a good thing to be the dumbest person in the room, BUT a good engineer or developer does not only shine in the work he/she produces, but also in making sure it's clear for his/hers coworkers.

Clear and documented code beats smart code and hacks, and often you can bundle it in a library making it optional to truly understand the workings of the library to use it. (Unless performance is that important or you are doing HFT-alike things)

[+] AOsborn|11 years ago|reply
>> If I'm the smartest person in the room, I'm not learning.

Absolutely.

This is something that I cannot stress enough to junior developers that I work with.

This also applies to social and inter-personal skills as well as technical - just as you aim to continually improve your domain knowledge, there are always opportunities to identify and improve complementary skills.

If OP can determine strategies, survive and thrive in the environment described, this will be invaluable for progressing in a more accommodating workplace.

[+] cJ0th|11 years ago|reply
> 1) Shut up and listen

I like that but many people get irritated and feel you're not proactive enough if you just occasionally ask questions.

[+] cpfohl|11 years ago|reply
1. Act they way your Grandpa would have: with deference to their knowledge and a healthy dose of confidence (you did get hired by these people). There's a pecking order, and that's OK, but don't let the socially deficient define how you feel about yourself.

2. Sadly it's been the norm at both my jobs. It gets better after a while.

3. Yes and No. I've met some unbelievably smart people who are amazing teachers. "Rock Stars," however, are known for trashing dressing rooms. "Ninjas" are best known for backstabbing. And "stars" are divas.

[+] spacemanmatt|11 years ago|reply
My long view of every developer called a rock star, ninja, or other superlative around me: Burnouts, egotists, manic-depressives, except for a couple who healed and chilled out and became mature developers.

People who sign up for those roles get rode hard and put up wet.

[+] cpfohl|11 years ago|reply
For what it's worth I'm comfortable with the idea that you may want to switch jobs; there are an awful lot of fantastic software jobs out there.

If you do decide to switch I'd make sure you're willing to stick it out a few years wherever you wind up. There's very little stigma (if any) to changing software jobs frequently, but more than one ultra-short-tenure job can look suspicious on a resume.

Assuming, however, that you want to stick it out at this "desirable" job, the above are my answers to your questions. Starting a new job is always hard. If you stick it out you'll learn a lot. If you don't no one will judge you for it.

[+] swampangel|11 years ago|reply
While this doesn't sound like a great working environment, my advice while you're there is to ignore the tone of your coworkers' comments and focus on their content.

If a developer condescends to you it's likely (a) accidental, because they don't know how best to explain something simply+accurately or (b) aimed at your current knowledge, not at you on a personal level. It might also be (c) they think you should have solved it on your own, which may/may not be true. In any case, all you can do is focus on the information and let the rest bounce off you.

The best favour you can do yourself is to be rigorous about following steps, checking your work and documenting things (just scratch notes for personal use).

Senior devs should be happy to help you learn, but won't like helping you fix sloppy/repeated mistakes. If you are confident that you've done your work with care, then others' bad attitudes shouldn't affect you as much (although it never feels good).

You may be able to turn this into a good experience. However, you may just be stuck on a team where where the pressure is on and nobody has time allocated to mentor you. If the situation doesn't improve, find a new job -- look out for yourself first.

[+] eldavido|11 years ago|reply
First, recognize that this is the feeling of learning. Being the smartest in the room is great for the ego, less so for long-term growth and improvement. So be thankful.

As far as the prima donna attitude, first realize that in a typical software company everyone is insanely busy all the time and you need to negotiate some kind of mutually acceptable situation for how you can learn. Being on the receiving end of being interrupted 10x/day by a junior who doesn't know what's going on (voice of experience here) is incredibly disruptive -- so figure out what works for everyone by discussing it openly with your colleagues and manager. As long as you didn't misrepresent your skillset during the interview process, it's as much the company's job to make you successful (allowing them to get their money's worth from employing you) as it is your job to be diligent and work hard to advance your employer's interests.

It's always a give and take, that's part of working somewhere and business in general, you have to figure out how to line up your needs with the other party's (your employer in this case) for mutual benefit.

A word of caution: take all this feel-good "it's not your fault" stuff with a grain of salt. You're probably cocky because you're used to being the smartest guy in the room, but you are't anymore. That you've acknowledged this is a great first step, now work on fixing it.

Some practical tips: - Do you have a manager? Make sure you do. I define manager as "the person responsible for assessing your performance, making personnel decisions, and/or writing your review"

- Set up regular 1:1s with your manager. This is a reasonable demand and you should make it. Maybe once/month to start, 30 minutes, where you can discuss your needs. Make it a regular thing.

- Try to have the mentality of being open-minded and let it show through. You'll be surprised how far just being kind and admitting you aren't the expert will go with people.

[+] D-Coder|11 years ago|reply
Another small practical tip: Instead of asking questions 10x/day, arrange a daily chat (maybe half an hour) so you can combine them and interrupt only once a day.
[+] j2bax|11 years ago|reply
Romans 12:20 "If your enemy is hungry, feed him; if he is thirsty, give him something to drink. In doing this, you will heap burning coals on his head."

Try being super nice to these guys. Maybe you will find that they are just as insecure as you and you can break through their shells. If you give that an honest effort and they don't break, get the hell out of there!

[+] monroepe|11 years ago|reply
Your co-workers sound horrible. While I agree that you could learn a lot from the experience, even so I wouldn't want to work with those people.
[+] engendered|11 years ago|reply
Everything is relative. When someone is defensive and self-conscious, it's incredibly hard to give feedback of any sort without them feeling "like an idiot".
[+] darkxanthos|11 years ago|reply
Here's a different perspective: Don't compete along the dimension where you're outmatched. Sounds like you could win a lot of points by playing the grasshopper to their kung-fu master and act as the glue for the group working to gain a holistic view of the team.

What other holes in their skillset can you fit in?

[+] spacemanmatt|11 years ago|reply
Holistic hole-filling is pretty much my secret sauce. I endorse this tactic.
[+] markhamilton|11 years ago|reply
I haven't read the other responses but here's my take

I'm going to go out on a limb here and say that humility might be the best course of action.

Keep learning, and growing. It's harder for some to do that when your coworkers are lower in skill because you won't have the mix of talent and experience. You need to learn not just in your field, but everything related to it: communication and interpersonal skills, business. Taking an interest in those and putting time into practicing or reading up on them is a great way to advance yourself.

Always be open to learning from your peers, but you don't have to think that their way is the best or only way. Even if they have more experience or seem smarter they're not always right (and the fact that they have the attitude of some mid-level developers means they are likely to still make the same mistakes).

Don't get too down on yourself for screwing up. Remember that you need experience just like everyone else and there's no shortcut for that. It will just be a matter of time before you're the same level of smartness that they are right now. You might close the gap some.

Keep kindling your passion for learning and improving.

-mh

[+] stevenkovar|11 years ago|reply
The "worst case" scenario (in terms of this current company) is that you are let go or quit—that's not so bad in the grand scheme of things. So, what experiments can you try to either improve your reception or learn as much as possible before that moment..?

Ask questions.

Your 'supeeriors' may be ninja rock star behemoths, but they are not immune to simple psychological techniques, like reciprocity. Asking questions and requesting favors has a tendency to make the other person actually like you more and be more willing to help you out further down the line.

It's counter-intuitive, but it has a lot to do with the sunk-cost fallacy and leveraging others' cognitive dissonance; i.e.: "if I'm such a great person/talent and I spent the time/effort to help this person out, they must be more like me than I previously thought."

Beyond the persuasive benefits of asking questions, you'll (ideally) learn more about yourself and come across as more open and approachable to your peers, which is good.

More importantly, don't compare yourself to your coworkers to determine your worth for the company. Are you better today than you were yesterday?

The best leaders and most productive people I know ask more questions than anyone else and are very skilled at listening to what people are telling them. Just because you were "thrown to the lions" doesn't mean you have to become one via trial by fire. Lions have too much pride.

Just ask questions. Position yourself to be better tomorrow than you are today.

Worst case: you're out of there and on to something else (which could very well be the same). Best case: people start seeing your value and you improve your rate of learning.

[+] jd142|11 years ago|reply
You say you were confident and cocky during the interview. Think back. Did you mis-represent the depth or breadth of your knowledge and experience? You were aware that you lacked experience. Did you make the hiring committee aware as well. If you represented yourself as something you are not, that might explain a little of the attitude from others. Not excuse it, just explain it.

If you represented yourself honestly during the interview process and they hired you anyway, then someone had confidence in your ability to learn. Check in with those people and see if they think you are picking things up at the rate they expected. A good manager will check in with you if you are moving a little slower than expected. A great manager will check in even if things are going as planned. Good managers are rare, great ones even rarer. Reach out to your manager if s/he hasn't reached out to you.

Even if you represented yourself honestly, there are going to be some jerks. Period. Some people will be of the opinion that someone with more direct experience should have been hired. It wasn't their decision and they are not your boss.

[+] drrob|11 years ago|reply
Typically I'd say give it at least 6 months before making a decision about whether you'd want to stay in the job. Obviously at 4 months in you've already given it some time, but a little longer won't hurt (well, clearly from what you've said it will hurt, but I'd hang on a little longer, just to see if things suddenly 'click').

On the other side of the spectrum; I began a contract job about this time last year...and I gave it 4 days before jacking it in. The job was just awful, but the people weren't the problem; it was the system we were working on (their revamped mobile website). It was already a year late (and still unreleased to do this very day) and architected from scratch by another contractor in a weird and unorthodox way. It was painful to work with, and as a contractor you feel like you should "know your shit"; it's embarrassing to have to keep asking the permies how the hell something works. Fortunately for me IT contract jobs are plentiful in the UK at the moment, but I'm guessing you're not in quite such a cushy situation.

[+] jstalin|11 years ago|reply
My experience is that these are the situations where you learn and grow the most. It might be horrible now, but think about boot camp (the real thing). It's horrible and miserable and you want to quit. But at the end you're stronger and (better) prepared for what might come.
[+] spacemanmatt|11 years ago|reply
Life is too short to spend it like that. Find a team that accepts you as you are and is willing to grow with you. The learning available from coworkers like that is not positive growth.
[+] sebg|11 years ago|reply
Ask the most questions. Do not "try to decode what others are thinking", ask them. If they are going to be terrible then let them be, your job is to ask questions.
[+] gesman|11 years ago|reply
1 month of hard learning should allow you to up your game pretty significantly.

6 month + hands-on experience should get you very close to level playing field.

It been said that 1 year is enough to become an expert in any field having enough focusing and persistence.

What important in this is not their attitudes. It's your attitude on stuff that surrounds you.

If you believe that you need to call yourself dumb and punish yourself with thoughts and feelings of guilt while being surrounded with people who has more experience in certain fields - that's your belief/attitude.

It does not need to be this way - but it's your decision whether it is something that you are benefiting from and whether it make sense to change your attitutes|belief|definitions toward certain things.

[+] lucb1e|11 years ago|reply
> 1 year is enough to become an expert in any field having enough focusing and persistence.

In this case I'd agree with you because the company probably does specific things and learning to do those well enables you to do your job well. But I don't think it's generally true that you can get an expert in any field within a year.

[+] redfalcon6|11 years ago|reply
Yes to this! Just by virtue of you asking this question means you are not the dumbest guy. You at least know you need to learn. Truly dumb guys...well...
[+] ainiriand|11 years ago|reply
1.- Don't quit. 2.- This is only going to make you stronger. 3.- Rockstar developers are most of the times people with small social skills and/or with little empathy. This is a BIG generalization, but what you say proves my point. Dealing with this kind of people is not easy, you must entice them to show their skills so you can learn from them.
[+] etiene|11 years ago|reply
Plot twist: nobody has a clue of what they're doing either.
[+] spacemanmatt|11 years ago|reply
Related: Some of us know where we're trying to go, though. Maybe.
[+] rifung|11 years ago|reply
I suppose you could try looking for a new place, but seeing as you are just 4 months in I would try to make your situation work first.

My advice is to try to take advantage of this situation where you are working with people who are smarter or at least more experienced than you. This is a great opportunity to learn, except that it seems you are with people who may not be willing to teach you? But I think you just have to try to find a way to connect with them and show them that you are interested in learning.

It's scary but if they are talking about something you don't understand, make sure that you ask questions. You should be careful not to divert the conversation too much but it's important that you show them you want to learn, and that you realize you have stuff to learn from them. Most people actually do enjoy teaching others, or at least that's been my experience.

In the end you should just not try to stress too much in my opinion. After all, it's just a job! I certainly hope you are "burying yourself in intense study" because you want to learn and not because you are afraid of not doing well in your job. Your lack of success in your job isn't only your own fault, it's also up to the company to make sure you have the resources you need.

Do you have a manager you can talk to about these issues? He/she may be able to help you navigate the team better. It sounds like you are working at a big company so there may well be some programs to get you a mentor too.