I just completed my Masters degree in Computer Science. Before that I worked for 4 years dishing out high quality code as a software developer. I have been searching for jobs for the past two months.
Most companies ask for my project portfolio or my Github profile link. Though I submit links, they are nothing more than a deserted island. More often than not, companies reject my job applications saying something like: "Unfortunately, your skill sets were not a match for this position", when their job description is an exact match for my skill set, the exact work that I have been doing for 4 years prior to my Masters.
What are the companies expectations when it comes to recruiting software engineers?
The reason I ask how many companies you have applied to is because finding a good job is a numbers game. Often I see engineers who do something along the lines of applying to a single company for the "perfect position for them", waiting to hear from the company, and then feeling dejected when a rejection comes and they have to find the next perfect position. I always say, apply to 25 jobs as quickly as possible. Then come back and tell me that they all rejected you.
Good luck! It will work out soon enough!
You are an excellent coder -- full stop. You don't have to hold yourself to some kind of "rockstar" ideal to get a job. Or better said, you simply have to convince the hiring managers of SV that you are what they are looking for.
On the flip side, there are plenty of non-"rockstar" companies that could use your talents, I'm sure of it. Perhaps you need to adjust where you're looking for work?
For my money this means working on your soft skills, especially if you're on the job hunt. Network, talking to people (in person(!)), make yourself visible to the hiring managers. Soft skills should start paying dividends immediately, as opposed to cramming code into your Github profile to look like a "rockstar" does.
But this rockstar cannot talk to customers so one of the other devs dows that, and he is a rockstar in that field.
Another dev delivers solid work every day, every hour and never miss a deadline, he is a rockstar at being rock solid.
If I only had rockstar programmers I would never be able to get everything done.
So even though you are not a rockstar hardcore dev, then be hardcore and rockstar in whatever you are really good at!
Some common problems I've seen with resumes:
- Grammar, spelling and formatting problems.
- Breadth but not depth - people list a million technologies but don't mention a single thing they did with those technologies.
- Overly long - some people have a six month stint somewhere and yet write two pages of what they did there, filled with technical buzzwords.
- Too short - people worked somewhere for three years and yet only write a single bullet point.
- Unexplained gaps, especially early on. Not necessarily fair, but this can be a red flag for people.
The other trap that I've seen people fall into (less fairly) are technological traps: - Someone out of school that only knows one big name language like Java. People interpret this as someone who didn't do much outside of class.
- Windows-centric developers in Silicon Valley. There's a lot of bias in SV against Windows developers, and someone with a list of Microsoft centric technologies risks coming off as someone who wants to be a Windows systems engineer in shops that mostly run off of Linux and Mac OS.
Finally, in the definitely not fair front is names. My Chinese and Indian friends have reported that by putting a Western first name on the resume their response rates more than doubled.I have held two jobs in my professional career of 16 years and yet if I was out of a job tomorrow I likely could not get past this bizarre new interview process.
This is in spite of my having launched and supported four significant software products in platforms and languages that before that point I had never touched. All this in two very not-sexy niche industries that required specialized knowledge I did not have.
Did I mention that on a scale form 1-10 I realistically operate at about a 3? Take heart, until this year I have never worked with anyone that was better than I at this job. Of the two people that have the talent and evolving skills to surpass me - I trained them so there is that :)
Oh - I am also likely too old now (45) to even GET the interview without subterfuge.
While it's hard not to, it's almost never a good idea to take a generic rejection like this at face value. This is one of a number of things prospective employers just say when they've decided to hire someone else, usually designed to give as little insight as possible as to why they made the decision they did (and along with it, as little exposure to liability).
And common hiring practices being what they are (possibly as bad as random chance as far as getting people who are in fact good fits), it's likely enough that they didn't really have much in the way of insight into your skills. And may not really be clear on why they made the choices they did.
So, it may not be you.
That said, even as a fellow explorer/hiker/kayaker who likes to have other things to do when I'm not at work... some well-selected personal projects are probably a good idea to have. They may not need to be big ones, even small ones that scratch a personal itch might help with employers who use a github profile as a heuristic for engaged interest in the field. I'm thinking of a little Python script I wrote about a year ago, its sole purpose was to list unix permissions for each directory above the current one, something I occasionally need to do when tracking down reasons why a webserver might deny access to resources located within a directory. There was a period right after I'd created it and put it up on github that I was getting recruiting interest as a Python dev. But something related to your MS might even be a better idea.
If you're thinking about Silicon Valley because you're already near it, I'd suggest taking a look at something in the Central Valley, like Sacramento. Sac's dead-smack in the middle of California, so you have relatively-easy access to the Bay Area, Tahoe, or what have you to satisfy your desires to explore/travel/run/hike/kayak/etc. (in fact, the Sacramento and American rivers - which intersect in Sacramento - are very popular for kayaking and rafting).
Otherwise, focus on some medium-sized city that looks like it'll satisfy your recreational needs relatively well; chances are, it'll have enough of a tech scene to be able to find steady, meaningful work.
I happen to live near Reno, which is also on the cusp of a tech boom; big industrial projects in the northern outskirts (including - and especially - Tesla's Gigafactory, but also some incumbents like Amazon) will have steadily-increasing tech needs, programming included. The casinos are relying more and more on state-of-the-art technology, and as a result, a lot of casinos and equipment manufacturers alike are gobbling up programmers and tech support in order to fuel the growing demand. Plus, Nevada in general is very business-friendly, thanks to a better-than-average tax and regulatory environment, and Reno in particular is a short drive away from Tahoe, making it really nice for hikers/bikers/kayakers/runners/etc. I'd be surprised if we don't hit critical mass over here pretty soon.
Basically: unless paying for a hyperinflated cost-of-living and clawing your way through hordes of other prospective coders all swarming "The Valley" is your kind of thing, it's rarely worthwhile to think about Silicon Valley specifically when there are plenty of places that could actually use your talents.
Most developers I know don't maintain an active Github. They're not "rockstars" or "ninjas" - they work 8 hours/day, go home, and watch Netflix.
I find that the HN crowd is usually happy to provide resume feedback, you should consider posting it.
https://www.linkedin.com/pulse/shoe-in-booted-out-3-tips-you...
Let me know what you think...
Assuming I do get a good job now, I would be writing code for them, which most likely would be closed source. If I ever want to switch companies after a few years, should I start writing such code samples again?
The thing which irks me most is when companies do not even bother to look at my profile without open-source contributions.
Something simple that’s useful to you. Then stick it up on Github.
(Or maybe even better yet, find a project already doing something you want and help.)