I always preemptively raise my eyebrows when I come across an article about agile because, in my experience, agile is mostly used by hit-and-run managers as an excuse to avoid making the hard decisions. Apparently, "embrace change" makes it okay to randomly interrupt people in their work to solve the urgency du jour, only to blame them when they miss their deadline. "Daily scrums" give the manager the green light to avoid one-on-one interactions with his team members.
Interestingly, the best development teams rarely display overt enthusiasm for their "methodology" and just get work done.
>> acknowledge a phenomenon called a "long job search"
Depending on the skill set and the market, job hunting can be a long process indeed. It is usually easy for a good developer to find something; it can be much harder to find something good.
I agree with this, even though I feel for the startups that are having a hard time finding people (because they're startups). When a company is struggling to find good developers it is usually because they fail to deliver on a number of fronts: quality job posting, good interviewing process, money, generous vacation time, good management, and then the actual work. On quality job postings... if you insist on looking for a rockstar, a ninja, or a samurai, you will miss out on talented people who are turned off by random displays of arrogance. This is especially true if you're not actually curing cancer or building a photorealistic renderer.
"My instinct, however, is that not knowing HTML (which I define as understanding the structure and basics, not complete mastery of XHTML 2 tags or something of the kind) shows an alarming lack of curiosity especially given how dominant web-based technologies have been in the last 6-7 years or so."
The only thing it shows is a lack of interest in HTML. A lot of people take a problem-first approach to career development and will only learn a new technology if it helps them solve a particular class of problems. For all you know a programmer not interested in HTML could be dabbling in graphics or compiler writing in his spare time - domains where HTML or web technologies are not really needed.
Sometimes language specialization is a result of domain specialization. If you're an embedded programmer or a game engine programmer, there is a good chance that you will use very little in your job other than C or C++. People don't necessarily set out to become proficient in a particular technology, it just happens that the technology is the best tool in their domain.
If you are just out of school, salary doesn't matter that much as long as you are able to cover your living expenses. Far more important is opportunity for professional growth. I would say the projects that you work on and the people that you work with at your first job have more impact on your career than salary. Work on the right things with the right people, and the money will follow.
Given that he is such a micromanager, I am not sure Steve Jobs would have made a good CEO at the time. Apple was already huge at the time, and as the head of a large company you need to be able to see the entire picture (not just your favorite corner of the picture), as well as be willing to delegate. These things require experience, the taste of failure (sometimes), and maturity. Steve was always brilliant, but I am not sure he was wise enough to be a CEO at 25. Apple was already much more than a garage startup at the time.
This might work at a startup or a small company, but at a large company like EA, it is nearly impossible for a single individual to change the culture. EA has been a staple of bad management in the game industry for years, but it apparently did not impact their bottom line. Why would they change? I am all for not backing down, but you've got to pick your battles carefully.
I would not count Rare as a good acquisition: Microsoft bought them for $375M, and they haven't produced a single hit since. To put that in perspective, Bungie (a much smaller studio than Rare at the time) was acquired for less than $40M, and their games and IP generated over $1B (and counting) in revenue for Microsoft.
Actually, I suspect that you and the author might be in agreement. Your "quality monitors and computers" would be considered "top notch" by many companies, not because they actually are, but because said companies don't care about treating their developers well. My home office is basically an Ikea Jerker desk, and an Aeron chair that I bought used on craigslist for $500 (CAD). I think most employers would consider that a top notch setup for a developer. :(
"A friend was recently asked the same, also said no, and was declined the interview."
I think that's retarded. There are more effective ways to filter out bad apples. Candidates could be asked to solve a puzzle and attach their solution to their application, for example. Most of the really good developers I know stopped coding in their free time after accumulating about 5-8 years of experience. They have other commitments (wife, kids...) and their day job is challenging enough as it is.
"Because the first person has documented proof of ability"
I think this really depends on the position you are trying to fill. A track record of shipping code to customers counts for a lot more in my eyes than open source code (unless we're talking about something really high profile like Firefox or llvm). A lot of really talented and passionate developers are plenty challenged and stimulated at work that they don't feel the need to work on hobby projects in their spare time. What could these people write in one hour that would be of significance?
"But everything not being equal, I'll choose the better project every time, no matter what the environment is like."
Really? Don't get me wrong, I largely agree with the spirit of your post, but... there are some real shitholes out there. At one job my chair was so bad that I could barely move at the end of the day. I had to exercise more often than usual to ease the back pain. The office was often dirty because the owner was too cheap and would only send a cleaner when he really had to. I don't care if you're working on an OS kernel or movie special effects, doing something you love should not come at the expense of your health or personal hygiene. Now I don't particularly care for free lunches or private offices (I prefer shared offices myself, with 3 or 4 developers per office). But the reason Joel's message resonates strongly with so many people is precisely because most developers work in conditions few professionals would put up with. Even in software companies where software is (or should be) a profit center, the accountants, office administrators, etc. often work under much better conditions than the developers.
I am looking for a job in Toronto, ON. I am mostly comfortable with C/C++, but if the domain is interesting enough languages will be a small part of the whole piece so I am happy to jump on other technology stacks as required. My "anonymous" email is [email protected] .
Molyneux is insanely brilliant, but he tends to hype his games so much that the end result falls short of expectations. He's made similar claims about Fable - then known as Project Ego - that never materialized.
Interestingly, the best development teams rarely display overt enthusiasm for their "methodology" and just get work done.