Hacker News new | ask | show | jobs
by strlen 5600 days ago
As jerf has pointed out, this is Impostor Syndrome. It is present in men as well. Ironically, the better programmer I've become, the stronger it has gotten. The thing is, while scary, it's perfectly normal. The only advise I can offer is just to ignore it. So what if it is true and you "don't belong" or you're a bad programmer: so what? It's still something that you enjoy and can make a career, a rare luxury for most in this world.

If you're worried about that the programming world implies less balance, consider this: the big advantage of programming is that you can get a job that coincides with your passion. That means, meetings and other bs aside, a significant chunk of your work is what you'd consider leisure time devoted to one of your hobbies. It means you actually have more time to pursue non programming hobbies.

That said, you should consider programming a bit outside of work and class. It's very easy to lose focus of what is the general industry trend when you're focused on your specific job. It can be as short as an hour a few evenings a week and a few hours on the weekends. It doesn't need to be anything "cool", it should be something you get a kick out of building that you don't get a chance to do at work: it's perfectly fine to re-invent the wheel, learn a language that isn't used in industry, write a software to facilitate a non programming hobby e.g., I love classics of literature, so I once built a "beautifier" for Project Gutenberg works that would convert them to LaTeX and type set them.

The fact that you love programming should be enough of a reason to continue doing it. Especially if you're skilled in areas outside of programming, you won't have any issue staying employed. Since you have less ego and arrogance, you'll be able to learn more from others, opening fields that are often close to people who are convinced they can't be taught anything about programming in a university setting.

P.S.

If you really are an impostor, that's likely a much more rare and valuable skill than being a programmer!

1 comments

So what would you recommend someone self-taught who just bombed his past couple of interviews do?

Nothing like failing on elementary math questions to make you feel like a class A idiot, especially if your title is 'Senior Software Engineer', and here I go, bombing on freaking word problems in a numeracy test.

I feel like a total fraud, like I'm in the wrong field, I could have done those easily straight out of high school.

The other part about "no ego" is being willing to learn from rejection rather than either blindly going through or avoiding all situations where you may be rejected.

I suggest working your way through the lower division mathematics requirement that a college CS major might experience. Course material is one way (just make sure to actually do the homework), taking courses at a local university (or even a good community college e.g., in Silicon Valley De Anza and Foothill Colleges) is another (make sure to find an excellent instructor for Calculus and to take a discrete mathematics course).

The other part to keep in mind is that there's different types of software engineering roles and different kinds of mathematics. Some (e.g., machine learning and data mining) are very mathematically intensive (to understand some papers, you'll need to do integration by parts), others (e.g., graph theory) are more about discrete rather than continuous mathematics, yet others (systems programming, application development) are least mathematics heavy (and where they are, again, the math is mostly discrete rather than continuous).

Well, it was a bit of a kick in the pants to fail so spectacularly, believe me, I'm not trying to protect whatever fragile ego I do have left, after that intro the technical parts of the interview were brutal, the interviewer decided to hammer it into me that I wasn't good enough, and basically threw the book at me :)

What I learned was that I am woefully unprepared to interview at such a place, but not that I'm not going to try again (I am, I refuse to give up).

Question for you though, how did you develop a math intuition and the ability to enjoy math? I used to enjoy math in school, but I'm 31 now, and I find it tough to slog through the very basics again, so I find it hard not to skim over things I think I know. I think a part of the reason I enjoyed it at school was that it was basic, plugging numbers into memorized formulas, using pattern matching to detect the type of problem, simple stuff if you've been programming, so it was easy to pull off the straight As.

Time to really learn now though.

From what I have read on HN in other post, it seems there was a "light going on" time for a lot of you? When did it happen? What did you do to get to that stage where you started revelling in mathematics?

I think I have the substrate for math, it doesn't take too long for me to grasp concepts, but solidifying them is what I have a problem with. Without doing that, it's like anything in programming that I haven't written a program for. I lose it and forget it quickly.

What is the equivalent of writing programs, but for math, for you?

Thanks

Do you have access to iTunes U? There are loads of courses available from basic math all the way to advanced computer science. I majored in Math, not CS, and used a few algorithms classes to come up to speed with stuff I should have known already.

For brain teaser type problems, I like Martin Gardner books.

Thanks, I wasn't even aware of iTunes U. Looks great.
Grab a couple of basic textbooks and read through them. I have mostly learned through general reading and narrow practice; which means I have occasional holes in my knowledge. When I see a need to fill the gaps, I get a basic textbook and start reading, since I already know a lot of the material, I only slow down to study when I need to.
The Khan Academy. Everything that fits under the term 'numeracy' is comprehensively covered there. Go ye and watch.