You Get out of my Industry
singlefounder.com
singlefounder.com
know what i'm not passionate about? working for free.
i don't know of any lawyers who meet with clients for an extra couple hours a day without charging because they're passionate about the law, or surgeons who don't bill for their work because they're just so gosh darn passionate about surgery. i also don't know of any construction workers who construct for free, because they're just so passionate about building great things used by thousands or millions of people.
not commenting on the quality of people discussed in the article, the real "get out of my industry" should be to the people who slave away in front of the computer, working for someone else, and expect no overtime or pay for their above-and-beyond efforts. they devalue the entire profession.
and tangentially, in my experience, it's the overzealous and over-passionate people who ruin the workplace by forcing bizarre methodologies and process on everyone (agile development, anyone?), attempting to coerce everyone into working overtime, and switching technology for the sake of switching. and in the end all i've seen out of those people is completely average results.
This is a statement I can stand behind. No enjoyment = no drive to get better (usually) = stagnation and eventual irrelevance/incompetence.
There's a difference between enjoying your job and becoming so obsessed with it or afraid of losing it that you become a doormat - in that sense I totally agree with you.
I like what I do and it's good to be paid at what you do. But these days corporations want their people to work extra hard and dedicate themselves for the company. Once the company is done with you, they'll spit you out.
I've had my first-hand experience seeing someone who helped built the company, loved his job, work harder than anyone else in the company, was being let-go when the company didn't do well. Probably because he has a high salary than anyone else. The least the company could do is to negotiate his salary and let go someone else (still not ideal, but then..).
Long gone is the day of "employee growth", "personal advancement", or "continuous improvement". Enter the day of "you should already know that", "study this on your free time".
With the rise of Scrum and XP, developers are becoming interchangeable (outsource, offshore, or between colleagues).
Exactly, and I suspect that many of the developers being "purged" are not those who aren't passionate, but those who happen to be too much of a generalist.
Today's job listings often ask for experience with libraries A, B, C, D and E. (It's not even about languages anymore; the "Python" jobs are really mostly for Django, and "Ruby" already meant "Rails".) They get literally hundreds of replies, so the chances of getting applications from people who actually do know all those libraries are fairly high. You just pick one of those who seems competent (maybe you'll let them do some of those puzzle questions that seem to be in vogue nowadays) and they can bring value to your project right away.
A generalist, on the other hand, loses out here, because they do not know all of these libraries (yet). It does not matter if they are competent and can learn these new things quickly; they aren't even considered.
So, you just learn these libraries, and next time you will have a better chance of getting the job, right? Yeah, except that the market is so fragmented, that the next job listing will require F, G, H, I and J. There are just too many of them to learn them all.
I'm getting the strong impression that getting a job nowadays is a matter of (1) luck, or (2) knowing the right people. Many companies like to pretend it's about passion, but other filters are applied first.
[1]: http://www.quora.com/Silicon-Valley/Why-is-there-such-a-stun...
If you're looking for work at VMWare, your Rails and MongoDB experience won't be needed. They want C/C++ guy who can hack Linux kernel or write device driver.
If you're looking for work at Facebook, they want someone who knows PHP and C/C++ and probably have provided patches to MySQL or memcached. Or they grab "idea" people like Lars (from Google).
You should also "own" that domain (compiler, AI, optimization, OS/Kernel, Networking, DB/Data-Mining, business-app, ERP/CRM/Enterprise).
This is scary because it forces you to: 1) Put your eggs in one basket: domain
2) And put more eggs in another basket: technology
3) Stay up with the latest in (1) and (2)
This left you no room to breathe. To break this cycle you probably have to get out there and do something on your own (meaning: your own business/company)
All I do know is that I have heard the other story as well, i.e. people who are hiring are inundated in replies.
I was recently interviewing for a Python/Django developer position and was instead offered a SDET position (with the possibility of becoming a developer) because I don't have experience with Django.
I turned them down because it felt like an insult.
If you're a developer working on web-based software, you are known as the web-developer guy (specialist).
If you're a developer working on transactional, security, concurrency, you are known as the back-end guy (specialist).
If you're a developer working on business-app, you are known as the enterprise developer (specialist).
If you're working on product-based company developing virtualization, you're specializing.
Developer who work at Google, while they might not used the varieties of framework out there, are specializing in Algorithms, Data Structure, Concurrency, and Large Scale development.
If you're looking for work as an internal business-app developer writing JEE components, your recruiter might not want to accept Algorithm geniuses who used to work at Google.
A Rails guy will look down on someone who has 7 years of Java experience whom tries to escape Java at the same time but wouldn't say something bad about his work experiences (not burning bridges).
These days people shaped their mind and view pretty quick.
People who know UNIX concepts are most likely employable whether the business is using HP-UX, Solaris, Linux, or BSD. You're a DBA? doesn't matter much how many years of experience you have between Oracle and SQL-Server (as long as each have at least 1 year).
Compare that to a developer who know OOP in Java and JEE is less likely employable in shops that use the equivalent technology in C#.NET (even if the concept and the language is the same).
My point here is that the changes in programming language/development tools are in a very unhealthy situation. People don't even have time to stabilize and learn other skills (communication, organization, networking, understanding business needs).
Shame on me, I should not have. I've met many brilliant developers who put in their time during the day, go home, and have a huge disconnect between work and personal life. They don't have side projects, they don't (usually) take their work home with them, and they are great developers. Why shame them for not working overtime for the sake of it?
If you leave at 5pm after breaking something that you left unfixed, thats poor job performance and you should be reprimanded for that. If you leave at 5pm because you've put in a good day of work and aren't going to be much more useful past them, there's absolutely nothing wrong with that.
Fortunately, I've escaped from that bad situation and am now at a much more reasonable workplace -- I work late because I want to, and want to see the project succeed, not because I have some manager breathing down my neck.
Besides, while there's certainly economic value to management for me to work unpaid overtime so they can ship sooner, your surgeon acquaintance actually helps people with problems much more important than either me or my boss getting an extra "atta-boy" for getting something done sooner. Not to mention, half pay for a surgeon is sill probably much better than full pay for your average developer.
Unrelated: in the city I grew up in, our baseball stadium was named "Phil Welch Stadium".
That's a common motivation for being a doctor. A common motivation for being a programmer is obsessive enjoyment in programming, or fanatical pride in one's work. It was a slightly more complicated analogy than it may have seemed at first, and I certainly agree that programmers shouldn't be expected to work overtime--but some choose do, for reasons I find difficult to criticize.
As you yourself say, "I work late because I want to". So I think we're agreed on that point.
Unrelatedly, it's a head trip to meet someone familiar with the only thing I used to find when I googled my name. Thanks for that :)
In my experience, if you've worked for a tech company for a number of years, and they haven't given you even a token raise in all that time, and they haven't explained why, or what you need to do to get a raise, then the issue is not your performance. It's that the company doesn't give raises.
If John is working for a company like that, then working 8-5 is perfectly rational. The company is sending the message that it doesn't care strongly about performance, so why assume greater performance will lead to greater pay?
Where I would criticize John is not looking for another job in the industry (and perhaps doing the night/weekend studying and projects that would help make that possible).
Whilst the second is likely to provide benefits to your employer, your primary motivator is for personal gain.
Once you own a part of the company (I don't mean tiny amounts like employee stock options, but are a full partner) then you damn well should work hard to create wealth. The founder of the company didn't bring you on board so you could work 40 hour weeks like any other employee while reserving the right to walk away a very wealthy person (to a far greater degree than a regular employee) should the business succeed.