21 comments

[ 3.3 ms ] story [ 53.6 ms ] thread
> have a pet project

I do. My daughter. She's vastly more interesting.

I recently came back from paternity leave. I talked to all of the hiring managers about my baby, because I'm one of those new parents who really likes talking about their baby. :)

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.

It's true. There are so many more things I'd rather be doing than writing code. I think after 8 years in the industry, things can get boring unless you land on the right teams and the right projects.

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.

I don't mention my family in an interview unless the interviewer mentions their own family. I've had a couple of instances of (possibly) agism in interviews, and I am doing my best to get hired.
I always mention my family. I want to be "discriminated against". I want any company I work for to assume I'm going to put my family first. I don't want to work for a company that expects any less.
I always mention in the following context:

"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.

To summarize the article: you must eat, sleep, and shit code, and tell the whole world about it all the time in order to prove that you're "passionate" about programming.

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.

I completely agree with you in principle, yet I still find myself working on a personal website with stuff to show off how I think and work.

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.

I believe that insisting on seeing code is a trap. Code is notoriously tricky to evaluate without actually running it for a while, anyway - look at all the bugs that make it through code reviews - so it works well for "ok they're not completely full of shit" but rarely a lot beyond that.

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.

Managers with her attitude annoyingly unrealistic, but there are some truths to it. It's difficult to convince a brand name company to hire you if you just graduated from a no name school or some bootcamp. I went to Berkeley and MIT and worked at Amazon, Microsoft, and Google. I never have to convince anyone about my passion. This article isn't for me. People with less attractive pedigrees need extras to land interviews and jobs. I give the same advice to my friends who are new to programming.

disclaimer: my opinions are entirely my own and not endorsed by my employer.

A serious question: Where do you find companies who aren't looking for someone who wants to have no life outside of work, and has no relatable projects or experience to brag about?

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?

Some people must be passionate to be good - or at least I need that passion to be more than average.

Also, skill is an arms race. You do have to be better than the alternatives to get hired.

Your DO section starts when you have already gotten the interview...but that is the hardest part for someone who is self taught or fresh out of a bootcamp.

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.

Passion is the biggest red flag from a company to me. It often means we want to work you to exhaustion.
I've heard that argument, but recently I've started to disagree with it. I can only speak to my limited experience, but my three prior gigs have all wanted some amount of "passion", but never once was I expected to work 50/60+ hour weeks as a result. There was crunch time once where we came in on a Sunday and the company paid for lunch and dinner, but that was it.

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.

> "convince us you're enthusiastic enough during the interview". It's all a game of how much you can bullshit.

I agree with both you and GP and it's only convinced me more that 'passion' is a toxic word.

All of the recommendations are just manifestations of, or proxies for, the really important things you need to be a great developer: enthusiasm, energy, curiosity, dedication and thoroughness. In general, for most programming jobs, the technical stuff is unimportant by comparison.

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.

It's interesting how much advice given is "show people hiring you your programming projects". I don't find this does so much for me, because projects I want to work in in my spare time don't have any relation to the job I do. Now, perhaps that might be my failure in managing my career, but I don't know about that.

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.

This article is definitely meant for someone just starting out. I was about to dismiss this completely, until I realized I did something similar to get started - back in 1994 and not on purpose.

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.

"Our field changes constantly, so if you stop coding for one moment, technology may pass you up."

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.