Ask HN: very qualified but can't find a decent job. What do I do wrong?
44 points| throwaway1001 | 13 years ago | reply
I'm in the middle of a very painful job search in London and here for help. My background is Java, I used it for 10 years in a very latency- and performance-critical environments, so I can say I'm very familiar with the nuts and bolts of language and the JVM. As any HN oldie, I know that just doing your job is not often enough, so in parallel I launched my own iPhone app (which as of today grew to 20 KLOC of C and Objective-C) that was covered by major news outlets and featured by Apple themselves in the Education category. I'm very proud of the work I've done. I can do Python (wrote a Twisted-based backend for collaborative app) and Haskell (when asked, can code on a whiteboard). I did Andrew Ng's course online last year. I REALLY can deliver.
At the moment, I work for a major bank in a position that drives me nuts. Everything about this job is wrong but most important is that I don't feel that I use my skills at all. I started my job hunt this spring, applied to all attractive companies I know of in London and pinged every available contact in my network.
The results were underwhelming. Google UK rejected me after an on-site interview. Twitter UK were hiring for a very relevant position but listed Scala as a requirement — I wrote a small RE matcher in Scala in a few hours and sent the code and my resume directly to their engineering manager whose contact I got from my network. No reply. Facebook UK and Amazon UK didn't want to even do a screening interview with me. 90% of other companies didn't bother replying. As a net result I got one offer from a startup I liked but refused it because I didn't feel we're on the same wavelength with the founder who interviewed me.
I'm pretty desperate at this moment and feel that I'm doing something wrong. If you're running a cool software company, what do you think a senior guy from a major bank must write in his resume to stop you from shredding it on the spot? Thank you for any advice.
[+] [-] jakejake|13 years ago|reply
Assuming you truly want to work in an environment of a fast-moving startup and all that entails... Perhaps try some A/B testing on your resume. Remove some of your experience and omit the years of graduation, etc so that it isn't obvious you've been working in the field for 15 years. For example, just list your iPhone accomplishments and your work with Python. Maybe even re-send it to the same places. My guess is that you'll get more interviews. Then when you show up make sure you don't shave, wear some skinny jeans and a plaid shirt, get some dark-rimmed glasses and put stickers of underground bands on your macbook. Optionally get some tattoos. I bet you'll have better luck.
[+] [-] throwaway1001|13 years ago|reply
A/B testing sound like an interesting idea to try, thanks.
[+] [-] mvkel|13 years ago|reply
1) Can we hire someone internally? 2) Can we hire someone we know via a connection? 3) Who has the best resume?
9 times out of 10, someone is found in the first two options. So, the first step should be getting on the radar of companies you'd like to work at, then let the resume be the ammo to help seal the deal.
[+] [-] danilocampos|13 years ago|reply
Better advice would be given by a local in OP's job market. "Come to such and such event, which is every Thursday at X pub – many tech folks mingle there and it would be a good first step."
Absent such concrete guidance, "work on your network" is stating the obvious.
[+] [-] mgkimsal|13 years ago|reply
In a nutshell, spend time in small groups - explicit networking groups, or networks of friends/colleagues with similar but disparate interests. None of this will be 5 minute job, but the OP has already invested months cold-emailing for jobs and that hasn't worked. Spend time investing in keeping your own network connections going - meet up with people regularly, etc.
Perhaps more importantly - start your own group if you need to. People will end up finding you and reaching out to you with job offers because they want to access your network. You'll sometimes hear about gigs before they're available anywhere else (not often, but it happens).
[+] [-] luser001|13 years ago|reply
You might want to split your move out of banking into a cool company into two phases: first move out the bank, then move to one of the "cool" companies.
I'm kinda in a similar boat as yourself, and afaik, except for enlightened pockets, our industry suffers from a deep suspicion of experience and expertise in anything except the rage of the day.
In a black humour sort of way, at least you're a Java expert. Imagine plight of the C++ expert. :)
[+] [-] manku_timma|13 years ago|reply
[+] [-] throwaway1001|13 years ago|reply
[+] [-] dagw|13 years ago|reply
Met a guy working as a private contractor in the aerospace sector recently and he was desperate to hire expert C++ programmers at almost any price. I wish I had the 'plight' of being a C++ expert.
[+] [-] ChuckMcM|13 years ago|reply
What you don't say is what you want to do. What are you passionate about? You know that "just doing your job is not enough" so you start a side project, great how did you pick it? Are you more passionate about it than your current job, if not why not? You had complete freedom to work on any side project you wanted. Do you even enjoy programming? Why do you do it? Why not gardening, or auto repair, or architecture?
People who are passionate about what they are doing are 10x better employees than ones who are doing it for some externally generated reason. Ask yourself what you really like doing and pursue that. You've got a job (great) and if you discover your passion is something else use your job as a springboard to cover expenses why you develop enough runway to leap into what your passionate about. Don't try to do that at a start-up though, its really really hard to be passionate about something other than the start-up's mission and be successful.
[+] [-] throwaway1001|13 years ago|reply
[+] [-] pyalot2|13 years ago|reply
2) Keep a technical Blog and write about interesting stuff you did. Try to offer a service for your readers covering topics and explaining things to help them along, attracting an audience.
3) Get a twitter account to tweet about technical things that interest you, get followers that like what you tweet.
4) Participate in other coding communities (like stackoverflow) where you can help people along.
5) Make sure that your entire presentation is geared towards steering people towards your blog and your software.
6) Forget resumes. Nobody reads them. Polish yours leaving everything but the bare essentials out, try to smuggle in your blog and open source software links.
7) Cultivate a larger network, go to local or nearby meetups of the crowd doing stuff you're interested in.
8) Publish more software on the app-store (or anywhere), write about your software on your blog.
9) Participate in standard bodies.
10) Freelance and/or run your mini company besides, be sure to write about the awesome stuff you did while doing that on your blog.
In short, get known for doing things. Don't think people read the resume and show an interest.
And if at all possible, let people come to you with offers. Not the other way around, if they come, you already know they're interested.
[+] [-] johnnymonster|13 years ago|reply
[+] [-] sundar22in|13 years ago|reply
[+] [-] tlogan|13 years ago|reply
Second, find a good recruiter. They do help to find an exact match.
Third, you probably need to be looking into Informatica, Microsoft, Oracle, etc. - companies which are "product development" oriented. It seems like Facebook, Amazon, Google, and Twitter are really not "product development" oriented companies: they use technology but technology is not their product. So my feeling is that they are looking for more "very very smart and sharp people" than "I can ship people" (I read somewhere how it is easier to get hired in these companies if you are "smart and did nothing" then "smart and here is what I did"). [ I'm just saying that they weight candidate characteristics differently - nothing wrong with that approach ]
[+] [-] throwaway1001|13 years ago|reply
[+] [-] blacklooksgreat|13 years ago|reply
1. You didn't say how old you are. After 30 you should rely on relationships and reputation more than your ability to describe skills. Tech employers want malleable underpaid wage slaves.
2. Perhaps working at a bank makes you look unattractive. I wouldn't want to hire anyone that was brain damaged from working at a bank.
3. Perhaps you are too narrow and apply for broad jobs.
4. Perhaps the inverse of 3. Consider what job you are applying to and customize your approach to that.
5. It's a numbers game. Keep on trying!
[+] [-] throwaway1001|13 years ago|reply
2. What can fix this image in your eyes? Github account?
3. Maybe this is the case. When I was searching for a job last time (and landed this job in a bank) I noticed how differently banks and non-banks react to my resume. In short, for banks I have worked in a company they know and did the things they want to do too. For a software companies, I worked in a boring BigCo and did some things they never will deal with. It's all great but it's not clear how to fix this — I wouldn't say there's loads of attractive tech firms in London compared to SV, so if I'll narrow my search to try to find better suited companies, I'll be left with that Twitter opening.
5. Thanks for that!
[+] [-] chengyinliu|13 years ago|reply
They are two steps here, first to get the on-site interview and then to pass the interview. You talked about problems in both of them.
First, how to get the interview. For me, the trick is to get a reference and apply to the right position. You have specific background in some languages and environment. It is hard for the companies to decide where to put you. If possible, start with networking with people in your target companies. Get to them to know you first, they will help you on finding the right position to apply to.
About the Twitter manager who didn't reply. Try again, with other methods. Find a direct reference instead of simply email him. Or you can hang out with some other Twitter engineers first and they may help you out.
Second, for the interview part, there is little description here so I am not sure if you did anything wrong. Generally, solve the problem by working and discussing with the interviewer; showing your passion; and relate yourself to the company. It is hard for the interviewer to see the value of your project and weigh them during the interview, solving the problems they give is more important.
Also, there might be a bias since you have the major bank background. I cannot elaborate or back that up though.
[+] [-] throwaway1001|13 years ago|reply
Finance industry in London is very insulated (i.e. people never leave banks except for other banks because of the huge salary difference banks able to offer), so networking is a hard thing to crack quickly. I'm working on it though, so at least this I do right.
[+] [-] johnnymonster|13 years ago|reply
From my past experience interviewing java developers with LONG runs developing java such as yourself was extremely boring. All of their resume's looked the same. Full of java related keywords. All with the same experience. None of them had soul. None of them seemed to develop anything out of their comfort zone. NONE of them knew what github was nor had an account.
Out of 300 people, over about 6 months we found only 2 java developers that seemed to be worth anything outside of their extremely large teams they were used to working in.
Now I don't know anything about you nor have I seen a resume of yours but I will say that when I see Java developer with 10 years experience writing java, it sort of already puts a negative connotation on the experience right away.
If your trying to sell yourself for a startup, your going to have to do some major overhaul of your selling points.
You are really going to have to highlight your experience with other technologies and things you are doing to keep yourself current with the times. What have you done in the past 10 years besides java? A lot has changed since 2002 in the world of development!
Last but not least, I can't believe you turned down an opportunity to work in a new environment. If all you have is years and years of java and someone (even if your personalities don't match) offers you a job doing something else and you don't take it! Its obvious that times are really not that tough in your current position.
Your going to have to suck up your pride a little and get some relevant experience in the job type you want before you can become picky about personality matching. You should be happy for the opportunity to even get considered.
Knock that AOL syndrome out of your nose and dig in. If you really want out of the banking industry, get a job for the experience. NOT to meet your new best friend or be on extremely hipster wavelengths with your boss...
To me you don't really sound all that desperate if your passing up job offers.
[+] [-] throwaway1001|13 years ago|reply
Regarding your other points: I think from the description it's clear that I was doing something meaningful after 2002 (Haskell and Python should be at least noticeable).
Regardless of that, during that 10 years I did lots of stuff. I implemented a blazingly fast key-value storage backed by file-based B-tree from scratch. I wrote a concurrent distributed pool. I'm not a J2EE/Spring/whatever guy. Now one thing I hope is that people reading resumes prefer this type of experience to 20 line Node.js hacks.
[+] [-] unknown|13 years ago|reply
[deleted]
[+] [-] batista|13 years ago|reply
This statement raised my "shallow language hipster" alert.
[+] [-] neiljohnson|13 years ago|reply
B2B telecoms, highly available low latency systems. Zero brand name but fantastic engineering driven culture. Small enough for individual impact but big enough to have some very interesting projects and clients. London based.
[+] [-] SeoxyS|13 years ago|reply
1) You're in London. Most of the companies you're thinking about are based in the San Francisco bay area, and this is where all the truly exciting stuff goes on. Now, I'm sure there's a technical community in London; but there are very few places in the world where technical people are in demand and where there is a lack of supply. And those places each have different prominent industries. In New York City, the smartest minds become Wall Street Quants. In San Francisco, they make web-technology startups. I imagine in London, the default is in the financial industry.
Concluding my point; this may not be a possibility for you, but if it is, you may want to look outside of London. You'd probably get something in a heartbeat in San Francisco, and I'm sure you'd do fine in NYC, too.
2) You're an "old school" guy; as you said. I'm doing a startup in SF which has grown tremendously (now >30people and barely a year old) and the growth has put us in a situation where we're desperate to hire more smart and skilled people. I have interviewed and rejected many people (including Googlers) who were much smarter than myself, having experience with Big Data, Java, C++, and even artificial intelligence. Pure skill is nowhere near as important as your mindset, and how you will fit within the company culture. People who come from an environment where they sling Java for a big company have a tendency to not fit well with the way we all take responsibility for our projects, iterate and release fast and often, etc.
Now you may be looking for a change of pace. You may be into the idea of switching methodologies and toolset; but that's something you need to make clear to your interviewers. Your experience is like a background check. It tells us that you're a good & smart programmer. But the hiring decision is going to come down to the question: "How well do we think this guy is going to fit in here?"
That said, if you're looking for something in San Francisco, we're hiring. Shoot me an email at [email protected].
[+] [-] brackin|13 years ago|reply
Most major US startups are basing their international offices in London.
Of course you are right, until a few years ago most development was for the financial industry but it's all changing.
[+] [-] mattmanser|13 years ago|reply
I have no idea what makes you think otherwise.
[+] [-] vineet|13 years ago|reply
Build your physical network: The best way is to attend User Group meetings and Conferences. With time try to get involved as a speaker and with the organization of these groups.
Built your online network: I would recommend contributing regularly to an open source project or two. Also you can blog to help build your online presence.
Code outside of your work more: Glad to hear you launched your iPhone app. I think working on another project is not a bad idea. This is not to say that what you have already done is not enough, just more of a 'always be delivering code that is not necessarily on your employers schedule'. You seem to have a background in 'big data' projects - I would try to build something on a similar topic but using some of the open source projects (like Hadoop, or Twitter Storm).
Type of company: You seem to be a little in between. Good coders want to work for software companies (as opposed to being part of an 'Enterprise IT' shop). Your bank background might mean that people in 'Software Companies' will not pay as much attention to you. You can make the transition, but it is not as easy.
Headhunters: Try talking to one or two of them. They can help find you a company that is a good fit.
There are lots of points above, just choose the ones most in line with you.
[+] [-] taylonr|13 years ago|reply
Also, I'm guessing that Google, Twitter, Facebook & Amazon get several applicants a day. So having a contact on the inside might be more helpful.
A somewhat similar story was I tried to work at a consulting company here in town, and got turned down. Two years later I had worked with a couple of their consultants at another job, spoke at a user group meeting (where the leader was another of their consultants). When I left my job for a different one I had 2 people from the agency talk to me about applying with them.
I had already accepted the offer from another place, but in that time I was able to showcase my skills to the point they were at least interested in talking to me. Whereas 2 years prior they weren't.
The lesson? Network, if you're as good as you say you are, do some user group speaking or showcase your code to some people. Hit a couple local/regional conferences and start talking to people. As they get to know you, not only might they hire you, but they might also pitch your name to someone else.
[+] [-] huhtenberg|13 years ago|reply
Another thing is not the resume itself, but its format. The most effective resumes I've seen (those that get the interviews) were quirky one- or two-pagers. Can you perhaps strip yours of all personal info and post here?
[+] [-] mgkimsal|13 years ago|reply
Someone who is 100% just a Java-the-language developer may be stuck at a bank or other bigcorp. Someone who's got a lot of Java experience and can use the best aspects of the JVM ecosystem while also leveraging other non-Java tech should be able to do much better than the OP is saying he's doing.
[+] [-] uptown|13 years ago|reply
What about Android development?
[+] [-] donall|13 years ago|reply
[+] [-] bluestix|13 years ago|reply
[deleted]
[+] [-] citricsquid|13 years ago|reply
[+] [-] throwaway1001|13 years ago|reply
- Java: 0 results - iOS: 3 very junior positions, only 1 London based - Python: 5 results, 3 of which are very junior + 1 discloses zero info about the opening.
[+] [-] zeemonkee2|13 years ago|reply
[deleted]
[+] [-] arvcpl|13 years ago|reply
[+] [-] idiopathic|13 years ago|reply
[+] [-] frak_your_couch|13 years ago|reply
Second would be that there is something about your non-technical skill-set that is sending up red flags. What feedback did google UK give you after the rejection? Was it a bad fit technically or culturally?
[+] [-] helen842000|13 years ago|reply
If you'd like to do an interesting A/B test, I'll gladly re-write your CV for you, set up an extra e-mail address & see which gets you best results! If it gets you a job you can give me great feedback.
[+] [-] russelluresti|13 years ago|reply
A while back I ran across a TEDx video titled How Great Leaders Inspire Action given by Simon Sinek.You can watch it at the TED website, but the summary of the talk is "People don't buy what you do, they buy why you do it."
The idea is what can you do to make the hiring person get excited about you? You're a Java developer - there are a lot of those. You have a lot of experience - so do a lot of other candidates. Education - others have it to. Basically, what makes you a unique and memorable candidate?
You even said it yourself - you didn't take the job with the startup because you didn't feel you and the founder were on the same wavelength. Well, that's what the hiring company wants to get from you. They want to know you're on their wavelength. You can't communicate that by telling them what you can do, or how good you are at it. You communicate that you're on the same wavelength by telling them why you do what you do. You have to give them something that gets them excited about you as an individual, something that makes them forget about the other candidates.
That's my perspective, and it's worked out fairly well for me. Especially now that I'm a senior developer, I rarely talk about what I do. I've had years of experience, it's just expected at this point that I have the skills. I wouldn't have been so consistently recruited or promoted if I didn't have the skills. That means the skills I have aren't worth talking about at all. On my own site, and how I present myself in general, I don't talk about my capabilities. I talk about the WHY.
Note: "to get a paycheck" will not suffice as an answer to why you do what you do. You have to have a real answer for this question, and it is a problem. A lot of people don't know why they do what they do, which is why there are a lot more people who can't figure out how to get to the top. This may even require you figuring out what it is you really want to do, and switching job types or careers completely. Any company that hires someone who just wants to collect a paycheck isn't a company where anyone is going to be happy. You'll just be in a cubicle next to dozens of other unhappy people who only showed up that morning so they can continue to collect their paycheck.