Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Desperate Python Hacker Seeking Help and Suggestions
212 points by helpmehn on July 30, 2011 | hide | past | favorite | 181 comments
I don't really know where to start here, as I'm near the end of my rope.

For personal, family, and financial reasons, I've been looking for jobs (unsuccessfully) in west Michigan for the past year. Now, my savings are depleted, and I might be looking at homelessness if I'm not able to get something going quickly.

Background: I'm a graduate-educated Python hacker with advanced coursework in mathematics and a couple CS courses. In my studies, I've taken courses in graph theory, linear algebra, neural networks, numerical analysis, and theory of computation. I also audited a course in programming languages one semester simply because I was bored.

I first learned C nearly 20 years ago, and, though I can't really quote chapter and verse of the standard anymore, I'm still quite good at it. I've also used Python in school and as part of a short stint as a software tester for about 5 years. I'm also interested in learning Haskell and have been working on that for a couple of months.

I can code FizzBuzz in multiple idioms (functional, OO, procdural) in multiple languages. I know algorithms fairly well and love solving problems. I'm willing to do any test anyone has for me to prove my abilities. I do also have some public code on github, but it's just a couple small projects that aren't even really useful at this point.

In spite of all that, I haven't been able to turn it into a job in this area, because I have no real contacts in the industry (meaning I have to go through HR), and all the job ads specify things like "5 years C# experience," so I think my application is just ending up in file 13 because I don't tick the proper buzzwords.

I've tried Odesk &c and haven't been able to get any traction there. I don't really have the ability to do a startup because I'm about $100 short of "$100 and an idea" that's needed to do so. :/

I'd appreciate any help anyone has for me. Please either reply here (and please upvote! this account is, of course, a throwaway) or email to [email protected].

Thank you all,

A Desperate Hacker




As someone born and raised in Michigan and whose partner was also born and raised in Michigan, my advice is that other than visiting grandparents and hiking and touring breweries, you will find your opportunities tremendously expanded by as quickly as possible getting the fuck out of Michigan.


Another Michigan ex-pat here to completely agree. Grew up in mid-Michigan, went to a big university there for CS, and I wasn't interested in writing .NET or Java for an insurance company. That led to moving to SF to hack on Python and JavaScript with other hipster hackers.

The only thing I really miss is Michigan's summer heat (it's mid 60's and windy here - in July).


Ummm....move to the East Bay. Past the Oakland/Berkeley hills it's between 80 and 100 through the summer, and you can always Bart into SF. Rent is going to be a lot less too.

Of course it will never be as HUMID as in Michigan, but...do you really want that?


Sunnyvale & Co are consistently in the 70s


woah, i want to hack python with other hipster hackers!


Definitely this. I live in the Boston area, and there are way, way more job openings for Python programmers right than there are qualified applicants. We3 have been trying to find good candidates in the area for months at my work, and I get a couple emails each week asking if I am interested in interviewing for other Python jobs.


Former michigander here, seconding all the advice. There are more jobs in Missouri than in Michigan.


And if you are really bold, just get the f out of US! You'll learn many things about life, human beings, etc.

My own experience: got out of France, to China, found easily jobs, now work in one of the big Chinese SNSes (written in python, by the way).


I hear Ann Arbor can be OK.


+1


I realize you're using a new HN account, possibly throw-away, or you may actually be new here. At the start of every month on HN is a "Who's Hiring MM YYYY" thread (which includes remote work), and a "Freelancer/Seeking Freelancer" thread.

The most recent were on July 1st, and on Monday new ones for August will be posted. The most recent are linked below, but keep your eyes open for Monday.

http://news.ycombinator.com/item?id=2719028

http://news.ycombinator.com/item?id=2719083

good luck!


Thank you.


Have you considered a drastic move to SF, NYC, Boston, or another startup hotspot? Having no money in Michigan is no better than having no money in a more expensive city, so cost of living shouldn't even be a factor here.

Also, don't limit yourself to Python / C. Stress that you're able and willing to learn any programming language and solve any challenge that comes your way. I know there isn't a single unemployed Ruby developer in chicago, thanks to Groupon.

Finding a job as a developer is actually not that hard, in this economy. Be thankful you're in this industry and not, say, the automotive industry.


Moving to SF/NYC/Boston is really good advice. I moved to San Francisco from Rochester NY after running my own company there for a while. I had NO MONEY left, in fact I was way deep in debt. Surely people thought I was crazy but you know what, I wish I had moved sooner. I waited a year to move out here and I will never get that year of life back. Now, after being here 2 years I've paid off all my debts and have saved up a bit of money!

Don't delay, we have more job openings in the valley than we can find qualified programmers to fill. A full on workers shortage! Don't delay, move out here already, get a job, and be happy!


I'd echo what SeoxyS has to say, in that companies want you in their doors, and that means heading to where they are. The market for remote workers is think to say the least, especially for folks that are not close to company headquarters (speaking from over seven months and counting of looking for exactly that).

However I'd be pessimistic about marketing your skills to shops that dont' use the tech that you have experience in. I've found with my own quest that employers are for the most part, not convinced that it's the programming knowledge, not the syntax that matters. This may be less of an issue in the hotspots though.

And yes anything manufacturing....well it's the 1930's all over again.


I'd also add that Boulder, CO's demand for developers is insatiable. Plenty of startups (and more established) tech companies here that are dying for more help.


Have you considered a drastic move to SF, NYC, Boston, or another startup hotspot?

Ah yes, it's so easy to move when you can't even afford $100 to start a company. Great advice.

Finding a job as a developer is actually not that hard, in this economy.

Looks like you're wrong, in this instance at least.


> Ah yes, it's so easy to move when you can't afford $100 to start a company. Great advice.

My biggest pet peeve about HN? The automatic assumption that if you're not looking to start your own company, you're a worthless idiot.

As bretthoerner pointed out, many companies will pay for you to move. And even if they don't, putting $5k on a credit card to move to someplace where you would actually be employed is still a better plan than starving to death next to your bed.


My biggest pet peeve about HN? The automatic assumption that if you're not looking to start your own company, you're a worthless idiot.

Woah, didn't mean to imply that at all. I just used the "to start a company" bit because he had said that in his post. I notice that attitude around HN and i hate it too.

As bretthoerner pointed out, many companies will pay for you to move. And even if they don't, putting $5k on a credit card to move to someplace where you would actually be employed is still a better plan than starving to death next to your bed.

You are probably absolutely right. I felt that if he can't put $100 on a credit card for some reason he probably can't put $5k on one, but i don't know what kind of relocation assistance companies provide nowadays.


I'm sorry, I didn't meant to snap at you.

And I imagine that putting $100 towards a startup and $5k towards a move to a guaranteed job are vastly different - startups can, and often do, fail. A job offer is much more steady - and if he has a family, stability is important.


Even if a company doesn't have a formal relocation program (it's unlikely a startup would), the founder/hiring manager saying "here's my personal credit card; put all the charges related to your move on it, and I'll expense it for you" relocation plan is probably quite common at a startup; the only provision would be that you have to repay it in a timely fashion if you switch to another job within a year or so. (IMO, if someone gets fired or just doesn't work out, it's pretty pointless to try to collect relocation/education expenses, since he's possibly broke; the case to worry about is relo for job A and then switch to job B at a competitor once you're already here).


  > My biggest pet peeve about HN? The automatic assumption
  > that if you're not looking to start your own company,
  > you're a worthless idiot.
I think that this attitude defies logic. Where do the employees come from if everyone is their own boss? Does this mean that when you hire employees you automatically assume that, "well they must not be looking to start their own business," and therefore think the worst of them?


Wow. Nice tone, man.

> Ah yes, it's so easy to move when you can't afford $100 to start a company. Great advice.

Many, many companies would gladly pay to relocate a good developer right now.

> Looks like you're wrong, in this instance at least.

He's talking about places that aren't in BFE, and he's right.


Definitely, relocation costs vs recruiter fees? Easy, easy choice for a good hacker.


> Ah yes, it's so easy to move when you can't even afford $100 to start a company. Great advice.

I don't think he means he has no money (completely broke). I think he means he is about... So I hope he has a plane ticket.


I find it interesting that your hostility came through so easily and without consideration for how your words could effect someone seeking to employ you. (which is the actual reason I had read this post)

You seem to focus all of your attention on what "skills" you have without regard for the personality traits that make a desirable team member. I can guarantee you that you will meet many developers with greater skill than you poses.

When I look to hire a developer or if I were to be considering you as a co-founder I would first judge your ability to be an asset to the team.

I'd be curious to learn why you were let go from your previous job, but It is certainly a combination of your personality flaws, lack of relevant skills, and inability to adapt.

While the advice of moving to a new city may not seem plausible to you, your reaction to the question is quite telling. 1) You are condescending and inaccurately view "reality" 2) You are a linear thinker (consider becoming more lateral)

I'd wager that the reason you are unable to find a job is because of these 2 character traits...

I'd start with those


mtogo is a random commenter, not the same person who is looking for help in Michigan. I'd love to know what company you work for, though, so I can stay far away.


You write as though you're responding to OP, but this was someone else's remark. Wasn't it?


Maybe being blunt, but if you're seriously about to be out of house and home because you can't find a job, you need to lower your fence. Aspiring to be a programmer/hacker/startup guy is great, but even a job stacking shelves in a shop would give you enough money to survive on while you continue looking for a job you'd enjoy (Or working on your own projects). Put it this way, living on the street gives you hardly any chance of getting somewhere you want to be. Having a house and a crappy job for a few years while you get back on your feet is a much better choice.


Agreed (there are many steps between "can't find a job coding python" and homelessness), and to extend this a bit -- if you're panicked about a desperate money situation, it's gotta be hard to concentrate enough to write code worth a damn, or do any other task that requires concentration (including having the presence of mind and confidence to properly network with other hackers in the rare occasion you may see them IRL).

I'd try finding some kind of homeostasis first -- possibly including some kind of job you'll never put on your resume, and cutting living expenses to the bone if you haven't already; and is there any social services support available? -- and once you've stopped the downward slide, it gets easier to think clearly about what to do next.

And as mentioned by others, definitely check out the "hackers wanted" and related topics posted monthly; that's where I got my current gig. But it takes time to get through to where you're actually earning money, even if you start some conversations with interested potential employers -- particularly if you're trying to work remotely! -- so you very likely need to take steps immediately to get things back under control regardless of what options turn up there.


Believe me, I'm pursuing that route as well.


This country is harsh and there is NO safety net for the able bodied at the end of a rope. Deliver pizza (and get shot), stock shelves, what ever it takes.

You are not your job. It is illegal to be homeless in the USA.


I don't really understand the downvotes. Please explain.


Your description really isn't enough to give you advice. You should post your resume online somewhere and link to it.

But, based on what you said, I can tell you:

Using Python in school and at a job doesn't make you a Python Hacker. From your description of yourself it sounds like you mostly play with programming. It may just be the way you worded it, but what was the last 'major' software project you have worked on, either for work or open source? Have you been a developer professionally, or have you skirted on the edges of the industry? I interview candidates and review resumes all the time, and nothing sets off my spidey senses more than someone who overestimates their skills. If you don't know a topic well and know you don't, that is totally fine, but when a candidate says they are an '8/10' in a language, but I gauge them to be a near beginner, it tells me they are blissfully unaware how much they don't know. That means that they probably have never learned any language or topic with a high degree of mastery, and that they aren't aware of how much more is out there in the language in question. That means they aren't very curious, and they aren't passionate (or worse, they aren't smart).

It also sounds like you have a graduate degree in some non-technical field. Did you graduate recently? The courses you list are not very advanced, and coursework doesn't really matter for employment anyway.

We are hiring aggressively (like most big tech companies in the valley) have an engineering challenge up at: http://codeeval.com/public_sc/48/ . If you do it competently we will call you back. We pay well, have great benefits, offer relocation, etc. However, it is fairly challenging and the majority of people who attempt it are not able to complete it.

Honestly, FizzBuzz is meant as a test of basic programming competency. It's disqualifying when an engineer can't do it, but it's not anything to brag about. A competent engineer should be able to implement FizzBuzz in any computer language in a few minutes, even if they've never seen the language before, so long as they can get documentation.

No matter what happens, you aren't going to find work in Michigan. You aren't connected and from the sound of it your resume is very light, and you don't have a network, so contracting and freelancing just isn't realistic for you. Based on your description of yourself, you would be a fairly junior level engineer wherever you go. You have to start somewhere, though. Good luck!


I read a comment like this 2 years ago, but was able to understand it only now. Get in the market and work something. Anything. Even if it's small and simple. People are looking for things quite different than what is taught in school. They are also looking for things you'll never think of and the implementation isn't just coding knowledge.

I'm living in a Third World country, so freelancing is my way. It's not quite hard to get some jobs, but you need a portfolio and few connections.


I looked at that challenge. Is it really that much harder than FizzBuzz? Seems like it requires more string manipulation and about the same level of mathematics as FizzBuzz.

Or am I falling victim to the effect where everything I know how to do looks easy?


  ...am I falling victim to the effect where everything I
  know how to do looks easy?
You could try it and find out. :-) I ended up using a third-party library which implements an algorithm I hadn't heard of before. (My response to the challenge is below, with the useful hints X'd out.)

  Hi, guys.  This is not a gungho-serious job application, though I have
  been sniffing around machine learning/coding jobs for a long time and
  could be persuaded in the right circumstances.  I saw justin_vanw
  mention your Code Challenge on HN and decided to give it a go for fun.
  Didn't realize when I started that the upload mechanism at Code Eval
  assumes a single file, so I am mailing it to you for evaluation,
  instead.  I must admit, I don't have much formal algorithms training,
  but after about an hour's thought I just googled "XXX," and the XXX
  algorithm happened to be the top of the list.  I have a PhD in Applied
  Mathematics from MIT, and I have been focusing on Bayesian Data
  Analysis in Computational Biology, so maybe it was just a lucky
  search-engine hit.  But in general, I am a reasonably quick study.  My
  solution is at <http://XXX>, and is tested on python 2.6.5 with scipy
  0.7.0.  Untar the download, go into the XXX directory, run "sudo make
  pyinstall" (I had to add -fPIC to Makefile's CFLAGS assignment to make
  this work), and then the solution program is in
  milo-challenge/solution.py:
  
    met% python solution.py < test-input.txt 2> /dev/null
    XXX
    XXX
  
  BTW, XXX is a C implementation of the XXX algorithm from <http://XXX>,
  and is the reason I couldn't easily go through the Code Eval framework.
  It sends some garbage to stderr, which I haven't bothered to clean up.


An external library? Some sort of linear algebra, I assume? I believe that a very simple algorithm that solves problems like this was featured on HN something like a week ago.

I hope that's not too much of a hint, but anyone who can figure it out from that was probably a good candidate, anyhow.

I should also mention that I did code a solution in Perl, or at least most of one, though I did not submit it. I have a grandmother to care for and that limits me on relocating, even though I would be interested in finding more interesting work.

Assuming I don't eventually go crazy in a futile attempt to explain to corporate that methods which turn a 9/2272 inch rounding error into a piece of glass that's half an inch too big do not qualify as "validation."


Not linear algebra, although the optimization problem can be expressed in terms of linear programming, I think.

I wish you well in caring for your grandmother. That stuff is way more important than programming techniques.


It's weird how full-circle I've gone on this. I went from "the naive solution is easy enough to write" to "I bet there's a more efficient way" to "oh crap, my solution doesn't actually work, because the preferences can have ties."

I did have the fun of coding up the algorithm I saw on HN a while back, though, so it was fun.


Incidentally, I had more time this weekend and found that it gets a lot easier if I use a more suitable algorithm. Considering it as a S-M problem only makes things more complex, because there can be ties (which kills the nice algorithm for solving these) while introducing more complexity than is necessary, given that there's a single cost to be maximized, rather than two distinct preference lists.

Seems like I should have been doing it as an A problem, where you can just use the H algorithm. So I want to say thanks to the guys who posted the challenge: it was a good excuse to teach myself some combinatorial algorithms.

Lest anyone wonder, I'm using those weird abbreviations so as not to spoil the problem. Figuring out which algorithms to use is half the fun and I read about quite a few different types of problems before figuring out which was the most suitable. I'd hate to deny anyone else the same learning experience.


Unless I'm misreading the question, it's actually a good deal trickier than FizzBuzz - the difficult part isn't computing the "sustainability scores" from the input strings, but in maximizing the combination of product offers across the set of offers and customers. It's actually analogous to a rather well studied combinatorial optimization problem (that I won't call out by name here so as to avoid letting potential job applicants look up the answer too easily) that has a fairly non-obvious pseudo-polynomial time dynamic programming solution. The naive solution is exponential time (and still a bit tricky for a novice). I suspect the intent of the question is to find applicants that give the optimal solution rather than the naive one (and to weed out applicants that can't give any correct solution), but I could be mistaken.


I, too, looked at the challenge and originally had the same thought. However, upon a second reading, it seems that there is a lot of room to misunderstand the requirement, which is almost certainly where the difficulty appears.

For example:

1. "Your task..." is not directly correlated to the outputs requested. 2. Item 3 in the SS ranking isn't clear. Specifically, "besides 1" could mean "besides 1" literally, or "besides 1" - where "1" means "one of the above," or even something else.

I was about to attempt to do it, just for fun, but then decided against it because the challenge itself had too much ambiguity in the requirements. That's very likely intentional - but since I'm not looking for a job, didn't need to waste my time playing "a game!" Maybe the successful answer rests in seeking/understanding the real requirements???


Any ambiguity in item 3 is not a problem, because no matter how you parse it, the number of letters will always be a positive integer.


This is to both you and your parent reply -- have I completely misread statement 3?

'3. If the number of letters in the product's name shares any common factors (besides 1) with the number of letters in the customer's name then the SS is multiplied by 1.5.'

To me, this says that if len(pname) is split into prime factors, and at least one of those is found in the list of prime factors for len(cname), then you multiply your SS by 1.5. The "besides 1" remark is obvious, because 1 is technically a factor for every number. I'm not quite sure how the math pedants come down on that, but this is just common sense.

Negative or positive shouldn't really affect this (I guess it could be construed as "-1" instead of "1" in the factor list, but.. you've really got to bend over backward to make that into a problem), and it's completely not ambiguous. The "besides 1" could not reasonably be taken to mean "besides the first statement", as the two statements deal with very different subject matter.

Am I crazy here? Did I miss something?


You're fine, I'm the crazy one...err...ignorant one! I was just wrong. In viewing some of the other comments on this thread, it's clear to me that milo would have done a fine job of filtering me out! :-)

FWIW, I looked at the problem differently - I interpreted "factors" completely the wrong way. I'm humble enough to say that my bad interpretation is based on my own lack of education in mathematics. I have none! Zero, outside of what you get in high school. I'm definitely not the low-level algorithm guy. My lack of math skills has not held me back professionally, but I get healthy doses of humility, like this, on occasion. "One day" I want to go back and study math and see what I've been missing all these years.

I wanted to give you the respect of a reply since you took the time to comment.


I think you're doing the right thing, but you did miss something :)

Oddly enough, I think that the algorithm you need here was also on HN a while back.


Uh, I didn't mention the algorithm at all. As someone else mentioned, the hard part of this problem is finding an optimal solution; there's some minor stuff with keeping information together and building a modular program, but what I said is completely unrelated to that.

As we're entirely just discussing the spec, and not the secret hidden hardness of this problem, could you tell me what I missed? If you're concerned for their confidentiality, then email it to me at [email protected]

Disclosure: I'm not planning to apply to this job or to complete this challenge, because I have other things to program for fun, and an internship / school to keep me busy. I'm strictly curious about our different interpretations of what seems (to me) like an unambiguous spec, and I'm prepared to be totally wrong on my reading of it.


I'm referring to yet another algorithm. It probably won't matter for numbers that small, but the ancient Greeks invented a better way.

And yes, even it was discussed on HN recently.


Ah, you mean the algorithm re: factors. Okay, thanks.


I've had a go. It is hard because they don't define what a letter is (a-z, alphanumeric, non-whitespace). I tried with A-Za-z and got the correct answers for the test, but the incorrect answer for the website. Due to the way that the problem works that isn't too unlikely as all the letter function has to do is give the same answers on things like even-ness and whether it has a common factor with another number, things that aren't unlikely given the small amount of test data given.


You can email me your solution at [email protected] and I'll take a look. We just started doing the challenge with that site and there are probably kinks in the grading.


I've noticed what I was doing wrong. I'm onto more interesting bits of the challenge, I hope. Thanks for the offer, though.


The problem's description is deceptively simple. It poses at the end a combinatorics problem that is non-trivial. I submitted a correct solution after a bit of research; my first approach was the naive solution.


How did you submit the solution with a library? Doesn't upload mechanism assume only 1 file?


If, by "non-trivial," you mean NP-hard, I agree. :-)


I was trying to be vague so as not to give hints to those interested in trying the challenge. Evidently, I am utterly guileless.


Given the number of combinatorial optimization problems that are NP-hard, I don't think that gives anything away to anyone who doesn't already know what you're talking about.


> No matter what happens, you aren't going to find work in Michigan. You aren't connected and from the sound of it your resume is very light, and you don't have a network, so contracting and freelancing just isn't realistic for you

I disagree with this. Speaking from experience, it is very possible to fill up on remote freelance gigs. In fact, I work in Northern Michigan, which has a much slower economy than West Michigan and the Ann Arbor area. You don't have to take work from only Michigan.

If you're starting out, keep your rates lower until you get a feel for the work. You may find that you like being a full time remote freelancer.


Arghh. That CodeEval problem is driving me nuts! I'm happily employed, but I love a good challenge. Is there any way you can send me more example input? CodeEval keeps coming back as a failure, but my output matches the challenge description.

[email protected]


plz send mail to support @ codeeval with any questions/support issues about the platform. thx...


Is there a certain language you'd like to see the code challenge completed in?


The OP said he knows graph theory, it should be trivial for him then.


This looks like a variation of the stable marriage problem. http://en.wikipedia.org/wiki/Stable_marriage_problem


Don't underestimate the power of 'cold-calling.' While it's terrifying for people not used it to it, you'd be surprised how friendly people are when contacted out of the blue for a legitimate question. Find some developers on open source projects you like, see where they work (either ___location-wise or company-wise) and send them an e-mail saying "Hey, I wanted to thank you for writing/contributing to the X software package. I've noticed you live in / work at Y; I am currently seeking a development job in Python or C and would be interested in moving there/working there. Do you happen to know of any opportunities available? If not, again accept my thanks for X software." Don't attach a resume, if the person is responsive the first thing they will do is ask for one.

The key here is to actually want to move to that area, work with that company (whether it's 10 or 10,000), or work in that field. People detect insincerity relatively easily, don't contact people unless you actually want to work with them as opposed to anybody. On the flip side, never let yourself be discouraged by thinking "nah, I'm not good enough for them." The worse thing that happens is the person doesn't respond; this may feel bad but you end up with a thicker skin and learn how to do it better the next time.

Also: do not spam. Again with the insincerity thing above: this technique only works if you want to work with them instead of anybody, and I promise you they can pick up on that.


Thanks. I appreciate the suggestion.


Just moved from Grand Rapids, and can say there is a very small but growing startup scene in Grand Rapids.

Although I didn't get to check it out, there is a great Python User Group that meets regularly (I believe every other Monday) at various locations in GR, usually at Calvin College. Join the group and they'll send out regular updates. Ben Rousch is the contact there, he also runs the local Web Dev User group. I've exchanged emails with him before, he is a great guy and very helpful. It might not hurt to get in touch with him.

More importantly, just recently someone put up a job posting on the group looking for a python/django programmer. I suggest you check it out. http://www.fiveq.com/blog/employment/fiveq-employment-opport...

It might not hurt to drop into Atomic Object, they're growing and usually hiring as well: http://www.atomicobject.com/pages/Working+at+Atomic+Object

If I can be any help to you, perhaps putting you in contact with other people then let me know. My email is listed on my profile page.

Best of luck.


First off you need to consider scraping together enough money to get out of where you are. Move to a place that has jobs. You say "family"... do you have children? This is an important consideration in terms of where you can go... I think there are basically two types of cities with solid startup/software job markets: There's the NYC/SFs of the world, incredibly lucrative, incredibly expensive. Then there are the Austin/Boulders of the world, financially reasonable, but not the "big time". From the sound of your situation, the latter is just fine.

Also if you are that desperate, you should consider moving to one of these places and leaving your family behind until you've made enough money to bring them to you. That may sound horrible, but it's the way people have pulled themselves up and made a better life for their family for centuries.


I second the latter paragraph. It won't be long before you've got the cash to move for real - but if you're on your own in the world, you can be a lot more flexible and still send money home for the family. (Assuming that is even your situation.)

I've never actually needed to do that, but my wife and I have agreed that it would be a valid emergency measure if and when.


My advice. Don't do contract freelance work. It is risky in that if you're not a good business person, you will string yourself along under the illusion of paying the bills. But you'll slowly be moving backward as projects take longer than you expect, you undercharge, etc..

You really may need to uproot your family. I know that the tech economy is booming in several major urban areas. I'm up in Toronto, and have headhunters calling me like crazy. There is a dearth of programming talent. I know several people in San Francisco and they say that the valley has the same problem.

The situation is so desperate that I know several companies that would entertain hiring somebody in Michigan to do work for them remotely. It might take a trip up to Toronto to meet with some folks, but that's just a several hour drive.


I'm actually looking to move back to Toronto, where's the best place to look for these jobs? Most of the stuff that I hear about are corporate Java and/or C#/.NET type jobs.


Seriously, start on Twitter. Everybody who's anybody in the Toronto developer scene is pretty active on Twitter these days. Find a few developers with blogs, follow them, then start following a few of their followers or people they RT. From Twitter, start attending some meet-ups. If you're an iPhone, Android, Python, Ruby or JS developer, it's a pretty good job market right now. Most of the places you'll want to work at are right in the downtown core so you can bike, walk, or subway/streetcar it to work. That also makes socializing vastly easier as everyone is clustered in the same area.

http://www.meetup.com/HTML5-Web-App-Developers/events/225564...

http://techtalksto.com/

I know there are a ton of Toronto lurkers on here too.


  > start attending some meet-ups
This is obvious, but doesn't work so well when you are not living in the area. Flying from Portland to Toronto to attend a meetup is a bit pricey. I did meet someone from Freshbooks at OSCON though.

I'll also mention that when I was last living (~3 years ago) in Toronto, I didn't find it easy to hook up with the local Python/Perl communities. Heck, I sent a request to join the Toronto Perl Mongers mailing list and never got a response. I assumed that there wasn't much of a community.


There are a bunch of big python/django shops in Toronto... more than I can count on two hands... and they are all hiring.


Just curious, what do they do about visas for American employees?


NAFTA has some exceptions for software-type jobs, but there is a requirement of 2+ years of experience. I looked into this like 6 years ago, though. I don't know what the situation now is. Some companies are not too keen on treading the work visa waters though.


Thanks, I ask because in terms of geography and distance, it's an order of magnitude different than, say, a programmer coming to the US on an HB-1 or an American going to the UK. It seems like they could get some decent American programmers without the new hires having to move too far. But probably not without visa help, right?


If you have enough qualification points, and sometimes subject to a province's discretion, you can get a Canadian work permit without being sponsored, which can make it much easier to subsequently find jobs. From what I hear, applying directly to Alberta or Quebec via their provincial-level immigration offices is the best bet (with the latter it helps if you can say you know at least basic French).


There are a number of open source Python projects that have vendors associated with them (or large corporate users). OpenStack is one such example, but there's also various scientific libraries, e.g., NumPy/scipy that may better suited to your background. Typically open source-heavy companies are more open to remote/distributed work: I am not saying working remotely full-time, but something along the lines of working on site for the first six months (to prove yourself) and then working remotely most of the time/flying in on site for one week a month.

Consider this: identify several such projects along with the companies that are heavily involved in these projects open source communities, i.e., ones that are actually contributing and/or heavily modifying them.

First, send a patch, do something to "get your feet wet". Then pick a substantial sub-project (not something trivial), start contributing to it and at the mean time contact the engineer/managers working at associated companies (as not to be trapped in the HR resume black-hole). In the interview, at least mention the work you're doing.

Chances are they will be willing to fly you out to interview and help relocate. Be honest with them and say that (due to family reason) you'll need to at the very least travel.

In the worst case, you could do the reverse of working remotely/visiting the office frequently: rent a room in the remote area, work in the office most of the time, travel to Michigan for weekends/a week at a time: this will be difficult, but at the very least you'll be able to establish more "formal" experience and industry connections that you could translate into a more sustainable arrangement later (don't, however, start a position knowing that you won't be able to stick for at least a year and a half to two years: that would not very ethical, especially since you're looking for a company that will invest in your career). Of course, some family situations, e.g., elder care won't allow for that. In that case, still the advice applies: you're far more likely to find a remote-work scenario in an open-source related company than elsewhere.


Quick clarification by: "pick a substantial sub-project (not something trivial), start contributing to it", I mean:

_Implement_ a non-trivial module for the project in question , i.e., do much more than fix a few bugs.

Since you are junior (no actual development experience), it might not be realistic to hope for a remote position even in companies otherwise friendly to it. You need to make it a point to move for at least a few years: you'll want a company that can invest in you and give you a chance to prove yourself, before you can do more unorthodox things.


just curious have you contributed to open source? If you have how did you get started with little experience?


Aside from the "move immediately" advice, I'd suggest getting your code out there in a more public way. This dramatically increases your chances of being hired, because it replaces the technical interview. You just have to prove that you're capable of dealing with other human beings, and most people can do that.

Do something -- anything -- to get your code out there. Even if it's the most obscure and idiosyncratic library, throw it on Github.

I got a ticket to the Valley on the strength of some decently interesting (but by no means amazing) open source code. And I'm not even American and have no CS education, so it was considerably more difficult for me than it will be for you.

Incidentally, my current employer, the Wikimedia Foundation, is very open to remote contractors. (I caution you that we tend to be a bit slow to hire.) If you want to continue to live in Michigan, you won't be unique in your isolation, because these organizations are basically run over the internet. And your salary will go much further if you don't have to deal with rent in SF. http://wikimediafoundation.org/wiki/Jobs

Mozilla has similar advantages. http://www.mozilla.com/en-US/about/careers.html


Can you tell me more about how you accomplished this?


I'm not sure I would call it an accomplishment. More like a happy accident, but in retrospect I should have been doing that sort of thing all the time.

Frustrated with my inability to find employment, I did a series of hacks which became really popular. One succeeded because I like hacks which produce pretty pictures and so do a million other blogs. Another involved AJAX, which was a hot buzzword at the time (2005), and that got attention from from employers, who started calling me out of the blue. Whereas a few months prior I'd washed out of an interview with a local website that did used car listings.

I was well-prepared for the mega-hyped trend that was AJAX and JavaScript (self-taught comp sci, graphic design, web experience), so I was lucky. I had to prove myself in other ways afterwards though. The point is, these days, having code out there that people can download and evaluate will at least get you through the front door.


Repeating the advice of others to move, if only in the hope that the repetition will alude to the validation of said advice.

I usually don't have a good word to say about recruiters but in cases like yours it might be worth contacting a few who work in one of the hubs you could move to, and have them look at your resume. They'll help you brush it up if needed but more importantly help you validate that there are employers looking for your skill set (because if they don't think they can place you, they won't spend any time with you).

Have them set up 3 or 4 interviews and scrape together the fare to come here and you might not need the return ticket. Just don't indicate to them that you are desperate but white-lie and tell them that you just want to relocate to SF/NY/etc.

BTW I moved to SF from a different country (UK) 5 years ago because it is where I needed to be for my career - it was hard but I did it and it is one of the best decisions I made. The winters are better here too! :)


Agreed with Ben. I'm an Aussie transplant and know the pain that comes with moving but have to say it was the best decisions of my life.

I help the portfolio of Charles River Ventures (early investor in Twitter, Yammer) find exceptional hackers to help change the world. Happy to look over people's resumes and give feedback. If you're not from Silicon Valley, I'll set you up with a half dozen interviews and can help you overcome visa issues -- I'm passionate about seeing the world's smartest people working in startups (either as founders or early stage employees).

Email: elias @ crv.com


Here is my story. I graduated from Mechanical engineering 3 years ago. After I finished school I got a job at a small company doing embedded development, mostly in `c`. My salary was $78000.

Two years after I started my job, I decided to learn iOS programming during evenings and weekends. A few months later I quit my job and decided to do iOS programming full time. At the time, I was working on an idea and didn't have anything ready for the world to see. Months passed and I still wasn't ready. I realized that it would take me another year to complete so I decided to pivot and work on another product.

After 1 month of pivoting I released my first project on the Mac App Store and was making ~$5000/month. A few months later, a company came knocking on my door and gave me a job offer. I accepted and am now making more than I did in my first job. I still have my business running on autopilot. I am 27.

This is not to brag. It is to show that if you really want to get out of the rut that you are in, lock yourself in a room, build something and release it into the wild. If you don't have a good idea, copy someone else's. By doing this, you'll learn new skills and will eventually become valuable to others.

Best of luck.


I'm a Python/Ruby developer in Chicago originally from Michigan. If you want to stay close to Michigan for whatever reason, but need a job, Chicago is a great compromise.

Chicago has an excellent Python user group: http://chipy.org/ Get on the mailing list and let them know your situation. Also consider learning Ruby on Rails. If you Python, Ruby will be easy to learn. If you know any Javascript at all, leverage that.


Try to get a job as a sysadmin or IT person at a health care organization/hospital. In economically depressed areas, these organizations usually provide the best paying jobs because they are not subject to normal market forces. They exist everywhere, and will hire anyone even sort of qualified for the job. You can use that experience to move to a city where they have the python jobs you want, because health care orgs everywhere are desperate for people who know about their specialized infrastructure.

Here's a few examples of what I mean if you are say, in Grand Rapids.

http://careers.spectrum-health.org/?job=main.searchbycat&...


"They will hire anyone even sort of qualified for the job"

Are you sure? When I read those job postings, I see stuff like:

Job Requirements: Bachelor's degree. Minimum of five years experience with Informatica or another comparable ETL product. Knowledge of data warehousing. Experience with development and trouble shooting within the HealthQuest PLIB, PM, IIP, COMLINK HL7, MR, PA modules and Q-processing. Experience with monitoring and addressing batch cycle activities.

Either they grossly overask, of you wouldn't have a chance if you're not an insider already.


If you're able and/or willing to go to Silicon Valley, which is where I think your best bet is (note: I don't live there, but if I was near homeless that's probably where I would go), then I will figure out a way to get you a plane ticket with few strings attached. The strings would be around timing and departure ___location: I need enough time to get a decent fare. I would expect you to have a plan. I would ask that you fly out of a major airport for competitive fares. That's pretty much it. My email in my profile.


Wow. I'm floored. Thanks for your response. I'll keep it in mind.


I agree with some people that a move might be your best bet, though from your post its not obvious if there is anything (such as family) keeping you from moving. I think its a shame that oDesk did not work out for you - maybe try another service such as eLance where I personally feel (as someone who employs via these services) that a better quality of person is found on there. Yes there is the chance of competing against lower waged people in other countries, however I personally employ based on skills and communication and these days the costs are not as wide as they once were.

I am curious as to why you have not found something locally. Surely there are groups you can join, either on or offline, which would help you.

I hope that some of the comments on here will help you or spur you into some action


Is there anything (other than money) stopping you from moving to San Francisco (well, Mountain View) next week?

It would be pretty easy to find a tech company willing to do phone/internet screen for a day or two remotely, and then fly you out for interview. If it goes well, you'd probably be pressured to just stay and work and then have someone else pack up/ship your stuff :)

You should have done this instead of wasting your time trying to find jobs locally, really.


I'm at the point where, if I had an offer with a relocation package in the Bay area, I'd be there. Thanks for your suggestion.


I feel like I was in a similar position. My advice is gonna suck, but you should really try to start working at a grocery store/shitty party time jobs/borrow or something to save up about $2000 and flat out move. That will be enough to get you to the bay area, find a job, and live for about a month, maybe even get a room.

If you come to SF, you'll be able to find a job doing something somewhere to get off the ground. I promise you this.


Why are you not at PyOhio? The west michigan group carpolled. Broadly speaking: go to python meetups, network.


I second this. Also consider Python-related meetups and user groups, like Django.


Have you tried looking through some of the more recent "Who's Hiring" threads here on HN?

Here's the most recent one from June, looking for freelancers (I'm not sure if a July one was posted):

http://news.ycombinator.com/item?id=2607058

And here's a list of some more recent threads:

http://news.ycombinator.com/submitted?id=whoishiring

I imagine you're pretty stressed out, but hang in there, and good luck.

(Woops – looks like jcr beat me to it. His/her comment has even more recent information.)


Try temp agencies and contract agencies. I'd be shocked if they don't pick you up. I've been told they are pretty desperate for warm bodies right now and know several people that have gone that route out of desperation. Sure it is not permanent or glamorous but it will pay the bills.


"5 years C# experience,"

/\ Try bending the truth.

Firstly you'll need different CVs depending on the job you are going for. So take the one saying "Did python for 5 years at XYZ corp" and change it to "Did python and C# for 5 years at XYZ corp" - This should get you past the HR gatekeepers and in the meantime you just have to skill up on c#. When you reach the interview with technical people they will be more reasonable - providing you are actually comfortable with c#.


On this point remember that "5 years C experience" != "5 years commercial C experience".

If you were doing commercial-grade programming in Uni (or before) or any open source then consider that valid experience.

Finally, just because a job says 5 years experience, and you don't have it, doesn't mean that they won't consider your resume if you submit it. Better to hear the hiring manager say "no" then not submit your resume at all. Case in point, I don't have a college degree but I think every job I've ever held in my 12 years in this industry has asked for one on the requirements. I don't have one but I can do the job so I just applied anyway otherwise I'd never work!


Dude, you NEVER have to go through HR. Use Google, and track down a manager working on something interesting. Most interesting projects will have a web presence of some kind. Those that don't usually aren't interesting (or are buried deep in Google or Apple).

If you can't get the manager's contact details, then you call HR, and ask for their details.

If that doesn't work, find a company that might have some interesting projects. Contact their IT department (get the number of HR if you must), and ask about what projects you might be able to join. Note, many interesting projects are not in IT, but in other departments; but IT will have some idea where those projects are. If you are good at number crunching, tell them that. You can try other tricks, like if the manager says they are too busy, you can ask if they have someone else who can take the call. You can also find out if the company has a programmer's mailing list - maybe IT could help you there?

You will get rejections, but it's better to get 20 rejections and an offer in a week than no rejections and no offers.


"meaning I have to go through HR"

By the way, the reason why you haven't been able to find a job is because you have no idea how to land work. (I can tell because saying "I have to go through HR" is as clueless as someone saying "I wrote a program but it didn't work so my computer must be broken" :-)

The relocation option works because you don't need to know how to land work to get hired -- there are jobs all over the place and you just walk around and stumble over one.

That's not a bad idea for your situation right now: if you don't find something just by posting on HN here, you could get yourself to San Francisco, crash on someone's couch, walk around and talk to people, land something that gives you some income. (The trick here is that the more active you are about it -- e.g., if you come to SF, and if you go around and talk to people -- the faster the process will happen).

Now, longer term, thinking about where you want to be next year (that is, after you've resolved your immediate crisis), you might find it beneficial to learn how to land work, depending on your goals. For example, maybe for personal reasons you'd prefer to be in Michigan.

Someone hires you because you will solve a problem for them. Some of the problems that people have can be solved with Python or numerical analysis, etc. Of the people with problems that can be solved with your skillset, a small percentage already know that their problem can be solved with Python or whatever. Those people advertise for jobs. When you don't find a job in Michigan, it doesn't mean that no one in Michigan has problems. It doesn't even mean that no one in Michigan has problems that can be solved using linear algebra and so on. What it means is that people in Michigan with those problems don't know yet that their problems can be solved with those techniques. Thus sending HR a resume listing those skills won't land you a job because the recipient doesn't understand that you can solve their problem.

You can learn how to land work in the same way you learned how to program. Think back to what what your most effective learning method for you, when you were learning to program. (Was it reading books, taking a class, or talking to people who already knew how to program, or what?) Then use the same method for learning how to land work: if reading books works best for you, read a book or three; if classes are your style, take a class or a workshop; and so on.


Contact StartupDigest VIP: http://startupdigest.com/vip/ tell them you met Jonathan from Hackers & Founders online on Hacker News. The concierge job placement service they started two months ago is already the best in town... low key. no pressure. opt in system for both startups looking for talent and engineers looking for jobs. As a bonus, it's run by two of the savviest and most connected hackers in the Valley: Chris and Brendan.

<full disclosure> They just sponsored Hackers & Founders Silicon Valley this past week, and they are our sponsors for the next month.

But, their sponsorship was mostly to because we're boot strapping an incubator without much of a budget at all.

Doesn't matter. They're the best source of startup jobs in town, and it's the best way to find startup jobs in town.

</full disclosure>

Also, start doing some challenges at CodeEval.com. After you have some completed, ping me, and I'll let Jim, the CEO know. We'll get you hooked up.


Thanks for your reply. I'll look into it.


Canonical is hiring Python folks (please note you'll have to dig through there for the PyJobs): http://www.linkedin.com/jsearch?page_num=1&sortCriteria=...

plus, many of their positions assume you work remotely.


Move.

Really.

SFO, NYC, Boston, Atlanta, all need tons of work.


If your skills are as you describe then move to the bay area and look for a job out here.

There are a lot of hackers out here who could help you out. Heck, even I have a couch (in Mountain View) that you can crash on for a few weeks. Email me.


There are plenty of people in Seattle (and I'm sure most big cities) having a really tough time finding people to hire. In Seattle, I know of several companies looking for python devs.

As other people here are stating, you need to move.


Do you need to move, though? If programmers really are that scarce, is a plane ticket + hotel enough disincentive to interview a good candidate?


This post is a day old now, so I'm guessing this won't be getting too much visibility, but AtomicEmbedded (my employer) is hiring experienced embedded software developers.

http://www.atomicobject.com/pages/Embedded+Developer+Applica...

If the Embedded group doesn't look like your thing, you can also submit an application to our parent company, AtomicObject. They are also hiring.

http://www.atomicobject.com/pages/Working+at+Atomic+Object

AtomicObject normally hires generalists (which it sounds like you are), so experience with many languages and programming concepts is a huge plus. AtomicEmbedded needs a more specific developer who can get their hands messy with microcontrollers, oscilloscopes, and low level C code while still playing in the land of ponies and fairies (Ruby/Rails/Python/C#).

If any of this sounds like your thing, don't hesitate to submit a resume. We're always looking for the right people.


The thing about programming is, to be good you need to do it. You wrote a lot of things like "I can do this, I can do that." But I guess a lot better to find a job would be "I've done that". Hell, even if you write a Snake or Tetris clone for the iPhone/Android Market, or write small patches for documentation errors for opensource stuff you use. Even projects where you just helped a friend to finish his master thesis would be better then nothing.

And if you are out of money stop looking in one direction. Open up in many ways. And if you fry burgers at McDonnals, who cares. Pay your bills and in your free time get going with doing anything programming related.

My point is: I think the US is the most developed IT market these days. People who actually do things should always be able to get a job. If you didn't get a job until now, it is probably because you didn't really look for it, or you still don't have "what it takes".

Also I think through doing things you automatically learn to know like minded people and thus find entrance into companies.


I may be able to help you directly with work rather than give advice. Whether you are married, have kids, or other obligations is of major importance, however. I could even possibly set you up with your own br/ba once my remodel is finished.

I prefer not to use email without GPG, so rather than email I will put my phone number in my profile if I see you are actively following the replies.


Thanks. I appreciate this.


Apparently, I can't do what I thought I could. So, I am going to delete this phone number shortly (I will go to bed at ~2230 (MST).

edit: removed.


It's the thought that counts.



Don't bother, I submitted a resume months ago that would be a perfect fit for one of the positions and I haven't even heard back for a rejection.


I don't understand in what kind of world you live in, where it's better not to try because you might be disappointed.


What? I said don't bother because they aren't replying to submissions at all.


... based on a sample of one, though.


Make that sample of two, as I had the same experience.

granted it's a sample of two out of who knows how many, but there it is. Will still be applying again but it won't be at the top of the list sadly.


Learn Java and learn it now. Python might be nice in comparison but it isn't going to put food on the table where you live. I'm lucky to have python job (thanks to being part of a coup to overthrow PHP). If you can't find python jobs stop looking for python jobs! Java has tons of warts, but if it feed you, who cares?


Do you absolutely need to stay in Michigan? There are amazing companies (like mine: BrightScope.com) that are hiring right now in places like San Diego, CA for the same skill set you have (check out our careers page -- if you apply, I'll see it -- just make sure to mention your HN posting).


Thanks. I appreciate this, and I'll be following up later.


A few ideas

1. Consider where it is going wrong. Are you getting interviews for things you are suitable for? Are you getting knocked back at the interview stage? i.e. it it you CV that needs sorting out, or the interview? Or is it that there is nothing that matches your skills? Regardless of anything I would get someone else to give you feedback on your CV.

2. Find companies using the technologies you use and ring them up to see if they have any work available, rather than waiting for adverts.

3. Consider being a tester. It is rare to find a good tech skilled tester / QA and they are valuable.

4. Get the skills for the jobs that are available. Frankly if you are desperate then put 5 years of C# on your CV and work night and day building something in C#.


Have you thought about what the companies' problems are and how you can use Python to solve their problems? Yes, companies are looking for specific skills but there are companies that are looking for someone to fix their issues. They don't care how you implement it as much as it gets that issue off their backs.

So if you want to land a job or a client do some thinking on what their issues might be, their dreams, their goals, and maybe their fears. If you know these and can translate these into how you can implement solutions, then you will show them how much value you bring to the table. And when you can think of ways to create value, you can immediately charge almost anything.


Find someone to look over your resume and cold-call CEO's/hiring managers of companies you're interested in.

It's my first time ever applying to job postings. Started looking a few weeks ago and found out my resume was crap, after getting some advice and rewriting it my response rate is 75%.

If you're interested in a company and think they might need you, just email the CEO a short note. You'd be amazed at how often you'll get a response, a couple even introduced me to other CEOs looking for someone with my skill set.

The two key's points to communicate: why are you interested in the company and what can you do for them.


Thanks. Any chance you could show a before/after of your resume?


Move to Ann Arbor, get a CS job. Until you get on your feet down here you can do contract work through a company like Stout Systems http://stoutsystems.com/


Don't move to Ann Arbor. There's like 6 companies within a 30 mile radius that can hire you there.

Move to Indianapolis, Chicago, or Cleveland, if you want to stay in the midwest (I'm in Chicago and wouldn't blame you).

Strong agree with the overall sentiment that you can't stay in Grand Rapids if you want to be a dev.


What's in Indianapolis and Cleveland?


Lots of companies that need code written. Saying "move to Chicago" felt janky given that I'm a Chicago booster. I don't know if there's much of a Cleveland startup scene. There is an Indy scene but it's small. However: who cares? You don't have to work for a startup to get paid to code.

Thanks for calling me on this, though; if you look at "top employers" lists, Columbus might actually be a better ___location. Columbus feels A2-ey, but there big companies HQ'd there.

I lived and worked in A2 for 4+ years. I love A2, but I would strongly advise against moving there unless there's a job there you're in love with.


Well I mean, are there any specific companies or industries in those towns? Or is the idea just a bigger town with more programming jobs at banks, insurance companies, etc? Genuinely curious. If the idea is to uproot to another mid-sized midwestern city to get a generic programming job, why not suggest somewhere civilized, like Minneapolis? Alternatively, if one is so desperate as to consider moving to Cleveland to find a programming job, might as well drive another two hours to Pittsburgh. There probably actually are python jobs there...


Cleveland isn't a terrible city. You don't have to be desperate to move there. I think we are ultimately in agreement that he should move to a real metro area.


@tptacek thanks for saying this. Cleveland really isn't terrible and there are programming jobs here. There is a bit of a startup scene and they are looking for programmers. I can try and dig up contacts if some one wants me too.

Columbus also has a pretty good tech scene. Battelle has good reputation in the area and there are a number of other good companies in Columbus as well. I am attending PyOhio this week and there are lots of Python people here as well.

In general I believe Cleveland has more VC chasing after ideas than Columbus, particularly biotech ideas (between Cleveland Clinic and Case Western there is huge amount of expertise in Cleveland on biotech). However, Columbus is in general more of a growing city.

Conclusion: there are jobs in both cities, and you don't have to be desperate to live there.


I agree with moving somewhere else but will have to "agree to disagree" about Cleveland...

http://www.youtube.com/watch?v=oZzgAjjuqZM


Yes it is a funny video but it isn't really representative of the city. Yes Clevelanders have all laughed at this video. For a positive take on the city see: http://juliaincleveland.tumblr.com/


The power of advertising at work! At the Perl Lightning Talks on Thursday at OSCON there were dueling advertisements for Grant Street Group and Booking.com. Grant Street Group does remote work out of Pittsburgh and Booking.com is based out of Amsterdam (but they will pay for relocation).

Granted these are both Perl-oriented jobs, but if you really are 'at the end of your rope' then I would make an attempt.

[I say the power of advertising at work because they both successfully pimped their employers]


Get your remaining funds and start a saas website using any of the Python web frameworks available. Just spend some time finding which problem to actually address, and require your users to pay you on a monthly subscription (strictly no freemium).

If this goes well you have a project that can at least help you pay the bills at the moment. If not this would go better on your portfolio than being able to do FizzBuzz.

Again, ask money from day one.


I understand Pixar (in the East Bay area near SF) has openings for skilled pythonistas. They can't be alone. But they are in the bay area, not Grand Rapids.

If you're going to stick around the upper midwest and feed your family, you need to get your Java and C# mojo working. Don't listen to the ones who sneer at those languages; good programming is just like good waitering -- delight your users and you'll be fine.


Do you have to stay in the area? Would you be willing to relocate?

I agree that any developer meetings (not just python) would be good for networking.


Move out of Michigan -- it would seem to me half your problem or more is looking for a job in the worst job market in America...


What skills does your market demand? Given the situation, you may be better served by focusing on adapting to what is needed (presumably more mainstream languages like Java & C#?)

I personally wouldn't want to do either, but it sounds like you have to decide if you want to compromise on technology or moving to a larger market.


Other than the suggestions to move, why don't you have any industry connections in your area? Go to networking events, meetups, conferences, etc.

If you can't find any get on meetup.com and create a Python meetup. Even if you get 1 person to come you can say you organized the local meetup group.


One thought, only partly in jest -- interacting directly with others is an essential part of networking. Don't post your plea to HN and then figure you'll check back tomorrow to see if it stirred up anything useful. :)

Advice + thoughtful response = conversation => ???


A few ideas.

Practice your skills (google "code retreat"). If code flows from your fingertips during interviews, you'll get the offers.

Move to where your skills are in high demand.

Try contracting. Get to know people in your area that do the work you want. Ask them how they landed their jobs.


Wait, why are you mentioning FizzBuzz? It's like saying "I can walk in many ways".


I think it's a way of saying "I'm not unemployed because I'm incompetent, and I'm not emotionally attached to Python".


Sure, but it comes off as "I think FizzBuzz is some sort of significant problem, as attested to by my mention of it", which acts pretty negatively.

You wouldn't expect a carpenter to say "I can both screw and unscrew screws from wood". It's sort of a given if you have the slightest bit of ___domain knowledge.


I took it as a lighthearted, joking statement.

Besides, just the fact that someone knows about FizzBuzz is a good sign in my book (also the fact that they know about HN, but I digress).


Heh, I think the fact that they know HN is more of a testament to ability than FizzBuzz indeed :p


You wouldn't expect a carpenter to say "I can both screw and unscrew screws from wood".

Given that a huge number of professional programmers can't do the programming equivelant of screwing and unscrewing screws, that actually does make a difference.


True though that may be, I don't think the OP's intention is to convince us that he's less than utterly incompetent...


Depends who you're talking to, I think. Hip hackers on HN are going to laugh at you, but hiring managers? Maybe not.


Jeff himself said, rather horrified when people started posting solutions to FizzBuzz:

> FizzBuzz was presented as the lowest level of comprehension required to illustrate adequacy. There's no glory to be had in writing code that establishes a minimum level of competency. Even if you can write it in five different languages or in under 50 bytes of code.

> The whole point of the original article was to think about why we have to ask people to write FizzBuzz. The mechanical part of writing and solving FizzBuzz, however cleverly, is irrelevant. Any programmer who cares enough to read programming blogs is already far beyond such a simple problem. FizzBuzz isn't meant for us. It's the ones we can't reach-- the programmers who don't read anything-- that we're forced to give the FizzBuzz test to.

I think that mentioning it as a skill (unless it's in jest), seriously hurts anyone's chances at being taken seriously. Exactly like someone would be dubious if their carpenter said "I can definitely make that cabinet for you. Hell, I can screw and unscrew!"


I didn't take it so much as a "skill" as a, "my lack of employment is not because I can't pass fuzz tests"


it comes off as

I don't think it came off that way at all. He's stating that he can demonstrate a basic, fundamental grasp of code structure in several languages and types of languages, which is pretty good.


I don't know, maybe it's just me, but I think the only thing easier than FizzBuzz is Hello World. I wouldn't advise anyone to mention they can write one in their resume.


I don't have any reason to believe he put it on his resume.

As for complexity, FizzBuzz is nothing like Hello World. Hello World only shows that one knows how to make a program compile/interpret and display fixed output. FizzBuzz demonstrates the above, plus an understanding of looping, basic arithmetic operations, and how to create program flow from that. Like it or not, that covers most of the actual coding requirements of probably 90% of jobs out there. It shouldn't be a deciding factor in getting hired, but it's an excellent first step in weeding out those who shouldn't be considered.


I recently interviewed a Ruby programmer, who was unable to write a Hello World in C, despite the fact he studied C and C++ in university.


It also says he reads blogs like coding horror. I believe it refers to http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-dev... (made popular by http://www.codinghorror.com/blog/2007/02/why-cant-programmer... )

Fun thing to say on HN... maybe not so good for a conversation with random person trying to hire you ;)


I'm not so sure about that, if I was interviewing someone and they said "I can totally write FizzBuzz in 15 languages", I would take it as a general sign of awareness of the programming community. Pretty much every good programmer I know has been a regular reader of Coding Horror, Joel on Software, and other famous programming blogs at some point, if not currently.


The posters further down have it exactly right. It was one part joke, one part showing that I read programming blogs, and one part "yes, I really do know how to program, unlike people who fail FizzBuzz."


http://www.djangojobs.org/ has a huge stack of jobs. Perhaps applying the Python knowledge applied to Django web apps might bring home the bacon.


http://amjith.posterous.com/how-to-find-local-tech-jobs

I wrote this for Utah. But I'm sure this can be applied to other states.


Unsure if you're willing to relocate but there are 2 python job opening in my company.

http://www.gazaro.com/careers


Move to NYC. We're short on Python devs here and there's plenty of work for anyone who's really good at it.


Is moving out of the question?


Moving is on the table.


put your python resume on dice, monster, list ___location as the bay area. get flown out for interviews, get moving expenses paid.


I can FizzBuzz 6 languages in 3 minutes, it's nothing for an engineer to be proud of, I'm a designer. Advice about Haskell? Drop it for now, you need food on your table.


helmehn,

I founded Collective Idea (http://collectiveidea.com) a successful and growing Ruby shop in West Michigan (Downtown Holland). We are actively looking for programmers, and I know many other companies in the area that are too. The ones I've talked to recently are looking for Ruby, Objective-C, and PHP, but I'm sure there are many, many more.

West Michigan is actually a fantastic place to be a programmer right now. We have dirt-cheap cost of living, beautiful scenery and a number of top-notch software companies working for major companies. (We count Fortune 100 & 500 Companies in our active client list.)

How do you get a job here?

1.) You could have emailed me. My email is on our website, and so are the heads of companies at our competitors. I have interviewed a number of people over the years even when we weren't hiring. I talk with our competitors frequently, so I know who's hiring and will gladly recommend people we can't hire.

Software companies are hiring. Ad agencies are hiring. Manufacturing & Medical companies are hiring. Nobody needs to leave Michigan to get a great job.

2.) Go to meetups.

Grand Rapids has a large number of great meetups and user groups for Ruby (http://www.meetup.com/mi-ruby/), Python (http://www.meetup.com/grpython/), Linux (http://grlug.org/), .NET (http://wmdotnet.org/) a new and huge Web Dev group (http://grwebdev.org/), Software Craftsmanship (http://softwaregr.org/), and many more (http://conga-wm.org/group-list/). The annual BarCamp is in a few weeks (http://barcampgr.org/) and we even have Y-Combinator style seed accelerator, http://momentum-mi.com/.

Go to any of these. Talk to people. You don't need to know "contacts in the industry" you need to meet people. They'll tell you who to talk to, where to apply, and how to brush up your skills.

3.) Write some code.

In the age of GitHub and SourceForge (who has coders in Grand Rapids and is often hiring http://geek.net/about/careers/) there's no excuse for not having code that you've written. Find some small project and make it better, or contribute documentation. Don't get discouraged if you can't find a project to hack on right away, you will. Blog about it. Talk about it.

Michigan, and especially West Michigan has some amazing programming shops, some of the best coders I've met anywhere, and everyone is hiring. I know many people have moved away, but there is no reason to anymore. This is a great state, a bit underrated, with an under-the-radar software scene that is ready to explode.

Anyone know Ruby and want to work for a Michigan company in a lakeshore town? Talk to me.


Agree with the above and would like to build on it a bit - my background is similar to yours (math undergrad, got the equivalent of a MS-stats via industry training programs, active Python hacker who developes in other languages).

First - don't underestimate the value of your math skills vs. your programming skills; I busted six figures as a stats geek long before my technical skills got into that range. If you're good at math, this is rare & valuable - particularly if you're also good at talking to people. (Those people are called analytics directors and it's a nice way to make a living; plenty of paid hacking time).

Second - agree you should consider leaving MI - NY or Boston sounds particularly a good fit; I'd look at the financial industry. While the work can be soul-sucking, you can build a nice bankroll relatively quickly in that space that can fund other interests.

Third - You should definitely expand your search beyond Python. While Python is my language of choice, I also attend PHP meetups and (infrequently) events targeted at Oracle and Microsoft developers. Here's some (bigoted) commentary comparing the different groups:

- I've found the Python groups to have smarter hackers relative to the other groups; the talks tend to go much deeper into the underlying technology/computer science behind the topic and the dinner conversation is better.

- Many folks at the Python meetups are employed in roles where their focus is using other technologies (lots of Java, some C++, several DBA/sysadmins - Oracle, SAP).

- Recruiter activity is fairly low at the Python meetings (0 - 2 recruiters per event); most recruiters who come are hiring for non-Python roles. I find this amusing, since I've identified this group as the best source for my next analyst hire and/or technical cofounder connection.

- The PHP group across town is about 30% larger and tends to be a bit "fluffier" in terms of presentation content. The technical skills of the average developer at these events is a full order of magnitude below the Python folks - when discussing equivalent issues, the average PHP developer has a looser grasp of system internals, how the algorithms inside the box work, and subjects such as OOP and functional programming.

- We have a TON of recruiters and hiring managers working the PHP meetup with relevant web development jobs. There are generally between 3 - 5 "announcements" per session; generally from folks with LONG lists of jobs that use PHP. A surprisingly large number of these want simple framework developers, which I see as significantly less rigorous than the stuff my Python buddies are working on.

- And to fully explore the dark side of the force - I've run into tons of recruiters looking for Java, MSFT, and Oracle people; also seen demand at good pay for closed source packages (SAS, Microstrategy, Saleforce.com). I'm talking about drag and drop stuff that developers would laught at. I've seen SAS analytics rates which rival a director's pay - and aren't very rigorous from a technical perspective (started my career as a SAS programmer working on statistical analysis). Did you do SAS in college?

So - many options, definitely look outside Python and leverage those math skills.

True Confession: Despite having some nicely developed programming chops in Python/PHP/Javascript, my bills are being paid by my analytics day job - where my relatively high priced existance is being rationalized by (wait for it)... analytical applications I built using Access VBA, Oracle, and Sharepoint. Stuff that makes real developers laugh hysterically. Seriously - we're making millions of dollars a year off of these applications, most of which were cranked out in under 2 - 4 weeks of core dev time. The latest round of miracles does use Python, but the "cash cows" which have protected us from layoffs... straight up SQL and Object Oriented VBA... go figure.

Point is - focus on the application space, use your highly valuable quant skills, and, if you need the cash, don't be afraid to use corporate technologies and lower end stuff.


elance.com web design. you can get jobs filling out wordpress themes and probably make $1,000 a month at least


The original poster already noted that he had tried ODesk and similar websites (of which Elance is one). I think it would difficult for him/her to make $1,000/month (especially working with WordPress) while competing against developers who live in places with lower costs of living than Michigan.


odesk can be tougher than it looks. I landed a couple of ruby / rails based gigs for $50/hr there, but then the work dried up, and all I could find were lower per hour jobs, and sketchy pay when project is completed jobs (without a complete spec).


Move to India.


1. Get your projects up at Github..stat! 2. Find 5 programming 'Friends' do projects for them and use them on resume..helps kick down the hr door. 3. Mobile is growing as far as needing testers..become familiar with winrun, etc as far as testing mobile apps..I do see those pop up in Western Michigan..

That is about I can offer right now.. my ___location is NW Indiana..my solution was to pitch to Chicago startups that are established to get something..as its only 1 hour 40 minute train ride to Loop-Chicago..

If you feel comfortable in disclosing more details via email..my gmail account is in my account details

Biggest step you need to do right now is 1 and 2..


Have you considered moving to the bay area?

People will lick your balls for your fizzbuzz awesomeness. Can you write tests? doesn't matter, you write python!




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: