He has one semi-completed project, http://www.andrewhorner.com/sds/ which might be enough to find him work as a flash programmer, but he's stopped work on that in favour of a new project... with no progress in 12 months - no blog posts, nothing.
And it gets worse - if I were looking for a Python developer, just his code on PyGAF would be enough to put me off.
a) He doesn't seem to understand Object Oriented style at all (look at the __update_pos method in http://code.google.com/p/pygaf/source/browse/trunk/graphics_... for a good example). In fact, looking at that code a second time, I'm not sure he understands how to use functions properly.
b) His code style is really nasty in lots of other ways - hard coded variables and lines smushed together so that you can't follow what's going on. Also, no docs - not even a blog post somewhere.
Now I've written some bad code myself, particularly early on when I was learning, but at least I didn't stop - I've been writing more code and getting better and better over time.
So this is I think the grandparent's point - if he was an awesome developer out of college and couldn't find a job, or was working on a side project, and still couldn't find a job then his griping might be justifiable. But if this is all he has to show for his "years of unemployment", and all he's doing is banging out resumes to anyone with a post box, then yeah, he's not likely to find much success.
However, two things do jump out at me as improvements:
* Enqueue the function object and arguments rather than a lambda of the function (his version not actually being a "great hack as the comments claim"). Or perhaps use functools.partial().
* CONFORM TO PEP8 FOR THE LOVE OF JOHN CLEESE[1] Update: actually not - it's just working out the image rectangle. Which means that it's not updating 'pos' and that there's another 'update_pos' hiding somewhere non-obvious.
A much cleaner way is to have something like, say, a Ball or Bullet class which knows how far it's supposed to go. Ditto for all of the canvas.create_foo classes in the second half - you should have objects which set themselves up, have update, draw and think methods and so on, inheriting from a common class.
In terms of functions, you're pretty much on the money - there's a lot of function creation for very little gain in terms of readability or (at a guess) speed. You'd be better off either queuing dictionaries or strings as arguments for function generation, or else just using threads for your AI and having one method which handles all the drawing and updating within your environment.
In addition to this, there are lots of places (__update_pos in particular) where he should be using functions (or methods) and doesn't - anywhere where there's repetition and/or common functionality, in this case updating the position of an image, really should have a function. Doubly so within large function or method bodies, like __new_population in http://code.google.com/p/pygaf/source/browse/trunk/optimizat... - "if blahblah:" followed by a huge chunk of code is just crying out to be a function.
Anyway, thanks for elaborating!
My generation has been described as entitled. Quite frankly, I do feel as if I am owed something, and that society at large has failed to keep its end of the bargain. For my entire life, I was told that if I work hard in school, bust my ass to go to a good university and graduate with quantitative degree, I should have no trouble finding work. Now, half a year out of school, I find myself rotting away at my parents house, sending applications to any organization that might conceivably hire me, with no prospects and with no illusions that I'll find work that is fulfilling or properly matches my skill set.
The grandparent's post is condescending and presumptuous. My generation seems entitled because the reality we are now confronting does not match up with the fantasy world that adults have been preparing us for for our entire lives.
Your parents may have lied to you, maybe your teachers too. Whoever it was that lied, it wasn't us. It probably wasn't malicious, some people are/were genuinely extremely misguided about how the world operates (protip: not as differently as before).
Here's what happened: you abdicated your responsibility in one of the most important aspects of your life - your career. You placed in someone's hands other than your own, and now you got bit by it.
Is it your fault? Maybe, maybe not. Perhaps you were too trusting in believing every bullshit thing that came out of your career counselor's mouth. Either way, one thing's for sure: it isn't the fault of society either. If you had ever bothered to go talk to software companies (assuming that's your field) in high school, or shit, during college, you would've realized that it takes more than a fancy shiny piece of paper from a prestigious school to get a job. You failed to own this responsibility.
So, it's either your fault for entrusting your career to the incompetence of others, or it's nobody's fault that you're unemployed. In either case, sitting around complaining about how society has failed you will get nothing done - your own action will.
I'm a year out of college, FWIW, and I hate this aspect of my generation (which IMHO is one of the few notably different things about us) - when we encounter unfairness and injustice, we shut down and complain, expecting that the exposing of this unfair injustice will somehow fix everything. It won't.
I was rather fortunate in the sense that I was forced to find jobs during college (degree requirement), and was exposed to how the infernal machinations of employment worked. I was 3 months out of high school, weeks into my very first semester of university when I had to find my first paid internship.
It sucked. But here's are some lessons I learned from that:
- don't just send resumes. Sending resumes is what every Tom, Dick, and Harry does. In this economy, being Tom, Dick, and Harry doesn't work. Besides, do you believe yourself to be strictly mediocre? If not, why are you doing only what strictly mediocre people do?
- find a list of software companies in your area (and within, say, an hour's drive of your local area). Hell, expand this beyond software companies - anybody who can employ a person of your skills. It doesn't matter if they're hiring.
- polish your resume, learn how to introduce yourself. Find a friend, practice if you must.
- hit the road. Seriously, just walk into these places and ask to speak to a hiring manager. Don't ask if they have open positions - it doesn't actually matter. Make sure you get someone in charge out to shake your hand. Introduce yourself, explain that you are looking for a job, know something about what they do, and give them a paper copy of your resume. Learn about what they do.
You do this right, your phone will start ringing. I've known several practitioners of this strategy, and not a single one is ever looking for a job for very long.
I'm not saying this as a way to gloat. I've met plenty of students who are as good, if not better, developers than I am in my department. I've met plenty of them who have better GPAs, more letters of rec, do more extra-curricular activities, have won more awards, etc., yet I basically landed a job because it's the job I wanted, and they're sending resumes to basically anyone that could potentially offer them a job and are getting no where. There has to be a disconnect here. They have to be "doing it wrong."
Build something, freelance, work on a few open source projects (or start your own), found a non-profit, start a club. The barrier to entry for all of those is shockingly low. Hell, if you're living at home, start a company. Chances are it will fail, but it will be something that makes you stand out from the crowd. I would imagine that most startups would be much more willing to hire a fellow entrepreneur, even if that business didn't pan out. And if you get really lucky, you'll never have to find another job again because you'll be your own boss.
I've suggested this to several of my peers that are having trouble even getting someone to call them back, and hardly anyone ever takes the advice. I think the simple reason people don't actually go out there and do something, even if it's just physically walking into somewhere they want to work, is that's a lot harder. It's easy to write a cover letter, stick it on your resume, and send it [email protected]. You never face outright rejection or failure; you simply never get contacted. By the time you realize that company isn't going to respond, you've already sent off another 20 resumes.
From your mom to Mr. T to the President of the United States, the school-is-cool, just stay in school and you'll get a job meme has been pretty prevalent since I was a child, and I'm old.
There's this continuous drumbeating that we need to produce more scientists and engineers. So I went and got a PhD in Physics.
By the time I got my PhD, the American Physical Society announces that they estimate that 3% of my graduating class would get permanent jobs in their field.
So, the physics PhD mill encourages a few thousand of our brightest young people every year to spend 5-9 years of their youth getting a credential that's worth less than a roll of toilet paper. (At least you can wipe your ass w/ a roll of toilet paper)
At least I got an all-expenses-paid vacation in Europe for a year (a postdoc,) but I drifted for another three or four years afterwards before settling on a somewhat remunerative and satisfying career.
This sort of experience, where you're set up to fail, but made to feel like it was your own fault, can have a devastating effect on a person. I've mostly healed from it now, but so often I have to answer questions like "Why aren't you teaching?" and "Aren't you too smart to be a computer programmer".
The older generation does owe the younger generation realistic guidance and training to start careers and keep society running. When it sets up machines to chew up young people and spit them out, it wrongs them.
What was that percentage at the time you started your PhD?
I know a few that suck up physics and math PhD's dissuaded by dwindling academia/research. Perhaps it's a soul-draining job, but the pay is good. Most likely you will have to program, but since you're here I don't think that will be a problem.
Hedge funds are pretty cool and pretty lucrative, but the only thing I really want to do now is information extraction, semantic databases, stuff like that. Finish the job that Doug Lenat started. And if you think that's crazy, you're one less competitor that I have.
College may generally be a requirement for a good job, but college alone does not entail a good job.
I'm not the normal person without a degree, but the time I didn't spend in college/university was spent learning about computer security. I didn't blame anyone for things not turning out how I wanted, I did something about it.
Someone once told me that there are only two ways to change a situation: you can change the conversation you are having with people or you can change the people you are having the conversation with. You have to be in the conversation though.
Sending you to school was not bad advice. Are you saying that you wouldn't tell that to your kids? What would you say to your kids? How do you want to approach this? At some point, you need to take responsibility for your actions. I'm not happy where I am now, but I don't blame anyone else for it. I made choices, and I will continue to improve myself, because after all what is the alternative? Give up?
To be honest, this is huge - looking at his resume, the only thing that makes it look like he did something significant is his sweet dreams/soundscapes project. Everything else under "experience" - which stands for "work experience," which is what he's applying for - discusses learnings.
What did he do during that time? He spent 6 months working in his university's computer vision lab, which sounds awesome - and he "learned how to take several ideas and combine them into a single result that highlights their strengths while nullifying their weaknesses."
That's incredibly vague - I'm glad he learned, but it's a cliche by now that you should be using "action verbs" in your resume ("built," "designed," "debugged," etc.)
Launch and iterate, right? That works for this process as well - send out your resume, and if you don't get the responses you want, tweak your resume and send out another wave.
edit: It is also good for networking.
I also sat at the table with the adults (there never really was a separate kiddie table) and I learned to behave myself and talk like an adult.
That is how I got my very first job in the industry. It was a small ISP, do you need anyone who knows Unix? My "interview" with the IT manager was in front of a terminal (no spare chairs, so I sat on a DEC server), showing each other stuff on the command line. Started the next morning.
It works.
Add to that don't stop building things and perfecting your craft, much more valuable than just sending out resumes and you might just find a way to produce a bit of income in the process making your situation less dire.
If you're a programmer, you're a programmer regardless of whether you have a job doing it or not; it's a part of your identity. I have a friend working as an economic advisor for a major city government; he doesn't identify as an economist, he identifies as a writer. I have a friend who works as a mutual fund trader; he doesn't identify as a trader, he identifies as a beer brewer. My sister works in university fund raising; she identifies (somewhat ironically) as an economist. We were having a conversation one day, where they were lamenting the situation that I got to do what I loved and got paid very well for it and they were stuck in jobs they hated. I told them, "STOP ASKING PERMISSION TO DO WHAT YOU ARE. Start doing it now." Why do I get paid for what I do? Because I have experience and connections to network to find job. Why do I get paid well? Because I've had a lot of practice. Why do I have so much experience? Because I never asked permission to do it, I've been doing it all day, every day, whether I've had a job or not, for the last 10 years.
My writer friend, I told him to start writing user-oriented documentation for open source software projects, and to write promotional materials for non-profit organizations. It had never occurred to him. He's looking in to it now, and he's finding a huge need for good writers everywhere.
My brewer friend, I told him to quit spending time on the stool-side of the bar, spending money, and convince his friends who own these brewpubs he frequents to take him on as an unpaid, weekend intern. He won't be getting paid, but then he wasn't getting paid for the time he spent in the same exact building anyway. One of them immediately agreed.
My sister, I told her to just do the research she wants to do. There is nothing preventing her from doing the types of number-crunching and paper-writing that she claims to love in her free time. There are tons of data sources that are published for free by the various governments of the world, and nobody to even look at them. Write a few papers and then see where you stand with job applications.
Hell, I think the garage tinkerer is in a better position than a big-university researcher specifically because of the constraints of lack of funding. You'll probably make important cost-cutting innovations as a matter of necessity. Necessity: the mother of what now?
The future eventually gets here. Make your career pay for your calling, and soon you will have the experience you need to make your calling your career.
I'm glad she switched because a CPA gets paid a lot more than most artists. Her long term goal is to do the books for a museum or art institute. It would let her be near the "art world" but using the analytical side of her brain.
This quote also hits the nail on the head for many of the older generations posting here. The fact you feel entitled to anything is the source of much grief. I'm part of your generation, but through the professional experience I've gained in the past 8 years, and having been put in the position of hiring people from both Gen X and Y, I've realized that this entitlement hurts you much more than it helps.
Success is newly defined for each generation. Our job, in wake of this economic disaster, is to find out just how that definition has changed and move forward.
I think this is the biggest problem with entitlement. Not that it's annoying and presumptuous, not that it's A Sympton Of Everything That's Wrong In Our Society (TM), but simply that it hurts the entitled.
A lot of what we interpret as entitlement is just a focal inaccuracy. In school, we're judged, more or less, on the quality of our own work. A teacher or other official who makes a decision based on his personal preference is viewed to be unfair. With the job market, however, as with dating, it's never about the applicant, only about the decision-maker.
We come out of school thinking we'll be judged on our merits, but we won't. Interestingly, that realization not only helps people ignore rejection, but also prompts them to take initiative to stand apart from the crowd, thereby making rejection less frequent.
IMHO the younger generation isn't nearly entitled enough, and it's going to result in a lot of violence within our lifetime.
- It's basically impossible for most intelligent, hard working people to make a decent living.
- Everyone is a criminal and is subject to arrest at any time.
- The world has changed enormously but there have been basically zero major legislative changes in the 25+ years I've been alive.
I think we're going to see a lot of frustration vented via everything from street violence to assassinations.
That's hardly new. Remember when everyone from union organizers to groups of civil rights protesters could be arrested and charged with vagrancy? Probably not, because that was before you were born; the US courts cracked down on that sort of thing in the 60s and 70s. It may seem like America is getting crazy dystopian, but people in your parents' and grandparents' generations saw things that would make your hair curl.
I agree that you were lied to.
But I think you were a fool for believing that success could be prepackaged and so easily attained. You busted your ass, but did you bust your ass on the right things? There's a difference between working hard and doing work on your intelligence. You did what you were told but did you ever question whether what you were asked to do was the most optimal use of your time or talent? And if you did, why didn't you act on it?
I'm sorry but you're absolutely not entitled to anything.
I busted my ass in high school. I got semi-decent grades but more importantly I worked hard and learned and explored on my own. For me it was a gamble because even though what I was doing with my time felt like the right thing, I couldn't be sure. It's not fun having the same letter sent home to your parents: "Your son is not performing to his potential [subtext: he's lazy]" .
Now I'm a freshman in college and I already have job offers for the summer at a few well known tech firms paying really good money and they're not just McJava jobs. It's feels amazing to finally have some sort of validation that all the time I spent learning on my own gave me real value. Tech companies are hiring like crazy. Don't blame society or the market, it's your fault.
Find something you're passionate about, and work on it. For example, in the WoW community, there are a lot of people writing addons for the game. They don't have any appreciable economic value, they aren't world-changers, they aren't the Next Great Instant Millionaire idea, but I've personally seen dozens of people hired out of the community because of their hobby work (and I've gotten probably 6-8 job offers as a result of my similar work). As it turns out, there are Real World Problems to solve behind the shiny game veneer, and that counts for a lot.
It doesn't have to be a game. It can be a Javascript physics engine, or a database driver bugfix, or an experimental compression algorithm, or anything. Find something on GitHub you're interested in, take a look at the issues list, fork the repo, write tests, fix the issue, push your code, and issue a pull request back. Congrats, you're now a bit smarter and a bit more experienced. Repeat. In no time, you're going to have experience and perspective that will blow away the 98% of your hiring competition that you used to belong to.
At best, that means that you have a beef with folks who told you that. However, you might want to think about why you believed them. Also, consider that they were trying to get you to buy into something for their benefit.
Everyone has good intentions.
> honestly believed what they were saying.
So what?
> Do you really think that those people were giving that advice for selfish reasons?
In many cases, yes. Sure, they also honestly thought that things would work for you, but that's the nature of "win-win".
I couldn't agree more. I can't help but feel the generation our generation spawns will be a really cynical bunch ;)
By the way, while we're talking about fixing unemployment, I'm hiring a system administrator just south of Seattle, for my manufacturing company in the green space. Smart folks who enjoy a happy working environment and solving interesting customer-facing problems are welcome to get in touch with me.
Unfortunately you're in the wrong continent for me I'm afraid. Perhaps someone ought to create a HN job board? Something that would allow people like yourself who want good people to access a pool of hackers, and something that would make those periodic "who's hiring?" posts redundant?
I'm not sure how it would distinguish itself from something like the 37 signals job board, but I think a lot of jobs mentioned in those job threads aren't advertised there anyway?
I don't agree that it's "fair enough". Rejection letters used to be actual letters in the mail -- it was someone's job to fill in the applicant's name, put their address on an envelope and stick it in the mailbox. The point being, these used to cost the worker's wage, and companies went out of their way to send them. (If anyone could find a reason why they did this other than courtesy, please fill me in)
Now, in an era where communication is INFINITELY easier than it was even 20 years ago, companies suddenly don't have the decency to click "reply" and insert your name in a template.
Why is that?
I think that this lack of professionalism translates into posts like "reverse job application," because, yes, it IS very frustrating looking for a job as a new grad and being rejected without apparent reason or the common courtesy of an answer, watching your peers climb through the ranks, while you slip further and further into unemployable territory because you've been out of a job for so long. If the "reverse application" seems unprofessional, it is only because all he has seen is unprofessionalism in return.
I would have done things a little differently (i.e. included my skills and a resume), but applaud his decision to do something different.
EDIT: Just to be clear, I do agree that my generation is too entitled; I just wanted to also point out that the hiring process would be a lot easier for both sides if we had the same professional courtesy that we witnessed 20 years ago.
Also, the number of applicants has greatly increased because communication is so much easier, which greatly increases the pain factor trying to respond.
And yes, I too find it frustrating, given that I'm currently looking for a job as well.
This is the problem. Just showing up isn't enough. This fill-in-the-blanks approach to careers is why the university degree doesn't mean anything anymore. It's never about being the norm, it's about exceeding the norm. Yes, that means more than 50%, by definition, won't cut it.
What did they do while they got their "good degrees from good universities"? If the answer is "the bare minimum to pass", as it seems most of my former classmates did, then it's no wonder they can't find work.
As an example, a friend of mine has a Masters degree in Chemistry. He was unemployed up until about 5 months ago when he started participating in a "back to work" scheme. The deal was he continues to draw social welfare, is free labour for the company he works for, and clocks the same hours as a regular employee. He has a 40 minute commute to the job each way and is not reimbursed for fuel despite his income being less than minimum wage. He has been applying for jobs in his spare time too. In a month he will have to quit this job as the law here says he can only work in such a scheme for 6 months. Presumably so companies can't abuse schemes like this to pay below minimum wage. While at this company he applied for a job internally. His competition included some of his colleagues with many more years' experience. They fear their division is about to be shut down and want to get into a more secure part of the company. How do you compete with that?
EDIT: I should add that prior to getting this position he was unemployed for nearly 2 years despite applying for hundreds of jobs. Given that in his industry it is already hard to find jobs this isn't doing him any favours.
http://www.aaronboodman.com/2010/10/wherein-i-help-you-get-g...
I understand this feeling but it is misguided. The reason is that their understanding of what's actually expected is not correct, because the expectation they follow has not been provided by the people who will ultimately hire them. The understanding of expectations is often provided by councillors or teachers/professors at high schools and universities (or parents). These people in general are horribly out of touch with the true expectations of an employer or requirements of entry level positions in the particular industry of interest. As a result students misguidedly follow these expectations and are suddenly struck with reality when they are done.
The reality is that universities do not train students for the work place. They are money making operations whose goal it is to provide an education as a service (note: that an education from a university does not equate to workplace readiness). This means that if they think that they can attract students with a new buzzwordy program, they'll create that program and tell the students about all of the great opportunities that exist in industry (e.g. nanoscience or nanotechnology), when in fact no such opportunities exist. Universities are completely out of touch with the needs and desires of industry (one counter would be some eng. disciplines) or at the least their primary focus is not on those students who exit the program but rather almost entirely those students entering the program (more fuel for the machine). The same goes for more traditional programs (e.g. physics or CS), I've spoken to many professors over the years about job opportunities and they always talk about academia (which they know well) and the nebulous industry.
My advice to students is to clarify what it actually takes to enter an industry early in the academic process. Perform market research and actually talk to people about their experiences (look at early resumes and CVs if you can). At the same time think about building up your CV with projects/initiatives/etc. that strengthen your softer skills (communication, leadership, project management, etc.). I didn't do the former very well but I did do the latter and it has helped me immensely (you must be able to distinguish yourself from the pack). Also work at building your network, this is key. Then once you get that job, look at the next rung up and "rinse, lather and repeat" the above process.
Even if you want to go the startup route I would still recommend the above unsolicited advice.
Friends of mine are in the same position as this guy. They recently graduated with good degrees from a decent university with no allusions that finding a job was going to be anything but difficult. Rather than feel like they're owed a job the ones I know have spent hours _every_ day applying for jobs for the past (up to) 2 years with no success. Most of the time they get no reply from these companies (fair enough), but the few times they do get an interview someone else with more experience gets the job.
This is clearly a frustrating position to be in. They feel like they've done everything that was expected of them. They went to university and graduated with a good degree. Now they see their friends who left school and started working immediately progressing in their careers and can't help but feel like they should have done the same.
All the while this goes on people from other generations who have jobs harp on about how it's a disgrace that there are so many people on social welfare and these people could find a job if they wanted.
When my friends get asked what they do and they reply that they're unemployed they're treated like plague monkeys. They're villified by members of the media and politicians looking for votes. Still they perservere. Far from feel a sense of entitlement these people feel despair. You think they don't know that they're "not fucking special" as you so eloquently put it?
If after two years of applying for jobs without an end in sight he feels like venting a little bit of frustration at the attitudes of recruiters towards people like him that's not the worst thing in the world. If his situation is even half as bad as some of my friends' I wouldn't dare condescend to him by calling him entitled, far from it.
It's not often I get angry after reading a comment on HN.