How to Get Hired: From a Developer and Manager Point of View
code.likeagirl.io
code.likeagirl.io
Yeah, you can do that, if you legitimately want to. Or you can have a life away from the computer and go outside once in a while. So here's some different advice.
DO: Be good at your craft. Be able to go into an interview and discuss architecture or algorithms or whatever it is that you're interviewing for with the people you're going to be working with. Be able to talk about your thought process, so that even if maybe you don't remember the exact syntax of some API call or command-line utility, you can explain to the interviewer what you're thinking and why.
DON'T: Don't for a minute believe that you must be "passionate" about programming in order to enjoy it or to be good at it. Don't forget that you and your employer are engaged in a business relationship, and nothing more. Don't romanticize your job or define your self-worth by the fact that you work for FaceAppleGoogSnapZonFlix (or that you don't).
And don't work your ass to the bone chasing someone else's big idea.
In any industry, you need to capture people's attention one way or another. You can craft your personal brand through a website, and your projects and your articles --
Or you can craft your personal brand in person, by schmoozing and networking and making sure people know who you are and what you can do.
I'm not the best people person, but I am a truly excellent software engineer and businessman. I haven't had much success maintaining a loyal network of people who will connect me with opportunities, but I do have an excellent track record of building great software.
The problem is, how do I convince people of that? Most of my code is proprietary and cannot be shared with prospective clients or companies.
If there's truly interesting and clever architectural stuff going on, that can be explained in words in an interview (in person or not). That puts some burden back on people skills, but... if you're creating clever solutions you can't explain to other technical people, I'm going to be worried about your ability to work on a team anyway.
If I'm hiring someone with more than 5 years of experience I'm hoping they can tell me some interesting war stories or have some interesting design ideas when asked about a potential business problem.
disclaimer: my opinions are entirely my own and not endorsed by my employer.
I do believe I am good at my "craft", am a quick learner, and am a direct communicator, but don't have a degree or certification to shove that notion down a prospective employer's throat like is expected of me. Every prospective employer I speak with seems to think I should have either a bachelor's degree or 5 years of experience on my resume. How do I get there outside of college and debt?
Also, skill is an arms race. You do have to be better than the alternatives to get hired.
You need to do everything in the article just to get an interview, just to get a chance.
Getting your foot in the door is by far the hardest part of trying to make a career switch into software development. A lot of people say that you shouldn't have to eat, drink, and sleep code and self-marketing to get an interview with a non-traditional background.
My opinion is that people changing their careers into software development have it easy. Name me another engineering degree where you can teach yourself and get an interview without a degree in that field.
I would like to throw in a note of caution to what's being presented here as desirable traits. It's all just trumpet-blowing and self-promotion, AKA advertising. The results obtained generally never match the level of noise being generated. Most of the really impressive people I have worked with have been very or perhaps too quiet or self-starters. These are the types of people you need to seek out if you really want to doing something worthwhile.
Anyway, now when I see that companies want "passionate" people, I interpret it to mean "convince us you're enthusiastic enough during the interview". It's all a game of how much you can bullshit. I like to believe that most managers, and especially most developers, realize that most code isn't "sexy", because most software isn't "sexy" and most developers are working on most software.
Caveat: I work in the Midwest. Maybe things are different in Silicon Valley, where every startup seems to fancy itself as changing the world.
I agree with both you and GP and it's only convinced me more that 'passion' is a toxic word.
I do. My daughter. She's vastly more interesting.
Most of the managers really liked talking about their kids. One even just got back from maternity leave. But another one didn't even pretend to care my baby. That one didn't give me an offer, but that's okay because I wanted to work on a family friendly team.
One thing I think a lot of us struggle with is keeping our skills and minds sharp even when the code we work on for our day jobs is old and rather routine and uninteresting.
"When necessary I will work overtime, but I prefer not to. I do not normally stay extremely late because I have a child that I care to see."
If a company reacts negatively to that, I will not accept the job. If they later complain I will remind them that I mentioned this before even starting. And most people are understanding, or you just don't want to work for them.
Now, those things might be _interesting_, but they're not as immediately impactful as "I made an SPA for my personal site using React & Redux, so I'm ready to use React & Redux to make SPAs at work". Very few people are hiring, for example, to make Emacs packages, generative art, write anything in Lisp, or a cigar box guitar.
And there's something exciting about doing the things I like only as much as I like them -- if I had to make a dozen cigar box guitars every week, I wouldn't enjoy it as much as I do the ones I have in progress.
I wrote a HyperCard stack that was basically a much better Eliza clone and posted it on AOL. A guy from another college over 100 miles away saw it and asked me to do a side project for him while I was in a no name college.
A year later, during the summer of my junior year, I put that on my resume and along with my interview skills, I got a paid internship with housing in Atlanta.
The next year after college with companies not exactly beating down my door to hire me from a no name state college, I was offered a full time low paying job as a computer operator back at the same company.
That served the purpose (along with help from my parents) of getting me back to Atlanta from the small town I came from. They had one new programming project that lasted until 99. I left, got my first real programming job and from then on my resume, interview skills, and networking with recruiters made it really easy to get jobs whenever I started looking.
I don't have a single line of code on GitHub, I don't have a blog, and I am on LinkedIn but don't worry about curating it that much.
In my view you can easily skip a few generations and nothing is lost. Its not hard to catch up if you actually want to. And if you work on something worthwhile for a while you most likely will rely on mature stuff that works. Chasing the latest tech all the time seems a suckers game. Spend your time on doing something well instead.