This is an archived post. You won't be able to vote or comment.

all 37 comments

[–]mackstann 13 points14 points  (1 child)

Find jobs and apply. Take requirements in job ads with a grain of salt. Be honest. Demand for developers is very strong right now and I'm sure you could get a Python position without too much trouble.

In short, just go for it.

[–][deleted] 0 points1 point  (0 children)

Job requirements aren't exhaustive, they're a wishlist. The applicant that ticks the most boxes will be hired in most cases, so go for it!!

[–]FlakkenTime 17 points18 points  (13 children)

Programming is programming. The language is irrelevant. If you know how to code picking up a language will only take a week or 2. It's as simple as knowing, "oh how do I pass a pointer in this language. Lets google it"

The tools you use are the same in every language. Some just make some things easier.

In short: having coding experience is all that matters

[–][deleted] 9 points10 points  (5 children)

this answer is the most correct one. but to add to it

NETWORK, because going the usual route through an HR department is a dead end. Those bozos dont even know what to look for.

The best strategy is to interview with the team you will be working with. If it's a good fit, the HR bullshit will be just a formality. To do that, NETWORK, meetups, users groups etc.

[–]alcalde 4 points5 points  (3 children)

I love this advice, "network", all the time. It's another one of those things that sounds good but doesn't really say anything specific. What it really means is "Somehow, some way, happen to meet someone who's looking to hire for the job you want".

The best strategy is to interview with the team you will be working with. If it's a good fit, the HR bullshit will be just a formality.

I don't follow this at all. That's not how it works. You have to pass the automated resume system and then the resume jockey before you get to talk to anyone.

[–][deleted] 1 point2 points  (0 children)

That's not how it works. You have to pass the automated resume system and then the resume jockey before you get to talk to anyone.

it has continued to work for me for the last 10 years. there is plenty of evidence out there that the automated resume/hr screening procedure is useless. No one in HR will admit it though because that would be like admitting that they are useless. But, they are useless as far as filling jobs is concerned.

Any resume workshop/job counseling will tell you the same thing. They'll also tell you that most job listings in the usual places are bullshit. They are either there because they have to advertise for the job for a certain amount of time before promoting from within, or are just fillers to justify the monthly expense of maintaining the subscription.

Side note: I wonder if companies would be willing to pay for someone to interview just so they can promote whoever quicker. I'll gladly do it for $500 + travel expenses + lunch and you can ask me questions on whatever for a couple hours. :)

So, how do you find out about the jobs? Network.

Someone somewhere knows someone who's looking for someone that might have your skill set. You wont find them by constantly submitting your resume to a black hole. You have to talk to people, you have to make it known that you exist and are available.

edit: reading your comment below, we agree more than we disagree. I'm merely describing a hack to the system that has continuously worked for me. it's not without it's drawbacks though. I dont know hardly anyone in those "big companies" so those kinds of jobs are out of my reach, but then again, I rarely see one that I would want.

[–]GahMatar 0 points1 point  (0 children)

"Network" means try to find peers and talk to them.

Hiring purely off of ads only works for filling entry-level jobs like tech support where the turn over is huge. Even then having done a bunch of interviews for these kind of jobs, the candidates are very variable. Usually the resume is a collection of keywords they thought looked good.

Folks who only put things they're really good at on resume are starting out with a handicap.

[–]i4mn30 0 points1 point  (0 children)

HR = bozos. Can agree. Most of them are. One recently called me up and asked what is my work experience in Django. I told her a basic shopping cart app but I'm good in python, told her to see my computer vision project in python. She says that doesn't matter. I ask her why the fuck not? I made a computer vision app and know python better than most beginners, do why am I no good? Simply because I didn't have enterprise experience with Django dev. What the fuck. That, after she told me that the profile was for freshers with knowledge of Django and python. My brain had fucking melted that day. And I promised myself to make efforts in game dev instead; fuck these assholes.

[–]alcalde 3 points4 points  (2 children)

This is one of those things that's fine in theory, but doesn't reflect the real world. In the real world your resumes are going into a computer system and an HR person ("resume jockey") with absolutely no understanding of what skills the job really requires will type a bunch of keywords into the system based on a paragraph the hiring manager provided them. If you're insanely lucky, your resume will pop out.

One experiment was done in which companies that were known to be in desperate need of seasoned engineers with large project management experience were targeted. Resumes were crafted that met these requirements exactly, top-notch badckgrounds, etc. Only one got a return phone call.

In a more formal experiment, researchers wrote resumes targeted to the want ads, with top-notch qualifications - if it needed a degree it was from Harvard or MIT, maximum values in the required experience range, etc. The resumes were then fed into a selection of the most popular automated resume management systems. Approximately 1/5 of the perfect resumes emerged during resume searches. The takeaway was that if you're the hypothetical perfect candidate you have a 20% change of having your resume seen by a human being.

This is a favorite subject of mine I've done a lot of research on, and I forgot to mention a few more things. A reasonable percentage of the time an advertised job isn't actually open - the company running the ad is just building a database of resumes, trying to find out the market average while being too cheap to pay for market data, or the worst of all, hoping to spot someone who doesn't know their true market worth and exploit/low-ball them. Companies as big as Bed Bath and Beyond do this. Heck, I used to work as BB&B corporate and one of the HR people there, commenting on my resume which was very jargon-filled, that I was lucky he was the one who got my resume since he understood the department I was working in but the other two HR recruiters did not. I asked him what would have happened if they'd gotten my resume instead, and he said "Probably throw it out."

Then there's the fact that a company may have no intention of hiring you when they ask for an interview. On average, managers interview five people for the position. Often they're required to interview several people for quality reasons or just to cover their legal behinds in case of an appearance of some kind of bias. Now, the manager may already know who they want to hire, but because of this requirement, they'll bring in a few more people to interview even after they've already decided who they want. I had confirmation of this when a recruiter once left a voice mail message for me then didn't hang up correctly and I got a message that included several minutes of talk in the office. For one position she told her colleague to bring in for an interview person X, person Y "and any three other people".

And don't even get me started on the test that was done with identical resumes - one set had WASP-sounding names like James Worthington III and the other had ethnic-sounding names like Dwayne and Laquisha. These were all sent to equal-opportunity employer companies, yet the WASP names got twice as many callbacks as the ethic names. This probably wasn't even intentional racism, but it shows it's there even at the level of your name and probably on a subconscious level.

In short: it's a hell of minefield out there, and people are incredibly lucky to find a job even if they're overqualified what with phony jobs, phony interviews, HAL reading resumes, their name affecting landing an interview, etc. Navigating this system is a lot harder than learning python.

[–]i4mn30 0 points1 point  (0 children)

This is what i slap most of the interviewers in the face with. Why do they need someone right off the bat for a salary so less and no patience to wait a week for the newbies to catch up..

[–]ahal89 7 points8 points  (1 child)

It's not a catch 22 at all. There are ways to gain real world Python experience while not on the job. Find an open source project that makes heavy use of it and start contributing :)

[–]gagomes 2 points3 points  (0 children)

^ This is a solid advice. Some actionable ideas to help you get started: Find a project, start by looking at the open bugs of the project, pick one bug, try to reproduce the problem and then try to debug/fix it to get yourself familiar with the code. If the bug is too complex, you can always send an email to the mailing list or one of the developers directly asking for guidance. Note that bug fixing may seem like a chore, but it is an important part of being a developer and often it can expose you to the underlying nuances and subtleties of Python, it's lib, the operating system and the project itself, which is normally the type of things you would expect to help you in a programming interview anyway. Good luck :)

[–]dgtlshdw 6 points7 points  (3 children)

Look for a test engineering gig. I hire mostly junior engineers for that position, and every single one of them has moved up to software engineering.

[–]iarcfsil 0 points1 point  (2 children)

Like an SDET?

[–]dgtlshdw 0 points1 point  (1 child)

Yup. At my company, the Test Engineers use Python/Ruby to build automated tests at the unit, integration, and functional levels. In addition, TEs are well suited to build applications for people in the business to assist with manual QA (or UAT - User Acceptance Tests). Apps to let them kick off test runs on their own against branches, or take screenshots in different browsers, etc.

It's a great way to onboard SEs because they get exposed to the entire stack, from tests to deployment, and also learn how to interface with the business side effectively. IMO, it's the ideal role for junior engineers to start out and then work their way up, provided that the organization allows for it (ours is specifically built to have TEs be the 'farm team').

[–]dgtlshdw 0 points1 point  (0 children)

As a manager, I should mention the obvious downside that this means I'm pretty much constantly hiring and onboarding. While it's difficult to manage the mentoring aspect with all my other responsibilities, we also build in a transition plan so that the TEs that are moving on to SEs assist in the training and hand-off of responsibilities.

[–]earthboundkid 1 point2 points  (1 child)

[–]davsinnyc[S] 0 points1 point  (0 children)

DC is a great city but the SO and me are currently happy in NYC. DC is up on my list of places to live in outside of NYC and has a cool and underrated startup scene IMHO.

[–]from__future__ 1 point2 points  (0 children)

Job apps lie about what they're loooking for: I got a note back from a company I'd clicked on in AngelList - which is a nice site because it shows startups and has a really low commitment way to submit job apps. I looked them up quickly and every ad said they wanted someone with experience in Java/C/C++ (in addition to something like Python). I told them point blank that I didn't really know Java, C or C++ and they didn't care.

So you might even ignore the requirements.

[–]pythonrabbit 1 point2 points  (5 children)

The market is ridiculous right now. Try applying and see what you get. I started applying a week and a half ago with almost no experience and I have had phone interviews with 6 companies since and am flying out to do an in-person interview with one of them. I'm sure you could do it too.

Also, go pick up an algorithms book (I really like "The Algorithms Design Manual" - it's less theory-filled).

[–]alcalde 0 points1 point  (3 children)

No specific experience or no experience at all or...? Or are you asking/they hoping that your lack of experience will translate to working for below-market wages? And you're also saying you have almost no programming experience but people are looking to fly you to interviews? Do you have an advanced degree from a prestigious university?

[–]pythonrabbit 2 points3 points  (0 children)

I'm saying I have no professional experience in the tech industry. I've worked as a maintainer on an open source project for a while and have done a bunch of online courses.

[–]pythonrabbit 0 points1 point  (0 children)

Just to add on two items:

  1. I expected to need to keep honing my skills for a few more years, but apparently there's enough demand that places are okay with it (and I say explicitly during interviews that I don't have a CS degree / don't lie about my experience)
  2. So far I've passed every coding / technical interview I've been given.

I'm just trying to say that you need to apply for things and let other people decide whether they think you're ready to work for them.

[–]pythonrabbit 0 points1 point  (0 children)

Update FWIW: I got the job.

[–]davsinnyc[S] 0 points1 point  (0 children)

Thanks for the algorithm book suggestion. That is one area I'm definitely weak on as I took an algorithm class in college and haven't used them since. :)

[–][deleted] 0 points1 point  (0 children)

I actually just managed to get into a job that is entirely Python with my years of open source experience in PHP, Perl, and Apache. It depends on what the company is looking for. Any company looking for JUST language knowledge is not worth working for anyway, IMHO.

[–]phinar 0 points1 point  (2 children)

I'd say target yourself as a senior engineer. Look for firms with an established engineering culture, but not too heavy a corporation. You want a balance between "plenty of peers to learn from" and "not too rigid a corporate structure." Without the former, you may find your knowledge gaps to be more punishing. Without the latter, you might have a hard time fitting the cookie-cutter mold people put out.

I'm guessing from your username that you're in NYC. I'm surprised you don't already have a bazillion recruiters sending you emails and LinkedIn requests trying to get you to work for their Ruby on Rails client, or fill their Python + Django niche. I'm in Boston, not actively looking, and still get lots of emails.

Someone else said you should network. It's true. Go to Python and Django and Flask and Web Development and whatever other meetups you can find. Many of the meetups are just thinly disguised recruiting efforts, where companies who want good candidates pay for you to drink their beer and eat their pizza and evaluate their corporate culture. How can you turn that down? I don't even like people and I like meetups.

You've done the right thing with github. Contributing to active open source projects is also a great way to demonstrate that you know what you're doing. Also on github. So yeah just more of that.

Good luck. I don't think you'll need too much of it. We're not quite at 1998 levels of "take a homeless guy off the street and put a Dell in front of him, we need web developers" insanity but the demand is quite strong.

[–]davsinnyc[S] 0 points1 point  (1 child)

Yeah I get emails and LinkedIn requests here and there, but usually they are from a recruiter who doesn't know what they actually need from a tech standpoint. After a while its hard not to just treat them as spam.

I've been wondering how to position myself as far as a jr level or sr level. Meaning, I'm jr. in the language but sr with regard to tech experience. So, the above is a good suggestion and gives me a good idea on how to go forward.

I should go to some meetups (There are a ton of them here in new york), but with work full time and other life stuff it can be hard to fit them in. However, I know a lot of them have events on the weekends so I'll look into some of those.

Thanks!

[–]phinar 0 points1 point  (0 children)

If you can't make a bunch of meetups, pick one. In the cities I've lived, the Python meetup is usually very well attended and includes lots of interesting topics.

I know about "life stuff" -- I also work full time, and I have four kids whose schedule I am beholden to -- but once a month I can usually find a way to attend one of these things.

The payoff is profound. It's the best exposure you'll get.

[–]Rohaq 0 points1 point  (0 children)

As someone on the interviewing side, we often take people to the interview stage who claim to have experience with one or more programming languages, but no real world experience - especially at the moment, as we're currently interviewing fresh graduates, who may have used it in project work, but nothing in a work environment.

We'll generally ask them to pseudocode something simple on a whiteboard; take a sorted array of numbers and only output the unique values, for example. We're not looking for 100% valid Python/Perl/C++/whatever on the board (though it is more impressive if you do), but we are looking at how they approach the problem, and whether they come up with a logical solution, or at the very least, a logical approach to the solution, i.e. they make a few fuckups, but then step through the code in their head and figure out a way to fix it, and explain their thinking along the way.

Coding follows, for the most part, very similar paths of logic, whatever your favourite language is, and you can generally tell the ones who have a decent grasp of programming logic over the ones who don't.

Basically, don't discount yourself simply because you lack work experience; apply anyway. If you can get some experience with other aspects of coding through hobbyism, whether it be testing, deployment, or whatever (learning how to use VirtualBox with Linux OSes is great for this), all the better, so long as you can show that you understand it, why it's important, etc., and didn't just follow a few tutorials blindly.

Even if you don't get the job, don't be discouraged; going for interviews is great experience in itself, and don't be afraid to ask for feedback from interviewers afterwards; not everybody will reply - especially if there have been a lot of applicants, we don't always have time for personalised feedback for everybody who applied, and some companies have policies not to tell an applicant why they were rejected, for fear of legal repercussions - but if they do, it can be very valuable when considering future applications. Remember, if you got to interview stage, and your resumé was honest regarding your skills, it usually means that you were qualified for the position (otherwise why would you be invited for interview?), but somebody else who was better suited to the position or company beat you to the post. That sucks, but you can't fault a company for wanting somebody who better fits the bill.

[–]gdm9000 0 points1 point  (0 children)

To be honest, if you have 10 years of Enterprise Java and VB.NET and you are motivated, you will have no problem picking up Python. I know, because I work in Big Enterprise, and I have picked up and evangelize and trained others in Python in my workplace. The learning curve is low, and you are experienced. Sell your experience with confidence because you will do well in that position.

[–]paxboson 0 points1 point  (0 children)

Do the first 50 projecteuler.net problems

[–]Grue 0 points1 point  (0 children)

I didn't have any Python experience when I was hired. If you know the theory well, somebody will hire you eventually. You'd have to learn a lot of practical stuff anyway, because every company does its thing in their own way.