I know it's tongue in cheek, but my god does the current generation not have any humility at all? This is going to ruin your world view, so brace yourself:
You are not fucking special in any way shape or form. Even if you graduated with the best marks in MIT and have been programming since the womb, guess what? So have people every single graduating year for the past 20 fricken years.
The only constant in your never ending job search is - wait for it - YOU. Get over yourself. You are not entitled to anything. You are the lowest of the low, and have proved nothing to anyone that matters.
Start the journey at the beginning. And Yes, you are at the beginning. Your accomplishments so far are shared by every single person in the work force. Be humble and gracious until you actually distinguish yourself.
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.
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
 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.
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.
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.
> 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".
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 firstname.lastname@example.org. 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.
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.
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.
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.
>I know it's tongue in cheek, but my god does the current generation not have any humility at all?
Come on...how many times do we have to go through this "young whippersnappers don't have any humility anymore" nonsense before we recognize that young humans, in general, have less humility than they should? Just because you (perhaps) had more humility than this kid doesn't mean your entire generation did.
It's more likely than not that we were the exception to the rule, I'll accept that. But I believe that my generation overall was most certainly more humble than the current one.
You're not the only generation Xer I've conversed with. I'm right on the cusp between that generation and the next, so I know a number of people from both; it's an interesting place to be for perspective.
And yes, the other generation Xers say these same thing. They were more humble; they were less entitled; they dealt with pain we never had to, and it made them better. I don't think I can say what I want less strongly, so forgive the profanity when I do say it: fuck that noise. With this sort of line of arguing, there is nowhere we can go, because the whole thing has decayed into a battle of generation identity. Reason has exited the building, because you have a vested interest in preserving your sense of superiority in your own identity. At what point could any of us convince you to rethink that? If you say never, then you have a sense of entitlement brought about by your generational brand. You don't get a pass for that any more than the author here gets for his sense of entitlement to some form of employment.
It's ridiculous: I'm supposed to pay more attention to your thoughts, simply because you felt forced into certain sacrifices. How about I pay more attention to your thoughts because they seem more right, and we yank generation identity out of this?
There are a few tidbits I pulled out of the conversation that I think would be interesting to discuss apart from the context of self-entitlement, but I worry they're going to get drowned out in the noise. We're too busy beating down someone else, ostensibly because we think they need to be brought down a peg, but then we say shit like this that is so logically fallacious that it makes this whole thread seem not for the purest of ends. I was with you when you made your first reply above; now I'm not so sure.
Gen X'ers will see the world the way we see it. It may be ridiculous, but keep in mind that we've lived through both yours and our own experiences, when you have not. That doesn't mean we're right, but it does mean we have a lot more data to work with.
Of course, there is a tendency to imply "walk 6 miles to school uphill in snowstorms" with our memories, which I acknowledge.
The particular challenges of Generation X are well documented. The fact that these aren't also attributed to Millennials tells you pretty much all you need to know: The environment has changed.
It's not a good/bad thing, it's just a thing.
Finally, I put this forward: We wouldn't have had this discussion had this been written in 1990. He would have been dismissed as delusional.
Right, and why would that be? Perhaps because the 1990s were golden economic years?
All the gold was going to your parents. :-)
"We all knew that we were the first generation to be worse off than our parents"
I may be young and naive, but from what I hear about the current state of economics (I even heard we went into a recession), things suck pretty bad for the people, like me, just starting to jump into the work force. But honestly I'd say each generation was better off than its previous one. So I have a cell phone. My cell phone probably has more computing power than the universities whole computer lab that my dad attended? And that my grandfather while my age didn't use a computer. I'd say being able to access all the worlds information among thousands of other things that have been made better makes mine and your generation better off. Gratitude is important too.
In Canada, things actually happened to be quite a bit nastier then than they are now:
Now look at the current era. I graduated college in late 2007, at almost the exact moment hiring froze in almost every industry. By 2008, you'd be lucky to get a job if you had 5 years experience, nevermind zero. By 2009, the unemployment rate had jumped up to 10%, a level the US had not seen since the early college graduation days of "generation X". In 2010 we've seen moderate levels of hiring, but no sustained push. Now those of us who graduated in 2007 are looking at possibly a 4th year of sluggish hiring.
So again...I maintain that young humans, in general, have less humility than they should (primarily because they don't know the difference between "good" and "bad"), but this level of humility in the application process (however you can even measure that) probably varies heavily on market conditions. If you graduated college in 1981...my condolences to you. You had it rough there for a few years. But try to keep in mind that there are lots of people out there right now who are in the exact same boat.
And with regard to "being worse off than your parents", I don't think there's a young person alive in the US who isn't at least partially bitter about the massive debts your generation and the ones that came before it have left us with, all while being bragged at by older people about how amazingly humble they are. And let's also not forget that your generation isn't "worse off" than your parents if you're counting by measure of inflation-adjusted income.
Also important to note: this kid wasn't getting responses from employers after going the humble applicant route. I had the exact same problem: people just wouldn't return my calls. So if he does have a lack of humility, it's a direct result of not having a job in a poor economy.
There is literally tons of data that has been written about gen x. Your comment most certainly proves that you're probably not as familiar with the time period as those who lived it. That's not an insult, just a truth.
Your generation has the unfortunate distinction of being shocked by the current economic situation. It is so far from what you grew up with: a relatively stable period of the post cold war world. Don't worry, I don't envy you. You'll be humbled enough (as we all will be, I fear) over the next little bit.
That's much different though than the world I grew up in, which was transitional to the core. I'm late x, coming of age in the 90s. That means I remember when most of the neighborhood kids had parents that worked in factories and the world was certainly going to end in a nuclear calamity one day. When that world changed in the late 80's, everything was in surplus. It was an attitude very similar to finishing a large project, best described as: Okay, what the heck do we do now?
I maintain that young humans, in general, have less humility than they should
That of course is most certainly true. However I maintain that X, as a generation in time, had much less of an expectation, was much more pessimistic and therefore more gracious and humble than any other generation before it and since. Nothing I've learned collectively seems to suggest otherwise.
Although it was true that we grew up with reagan and bush 1, and associated global-political fears and sluggish economies, we also mostly graduated from high school and universities during the clinton era when the economy was booming and anyone with a pulse could get a job. I mean, drop outs from "media criticism" programs were getting 80k offers to become "web producers." There was a ton of work, a ton of money flowing around, and not very many young people coming out of school (relatively).
My brother on the other hand has a dual degree in tough sciences and has been un or underemployed since 2008. There is a glut of graduates and the only places hiring are silicon valley and silicon alley. Even if you have a degree in physics, if you don't know PHP you are not getting an interview, anywhere. God forbid you are interested in something like Law, where nobody is getting hired.
It IS when you graduate. If there are no jobs, there are no jobs, regardless of how serene and abundant or oppresive and anxiety inducing your childhood was.
But I'm not arguing about who actually has it worse. Hell, I think anyone graduating this year wins that hands down.
Humility is an action based on perception, not reality. If you forever had it easy, yet land in a world of shit come graduation day, you become flummoxed and dismayed. That's when you figure all hope is lost and you may as well throw caution to the wind. You're owed more dammit! Why can't others see that?
On the contrary, those that have never had anything are grateful for the little they receive. In fact, some in this boat could use a shot of arrogance.
These are extremes of course, and certainly gross generalizations, but hopefully I make the point. It's not that one generation is better than the other. It's that one started low, and got low - exactly what they expected. The other started high, but is getting low, and that's not what is expected.
When you don't get what you expect, the best place to look for answers is in the mirror. In this case - the solution is to decrease expectations. In other words be more humble.
You're lumping the entirety of "generation X" into a shared-cultural-experience group, when someone who was born in 1975 probably had quite a lot more opportunities entering the job market than someone born in 1965 or 1985.
I mean what are we even saying here? In general people had better childhoods in the 90s than they did in the 70s and early 80s? Ok, but we're talking about variations on the edges of various largely immobile population blocks. Your personal experience might have been difficult, but how do you know that mine wasn't just as difficult or worse? How are you so sure that I'm not already as humble as you are? This whole generation generalization strikes me as something like "Ohio State can't win the national championship because the SEC is faster".
I don't have a problem with the guy asserting that he can pick up new technologies quickly, as long as he expects he will only be offered entry-level positions. You do not write Python the way Shakespeare wrote prose after six months.
I do however have problem with him not providing anything to back up his assertion. But he probably figures in a tight job market he needs to find a way to stand out, and this is it.
I am an employer and that's exactly what I did. This is amusing, but I would never want a person like this to work for me. He's basically saying "I know nothing and proud of it... but I can learn! I can pick things up fast! Hire me! Why wouldn't anyone hire me dammit?"
No he isn't. He just deliberately, explicitly refused to tell. I'd say this is a weak evidence that he indeed doesn't know anything. However, he clearly demonstrated writing skills. This piece is engaging and to the point. The ideas exposed are clear. Both emotions and facts are effectively communicated. To me, that's mildly strong evidence that he does know something.
As for why no one would hire him, I think he knows: because no one hired him yet. After the first month of job-searching (during which he made some obvious mistakes or just didn't have luck), he has to disprove the premise that there is no actual reason for his not being hired yet. As time passes, this effect becomes stronger and stronger. Some comments here that blame him actually ignore this, and if most employers do the same, they actually trigger the effect they ignore.
Ask yourself: say you see 2 applicants, one who currently has a job, and one who hasn't for several months. Which one will you most probably want to hire? Add in a few cognitive biases (they're not easy to overcome), and your decision may be based on this fact alone.
The one who hasn't, obviously. (S)he's had several months to develop undirected skillsets on personal projects, is less likely to be burned out, and would be far more likely to happily accept a lower offer.
The only solution I see to this problem is lying on your employment record. But I must admit I'm uncomfortable giving this advice.
PS: Outside of a tiny startup few people really risk much with any given new hire.
A good candidate does that during any job interview. Two-way filtering helps all parties find better matches faster.
I don't think he 'expects to walk in to a job' because of this, heck from the sounds of it his attempts to get a job have been largely fruitless.
This is just his way of standing out from the crowd and getting himself noticed enough for an employer to ask him in for an interview.
If I needed a Rails app, DHH is special, not Mr. MIT womb programmer.
There are very few "special" positions that a nice degree and IQ points alone are the only prerequisites.
Like I said: It attacks their world view.
I'm playing the persona of a person that has been around the block a little too well perhaps to make a point. The fact is that there is always somebody more experienced, smarter, better than you are, no matter who you happen to be. Even if you are at the top of your game, changing the subject matter can easily knock you down a few pegs.
I appreciate that what I'm saying may be lost on the youthful part of this audience and may be taken as me saying that I am better than you all because I have a few years on you. Be clear: this isn't what I am saying. I'm no less of an audience to my own comments as anyone else reading them.
"Be humble and gracious.(Period)"
I think it is important to understand the tone in which he wrote this. He is not serious, but he is doing this to garner attention. Your response doesn't match his intended tone.
It is like someone being upset at a joke; you are taking it too serious.
In the end, to each his own.
And even moreso afterwards.
Today, the only thing you want to do is hire public relations firm to tell people how you humble and gracious you are...
I prefer non-asses myself but I think there are other options in the world besides humble and ass ...
The funniest thing is you also hear people toss around statistics about 9 out of 10 applications not being able to X...
Well, if a potential employer treats someone as the "the lowest of the low", they might find out the person acts like that, aren't "up to our standards" and they stay with an unfilled position and the frustration of interviewing (and abusing) fifty more people, who are also "the lowest of the low"...
created: 1337 days ago
...and it was completely unintended. :-)
Personally I didn't take this very seriously & figured it was a creative exercise or attention getter. Kinda like the guy who wears his resume as a sandwich board and walks around NYC. Makes you want to hire the guy even if he's just competent technically.
Thought it was hilarious -- could probably get him a job at a marketing/ad tech firm. It's already getting him a bunch of good advice at HN, so looks like it's working...
I think it's mostly a fault in recruiters as some of the more-technical positions are frankly over their heads, but nonetheless I myself have had a few failed interviews because the people weren't willing to take me on my word that if I am passionate enough about something, I WILL learn it and I will be GOOD at what I do. But that alone will not net you a job.
I think part of his problem is a lack of persistence. We are (for the most part) hackers of some flavour here, and hearing "we'll get back to you" when we know that's "you will never hear from us again" is unacceptable. So go hunt down the recruiting manager. If that fails, hunt down someone who likely holds a similar position and who you can impress to the point that they might vouch for you.
Take alternative routes, and be DAMN persistent and passionate about the job you are trying for, even if it may not be 'teh bestest job evar.' Make them believe that you think it is.
As someone commented below, they get tons of resumes (especially now). You've gotta stand out. If that means rolling up to some business in a suit and tie one day and wanting an interview so you can circumvent lackluster recruiters, so be it, or setting up an interview with (insert manager here) because you can Google things / social engineer a bit (obviously you don't want to lie, but you'd be surprised how few questions receptionists ask - usually just your name).
This is going to ruin your world view, so brace yourself
So, this is ridiculously tongue-in-cheek, and the reply is over-the-top to the degree that I can imagine with no effort the same being uttered from underneath a drill sergeant's hat against some fresh recruit who copped a serious attitude.
It's not an unfair response to brash cockiness, but it has set me thinking.
Whether a language, or a framework, or a library, or any other handy tool of the software trade, there seems to be two camps that drown everyone else out in the din.
There's the camp that declares that learning new things is a matter of extrapolating from the understanding one has already developed to fit with whatever assumptions this instantiation of thing X makes. For instance, you understand what Object Oriented programming is, and how it works. You are presented with a language you have never used before, but know it has support for OO. This puts you from a level of having to understand OO to a level of understanding this language's semantics for OO.
Then there's the camp that declares that learning new things always starts from a position of absolute ignorance. Prior knowledge and understanding of concepts that would seem to apply to this new thing you are learning don't apply, almost as an axiom. As with my example of OO above, it doesn't matter that you know what OO is, and what it means to the structure of your program. If you don't know OO in the language of discussion, you get no points toward credit of understanding OO.
If I may be blunt, both these stances seem like bullshit. You don't magically know the syntax of how to do OO in a new language simply because you know OO from a theoretical level; it's something you have to look up. But different languages' implementation of OO aren't so disparate that the only thing they share is the name. There is a basis there you can rely on, but it doesn't get you 100% of the way there.
I guess the question I don't think people answer enough, which I would like to inject into the conversation is "how far does it get you?"
I realize that the answer will vary for different theoretical ideas, and different practical realizations of the same. The point of my question is to challenge the presumption that understanding of related concepts either gets you to the finish by default, or leaves you gasping at the starting along with the people who didn't have that understanding. I think this gets left behind when we start having all of these political battles based on generational identity, and I'd like to see what people think when smacking other generations around isn't the primary goal of a thread.
If my company wants someone that can come in and start coding from day 1 then yes I want someone that already knows language x well, and can show me samples right now. I am deliberately overlooking your alleged ability to quickly pick up new technologies.
If I am looking for someone to join the company for the long term and I am willing to train, then I might care more about your ability to learn quickly (but you better be ready to prove it...) and little about what you know now.
In the real world, what I am looking for most of the time is in between. I want someone that I can assume will be with the company for a long time so they need to be able to learn and adapt as we change. But I also want someone that can be productive without a huge lead up time so they need to already know something really close to language x if not language x itself.
In short, I normally want some of both and your alleged ability to quickly pick things up is not being overlooking, but it is only one part of the equation and I seriously want you to have something close to language X already.
Certainly having experience with OO in one language will be an advantage when it comes to picking up another OO language but yeah, you're not 100% there. I would posit that you're more than 50% there, though (with this particular example). Understanding the OO concept is more important than the syntax.
You know what I find onerous when I think about learning a new language? It's not so much picking up the new syntax because a lot of the time I find that I can do that pretty quickly (at least if the paradigm between old and new language is not too disparate). It's picking up the ecosystem around the language:
How do I deploy an application written in language X?
How do I package code written in language X (e.g. Ruby gems, Python eggs or whatever)?
Which unit testing frameworks do I learn?
What IDEs or text editors are usually used with language X?
Documentation conventions and related software (e.g. rdoc)?
What community resources are valuable, trustworthy and stable? etc.
When I first started learning Ruby (along with Rails, some years ago now) my web development experience mostly consisted of LAMP and ASP.Net. Deploying Rails apps seemed like such a massive hassle compared to PHP. Part of this was that Ruby as a web dev language was much newer than PHP and was still settling in, parts of it really were a hassle. But I came to realise that a big reason for the difference was that the two communities were conceptually coming at the issue of deployment from very different perspectives and a lot of the differences I was seeing were no accident, and not so difficult to grok when you understand the motivation behind them.
A lot of non-programmers don't get that there is usually a fair amount of transferable knowledge when it comes to picking up a new language that utilises similar concepts to one you already know. But I can also understand that some (probably most) employers want their staff to "hit the ground running" and may be looking for people with a very specific skill set.
Putting myself in the position of an employer and knowing what I do, I'd rather hire Person A that's obviously enthusiastic about learning new stuff, who's maybe contributed to something open source that can be reviewed, and who surely has some background knowledge that they can build on but who may not necessarily have language X listed on their resume, over Person B who does have language X on his resume but that's all they've really got. It would be good if more recruitment firms and HR departments started to realise that having the right acronym/keyword listed on your resume doesn't actually mean much on its own.
I have trained several hundred people in software development when working as a contract trainer and it was always attitude that allowed me to guess who would be the more competent programmer.
I would prefer to hire a well rounded competent young person who could become a solid competent developer that some rockstar programmer with no personality. Fair play to this guy, he is doing something original instead of feeling sorry for himself.
Narcissism is the new "N-word", but it's not a bad thing. It's really a fancy way to say "self esteem". Psychoanalysts, since the 1960s, have come to see that postmodern people don't (usually) have the Oedipal problems that Freud talked about, but instead they have trouble with self esteem. There are a number of causes for this, but one of them is the massive exposure we get to the mass media. We all see people who are fantastically talented and successful (Bill Gates, Payton Manning, Jerry Garcia, etc,) we get massive doses of the "pornography of success" but we don't get realistic role models growing up. A lot of the people who read HN were people who "knew" they were smarter than anybody else in their peer group, but were in the shadow of Einstein, Bogart and Warhol. Bright and talented kids often don't feel like they have comparable peers, so they compare themselves to inaccessable superstars.
Narcissism isn't bad, it's just a part of your mind, just like your heart is part of your body. However, Narcissism can malfunction, and a common form of malfunction is another preoedpial phenomenon called "Splitting", where you perceive things as all good or all bad. One day you feel like you're the best in the world, and really special because of that, then the next day you feel like the worst in the world and you're special because of that too. It can really mess up your head and make you miserable and ineffective. I'm not a professional, but I think this guy is experiencing splitting... He puffs up this big image of his self-importance because he also feels like he's small and unimportant.
His process of healing and growing up means that he's got to integrate his feelings of "I'm awesome" with his feelings that "I'm worthless" and develop a realistic appraisal of who he is. Unfortunately, that's a very difficult task in the postmodern age.
Anyhow, sending out resumes is a crappy way to get a job, particularly in a down economy. You really do want leads to come to you, and there are a few ways of doing that. I really like Neal Schaffer's approach to using LinkedIn, which is all about "digging your well before you are thirsty"
My experience is that arrogance is an absolute killer in the job hunting process. I had a time, years ago, when I had a crappy resume, and just getting interviews was a challenge. After a while I had great experience, and I'd get interviews for maybe 50% of the applications I sent in... I'd just blow the interviews. I looked at why I was blowing the interviews and I found that arrogance was a big factor, so I made a point to tone it down.
My issue now is that I feel programming is a dead end and I'm more interested in a management role. In my area, there's definitely a problem of "too many indians and not enough chiefs"; software projects often have nobody leading them at all, or if somebody is driving the bus, they're second-rate salespeople, experts in entomology, or otherwise people who don't understand the issues of IT management. People around here are much more interested in hiring junior developers who will go screw up their projects than they are in somebody experience who can help a team get the little things right consistently.
My answer? Start my own business. I'm old enough that I'd only apply to Y Combinator as a prelude to filing an age descrimination lawsuit. However, I'm learning to combine my programming ideas with some very hard-nosed business ideas and bootstrapping something that, someday, might become really awesome.
What if you're a Web guy and the task is a C++ medical application? What if we're a finance company and the language is Haskell or ML? There's no way someone with no experience in a related language could become proficient without a fairly long training period in the company. What if I'm a hardware IP company and the language is Verilog?
To pretend that what takes many years and domain knowledge to become proficient in, you could just "pick up" on the go, is what sounds a bit entitled to me.
The second day with my new employer I was tasked with writing an analysis project in a language I'd never even heard of before joining. Within two weeks, I was writing code in that language every bit as good as my coworkers'.
Your statement may hold true for people who know one or two languages (like most CS graduates these days), but once you know a wide array of languages (my list is Python, C and C++, OCaml and SML, Lisp and Scheme, Perl, and the semantics but not the libraries of Lua/Ruby/Java/Erlang/Haskell) picking up a new language really isn't a challenge at all: the semantics almost certainly fit somewhere in the space of the languages you know, and what small bits do not are easily learned.
(As a side note, that's why I still put OCaml, Erlang, and Lisp on my resume; not that I imagine very many employers would be interested in working in those languages, but because I want them to know that whatever they do their work in likely lies within the range of my existing semantic knowledge.)
You seem to have neglected the part where I was talking about domain knowledge: I still think it wouldn't be easy for even a good programmer to start coding the control software for a microscope if he has no experience in that domain (DSP, image processing, etc). Even if the language is C, the algorithms require very careful consideration and more than a couple weeks' worth of study. Same would go for a programmer-analyst at a financial company, etc.
For the extreme example, just go ahead and tell a verification engineer that you'll write good Verilog within 2 weeks ;)
I didn't neglect it, I just didn't disagree with it.
Just cause your coworkers sucked doesn't invalidate the point. I challenge anyone to write good code in a new language after 2 weeks of learning it. You can hack, sure, but I've never seen anyone write anything respectable in a language they've only been in for 2 weeks. In the worst case they think it's good and it's hard to teach them how to do it right because they think they know it all already.
Also, if you claim to know the semantics but not the library of a language, you probably don't actually know the semantics. Corner cases matter.
> Just cause your coworkers sucked doesn't invalidate the point.
My coworkers don't suck. In fact, I've yet to meet a technical person here that I can confidently say I'm smarter than.
> I challenge anyone to write good code in a new language after 2 weeks of learning it.
I've taken your challenge and passed. Are you calling me a liar?
> Also, if you claim to know the semantics but not the library of a language, you probably don't actually know the semantics. Corner cases matter.
Libraries are molded by semantics, and not vice versa. It's certainly necessary to know the libraries in order to be proficient in a language, but it's not at all necessary to know the libraries in order to know its semantics well.
I'm calling you not particularly self-aware. After a year of coding in that language, the code you wrote after 2 weeks will likely look like crap to you. Unless that language is so domain specific that there's no room for design or so derivative that you can apply another language's style 100%, you almost definitely still have more to learn after 2 weeks.
RE: Semantics, that's all true, but if you don't have enough experience in the language to even say you kinda know the library, you probably don't actually grok the semantics. For example, Java, can you tell me the difference between volatile and synchronized as it regards the memory model without looking it up? What's a happens-before relationship and how is it relevant to those keywords? What's the transient modifier do? Transient's pretty irrelevant these days but if you can't answer the first 2 questions without going to google, you don't know the semantics of Java.
As I've gotten more experience, my estimation of my own knowledge has consistently gone down. I think it's a good approach.
Based on no real data except your prejudices.
> Unless that language is so domain specific that there's no room for design or so derivative that you can apply another language's style 100%, you almost definitely still have more to learn after 2 weeks.
There's a vast chasm between "understands the language's semantics" and "has no more to learn." I've been programming for over a decade now and there's no language about which I can say "I have no more to learn." If all you're saying is that it takes more than two weeks to know a language completely, you're not saying anything useful at all.
With regards to the language's domain specificity, it's a standard procedural language, with types and functions and values and loops and all the ordinary stuff that languages like C and PL/I and FORTRAN and Modula-2 all have had since the 60s and 70s. It has first-class and higher-order functions, like Lisp has had since 1958. It has a few declarative features mildly reminiscent of Prolog to enable transparent parallelization.
Hell, look it up yourself if you're especially interested. It's Sawzall: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.169....
There is extremely little that is new in production programming languages these days. Practically every feature of every language that anyone significant is using in production has some analogue in the languages I know. What little remains is not difficult for me to learn because programming languages are my personal area of interest in computer science. I'm not being arrogant here, I'm just being real.
Take a look at Go. A fun post was made soon after Go was released which compared it to "Brand X", an unnamed language few people have heard of: http://www.cowlark.com/2009-11-15-go/ . It turns out that practically every idea in Go is also present in Brand X; it wouldn't be unreasonable to call Go "derivative" with regards to its nature, if not the process by which it was created. I'll spoil the big reveal for you and save you the time of reading the post: "Brand X" is Algol 60, designed and implemented half a century ago. Practically every language can be dismissed as "derivative" if you're looking for a way to negate good programmers' abilities to learn something new.
> Semantics, that's all true, but if you don't have enough experience in the language to even say you kinda know the library, you probably don't actually grok the semantics.
You're wrong. Understanding of a language's semantics is prerequisite to understanding its library. Before a person can even consider understanding and learning the libraries for a language, he must understand the semantics of function calls, conditionals, loops, etc. He must understand whether the language is call-by-value or call-by-name or call-by-need or call-by-object-reference. He must understand how the language handles scoping. He must understand which entities are first-class and which are not. All of this is necessary (though not sufficient) for even beginning to grok the standard library. On the other hand, understanding the standard library is absolutely inessential to understanding the semantics of a language: if a programmer doesn't know what functions and types are available in the standard library, with knowledge of the language's semantics he can reimplement them easily.
> For example, Java, can you tell me the difference between volatile and synchronized as it regards the memory model without looking it up? What's a happens-before relationship and how is it relevant to those keywords? What's the transient modifier do?
I didn't claim to be a Java guru. Very few Java programmers actually need to know the answers to those questions in day-to-day programming; I could probably (if asked to, which I'm not, thankfully) write thousands or tens of thousands of lines of Java without ever needing to know the answer to those. There's certainly a difference between my understanding of Java's semantics and the understanding necessary to answer the questions you're asking, but for the vast majority of tasks, productivity happens far closer to my end than yours.
>I didn't claim to be a Java guru. Very few Java programmers actually need to know the answers to those questions in day-to-day programming; I could probably (if asked to, which I'm not, thankfully) write thousands or tens of thousands of lines of Java without ever needing to know the answer to those.
You're wrong, and this proves the point. This isn't 'guru' level, the workings of volatile and synchronized is even on the basic SCJP test. This may not come up in your domain, but if the project deals with threading, an experienced dev will be more productive than you right off the bat, after two weeks, and probably after a year.
In fact, threading is pretty tricky, so it's likely you will be counter-productive to the team until you've made all the Java threading mistakes you need to make in order to understand why your code is bad. And, you might never know your code is bad unless a domain experienced Java dev explains it to you.
Domain experience matters.
RE: Sawzall, haven't used it, but assuming it's similar to Pig, that's pretty domain specific. You'll probably write different code a year from now than you're writing now, though.
You sound like a "practice" guy. To learn a language, you need to see and write code in that language. You take a good look at the standard library, you practice, you learn the trivia, how things are done, and as you become proficient, you acquire a good intuition of the language semantics.
jemfinch, on the other hand, is more a "theory" guy. To learn a language he needs the (reference) manual. He reads it, compares the various features of the new language with the ones he already know, which let him get the semantics fairly quickly. Proficiency only comes when he learns the trivia as he needed, with practice.
The difference between the two of you is that for you, understanding takes practice, while for him, it's a prerequisite to practice. You could argue that both approaches eventually amounts to the same (to write actual code, you need proficiency anyway), but they do not.
Programming languages aren't just rigid tools your boss forces you to use (or at least they shouldn't be). They're something you should chose, and sometimes transform, or even build. In such cases, you often need to choose between several languages, some of which you never practised. Some in which no code were written yet. So you need to judge the languages for themselves.
Furthermore, the "practice first" approach tend to make you blindly parrot current styles. That makes you more likely repeat past mistakes without realizing it. The "understanding first" approach may be more error prone at first, but at least here you can confront 2 styles (your own, and the established practice), and challenge either of them.
But understanding the basic flow of a language well enough to write "hello world" doesn't mean you fully grasp the semantics. Sure, you need to get a basic understanding down before you start coding but you don't actually understand things until you've had to look at them from a few angles. I used to assume I had something once I had the basic idea, but I've been bitten enough times by all of those unspoken assumptions that I have a healthy respect for the practice as well, is all. First inclinations notwithstanding.
Speak for yourself. I learned AutoLisp with one bit of sample code someone left behind and a bit of Googling in about a week, starting from zero. Nobody else where I worked knows it at all. But from that, I coded a full set of functions that did everything we need.
I reverse-engineered the semantics of some crazy internal scripting language to some of our industrial machines. Nobody bothered to document that thing at all and it was custom to my employer.
I learned to use a different testing tool from nothing more than a bit of sample code and being told that it was based on VBS. I then improved the code I was given.
Some of us really can figure out the semantics of something just from reading a few examples. This also works with foreign languages. Particularly if I can get parallel translations (e.g. subtitles), I can start working backwards to extract meaning and solve for unknown words.
In short, you'd be surprised about how quickly we can figure out things, especially if we've seen something like it before. Sure, there are pitfalls, but anywhere where you have nice syntax aware IDEs and whatnot, it's not nearly as much of a barrier as you seem to think.
The more languages you've used, the easier it all is. This goes for both human and computer languages.
The trouble is picking-up the idiom: If you're a Java guy learning Python in this manner you're going to end up with a lot of java-looking python code.
Nothing wrong with hiring a developer for a language he doesn't have a lot of personal experience with. But there's also nothing wrong with a company wanting to know which languages a developer knows. They shouldn't get a lecture for asking IMO.
I might invest in that if you are worth it, but you need to prove that to me first. Assuming that I either am or that I should be paying for you to learn a new language when there are thousands of applicants that I don't have to do this for is the sense of entitlement that I'm talking about.
This can also apply in other ways too (graphic design, web design, charitable organization activities, etc...) My point is that I don't see a portfolio other than a single short story example.
Anyone that loves job traveling, is either an idiot, or have never done job traveling...
I smell a lot of non sense from this application...
My god does people from older generations not label an entire group taking solely one sample?
He should have made the text/content a program..
For example, I have a recruiter android game that I sometimes send to recruiters when they enter my inbox...answers their questions in a neat way and still
allows me to poke fun at the process....
If I was a hiring manager(and I have been once or twice) I would turn him down without a 2nd glance.
Indeed, this stunt DID distinguish himself. He's here on the top of hacker news. Clever stunt if you ask me.
Go look at http://jacquesmattheij.com/My+list+of+ideas+for+when+you+are... and pick one. Or come up with another idea. Then build a website that does it. Find some freelance work on the back of that. Something small that can show off your talents. Rinse, repeat. Either you'll start applying to jobs again and get accepted on the basis of your demonstratable skill, someone will give you a job (which you'll have earned,) or you'll be one of the cool consultant-entrpreneur-successes.
As you know, rejection sucks, but the worst thing is the social proof it is against you. I'm thinking to myself "there must be something wrong with this guy, so many people didn't hire him, there must be a reason." Do some things that prove you are a success and people will hire you. You've been unlucky, but sometimes you gotta make your own luck. This is an admirable attempt, but if you want me to believe you are the kind of creative achiever you say you are, you need to do more than say it. You can do it!
EDIT: Damm. As halaric points out, his personal web page does list these things. It still needs at least a direct link and preferably a mention on the application page though.
Then I met a guy who knew a guy, and they got me back on track. Now I have a very nice job with a very nice company where I do amazing work (if I may say so). So anyhow, there are eight million stories in the naked city. This guy's story sounds like my story. I wish him luck.
You have to understand that it has to pay to hire you, you are just not entitled to a job because you have a degree.
Some constructive criticism:
Thats a lot of ink to print that out, drop the black and grey banners. Try using a resume theme from Pages or Word for a start and just use black fonts on a white background. Use Myriad Pro or something more modern than Arial. Make it one page. Your first entry shouldn't be that you can use OSX and WinXP, my mom can do that.
Drop "Proficient in...", it sounds like you just know enough to get by. I would also drop your high school info to be more concise. Your HS GPA says "4.58 (weighted out of 4.0)" Either its bad math or its not out of 4. And I would switch up your order of things - employment, education, skills & projects combined.
And I second all the comments of the parent...resume definitely needs some work.
If you still want a non-cookie-cutter resume template, try making one in Latex. I personally use a heavily modified version of the template mentioned here: http://www.thelinuxdaily.com/2008/10/latex-resume-examples/
Go grab a LaTeX template, replace the filler with your own information, and get it down to one page.
There are so many posts on HN about A/B testing. I'd A/B test my resume if it were possible.
Cernium Corporation Reston, VA
September 2009 (a short job contract)
I learned how to work with a team to set goals, outline those goals in a design document, and accomplish those goals in code within a very small timeframe.
Is HR gobbledygook, and doesn't tell me anything about what he was doing, why or how hard it was. Unless I find something cool while searching for "Andrew Horner" <programming language that I'm hiring for> on Google, his resume doesn't stand out.
If he had said he got a 4.4 (or whatever) out of 4.6, it would convey more information than what he said on his resume for two reasons:
1) It would tell the employer at roughly what rate he took harder courses than he had to (this would be especially true if he somehow found the school's average maximum GPA).
2) It would tell the employer the actual ratio of his grades to the maximum possible score.
So one could end up with an "average" of 6.3 or 7 since they are divided by the baseline (i think it was like 28 classes? at 4points max each so 112) so assume I took ALL AP classes all 4 years, I'd get a 140/28 (7 classes/year/4 years?)
I think my school's valedictorian had like a 6.X gpa.
I think honors classes were 5 points and AP were 6
But i have something of interest to impart to you.
Im from a background of arranged marriages (yes, im ok with it) and my parents are currently looking for a suitor for me.
I've been rejected by ALOT of girls, and have been through almost the exact same thought process as you.
I'd gotten to the point of grovelling, being content with anything that comes my way, but now i'm realising and very quickly that i actually have a lot to offer, and the girls should be begging to come to me.
So henceforth begins my reverse marriage proposal! ;-)
Maybe i should do a blog post!
Careful, that might be confused with "arrogant douchebag". What you look for in a for-profit company aimed at maximizing profits is not necessarily what you'd want in a husband. For example, you probably wouldn't want to "work with a team" to solve intimate marital issues.
Which raises the larger point about this article, and hundreds of other charmingly idiosyncratic applications -- they certainly are refreshing, but may not always be received in the best way. Sometimes professionalism goes a long way. This isn't your college application essay.
I didn't see anything I'd call unprofessional in his application.
People with jobs often feel overly entitled to define what constitutes professionalism. (NB, I'm not addressing you personally, just the amorphous "they".)
To me, the larger point of the article is how difficult in can be to break through the arbitrary and diverse standards each HR department and hiring manager has.
Sometimes it just feels better to state what you want and hope they find you.
If I were him, I wouldn't give a rat's ass about who might not receive it in the best way.
But that's just me. I've been privileged enough to be sought after by my past and potential employers.
* For your level of experience, Everything should fit on a page.
* Take out the operating system part. They can infer them by the languages you use.
* Take out high school
* Create a section for awards and list them there
* Take out familiar with MatLab and Latex
* For each project give a link to a screen-shot or working project and ensure those links work
* Take out techniques, they should be able to infer them from the projects you did.
*The main point is show what you have done
Everything else can be so much hot air - but projects speak for themselves.
The first project promises an online development blog - but the link to the blog is dead, and google doesn't find it.
The second project claims he architected and implemented a full game engine. Having a quick play of the game (http://www.andrewhorner.com/sds/ ) reveals it doesn't really work.
It looks pretty, but it doesn't really do anything, its not playable, its not finished, even though the resume implies it is.
That doesn't look good.
The reverse job application was a great pitch to get people to look at your resume, but then you have to make sure they've got something to see. Its great to be able to get attention, but you need to capitalise on it when you do.
And if you are going to be unemployed for 2 years, at least get a finished project to put on your resume, that'd go down a lot better.
It's unfortunately not as widely recognized in the US than elsewhere in the world.
A company won't decide to hire you based on your high school marks.
(I followed his link at the bottom to his real page and confirmed there that he is a software developer.)
Mr. Horner's site seems even more reverse than a reverse application - does that make sense? He seems to be saying, "First, decide if you like ME. Then, decide if you have a job for me."
EDIT: I should have said "industry" instead of "thing" in my second sentence. He's stated he wants to be a generalist, not a specialist. He would fare better by targeting a specific industry.
1. Clean up your CV, make it look more for professional and less arty.
2. Stress the open source project and dev blog in interviews along with any books/resources and interesting language features/features you're currently using at the moment.
3. Don't wait for somebody to come to you. A good approach is to approach employers directly rather than using recruitment agents or middlemen. You will find somebody who will give a break. Recruitment agents are the scum of the earth, but sometimes very useful - I didn't find them so useful when starting out.
4. You weren't unemployed for two years - I can't stress this enough. You worked on open source projects during that time and learned a whole bunch. Right?
Good luck with the job search : )
- He went to college
- He can't find a job
- He is a programmer
beyond that I know nothing, why would I hire him? Sure this might work this once because it's a ballsy "viral" idea (it's here, if that's proof enough) but it isn't sustainable which is what some people seem to see it as.
I do think that you will need links to some technologies you've built. If you don't have anything built yet, why not get started? Since you're out of work why not start with something simple (a "facemash" clone for pokemon?? wait, don't do that, I want that one now. oh who am I kidding? the market can bear a dozen facemash for pokemon clones)
I went to see the social network the other day and there was one line that knocked my socks off (wish I'd known it when I was fresh out of uni) "We encourage students to create their jobs rather than find them"
Instead of looking for work, why not get started on making your own work?
Will code for food.
Good luck! Let us know when you've found something!
i've heard a number of times (and believe) that the most successful entrepreneurs are often the B-student rebels that manage to hire the A+ students for their startups.
"we will offer our students the ability to land the job of their dreams or create it."
At the end of the day, I think it's mostly irrelevant where they say it (Havard, Stanford, Berkley, Carleton, all, none, who cares?) - it's the sentiment that really matters.
Clearly what's needed is a comprehensive registry of facemash-for-pokemon clones. I would suggest that he get on that project.
By comparison, I have to scroll halfway through the original posting to get to an “About Me” section to find out what the author thinks his qualifications are, and they include stuff like “perfectly capable of obtaining my own snacks and beverages” and “usually wearing clothes”. Har har har. Now tell me, as a potential employer, why I should pay you money.
In case Andrew Horner reads this: yes, I'm one of the people (assuming there are more such curious folks) that filled in junk info to take a peek at those error messages. Sorry!
* Oh, you're unemployed too?
* Not sure how you expect me to respond without this.
* Maybe I'm just old-fashioned, but that doesn't seem like an actual e-mail address.
* Let's not take any chances here.
* You're either a terrible typist or a poor listener. Make sure your email address matches in both fields.
* Hey, if you don't know what to call the job, I'm not sure I want to be doing it.
* SOUNDS INTERESTING. Wait, you didn't write anything here.
I would humbly suggest "Oh, I see you haven't mastered cut'n'paste yet."
Being unemployed can offer HUGE advantages in terms of being completely up to date on the latest and greatest, something most employed people simply don't have the time for.
You don't need a job to tech you the tools of the trade so make sure you walk in with those already in your back pocket.
There have been plenty of crafty people on HN who have built up a resume with experience by simply offering free services in order to prove they can do something. I would suggest you do the same at this point.
Having people love and hate you is a big plus whether or not you're marketing yourself, your product or your company. Much worse if people shrug and move on.
Other polarizing examples: Harleys, cruise vacations, the iPad, Crocs sandals and of course avocados.
Quite literally, he only needs to impress one person with this.
That said, I cannot understand how a young, motivated programmer has trouble finding a job. The company I work for in Denver has been looking for Ruby and front-end web developers of all levels, and from all over the country, for months.
First priority: make writing code a lifestyle choice. Need a better resume? Write some code -- anything -- and put it on Github. Bored? Write some code and put it on Github. Sick of sending out resumes? Write some code and... you get the idea. Strong candidates love the craft, not just the paycheck. Show pride in your code and prove you'll want to write code at work and at home.
Programmers who work at companies that you should actually want to work for are not hired because they have great resumes or went to great colleges. They are hired because they are capable of solving real problems while writing maintainable code. If you can do that, you're an easy hire.
If the pitch seems over the top to you, you've missed the point. He's taking all the hoops and whatnot he's had to jump thru, and turning them on the employer. Besides humor, it serves the purpose of him reasserting his self-worth, after having it torn down by the poor job market. He feels that he's good at what he does and is tired of feeling worthless because jobs are scarce. Where's the harm in that?
That said, I think the site is very cute but quite absurd. I know almost nothing about this person. I only figured out that he was a programmer about 3/4 of the way down the page. And I'm just inferring that he's a programmer, he never states what it is that he supposedly does well.
If a manager actually saw this and wanted to hire him ("oh hey, that's funny XD"), that would be a VERY bad sign about the company. Places that make decisions in that way are not places you want to work. To paraphrase Groucho Marx: I don't he should work for any company that would grant HIM an interview.
Ok, perhaps he could stand to be taken down a peg or two.
Also non technical people use resume buzzwords as easy way to filter through a undefined mass of people. If you want to make an iphone app, your going to look for someone with iOS, iPhone, Objective-C and mobile in their resumes or portfolios. Even though you might pick it up and get up to speed to an experienced developer in a month or two, it's a month or two in money that they can avoid.
Ho! You are not a fan of the "become an expert in ten years" theory?