Categories:
/ (390)(rss)
   general (23)(rss)
      austin (4)(rss)
      random (5)(rss)
      scooter (4)(rss)
   tech (367)(rss)
      books (38)(rss)
      coding (10)(rss)
      java (160)(rss)
      jobs (8)(rss)
      mac (67)(rss)
      misc (54)(rss)
      net (16)(rss)
      ruby (4)(rss)
      xml (7)(rss)

JBoss: A Developer's Notebook JBoss 4.0 Guide cover

Recent Entries

Search

NetNewsWire blogroll

       
NormanRichards's Last.fm Weekly Artists Chart
Thu, 03 Jun 2004

::How a bad manager can ruin a startup:: [/tech/jobs] (00:52)

Bad management always hurts a company, but it is truly devastating to a small startup. I left a small startup a couple months ago after getting fed up with the management. After a blissful several months with no head of engineering (all the senior level management got thrown out by the VCs in the last round of funding) the company hired a absolutely horrible ex-Vignette manager. (to go along with our ex-Vignette CEO I guess)

It took all of a couple of days to realize they had hired the wrong person. When a new manager doesn't make any effort to understand the people or the processes at the company, you know there are going to be problems. She has absolutely no people skills and managed to make just about every engineer dislike her in the first couple months.

She fired one guy as a sort of warning to everyone that she was in charge. The person in question wasn't really the best fit for the company, so I can't say that was a bad decision. But if you come into a company and start chopping heads you aren't going to make many friends.

I found it embarassing to work for someone like her, so I jumped ship pretty quickly. But even after I left she hadn't figured out that she was the cause of all the new problems in engineering. The solution? Chop some more! In this case she got rid of the next "bad attitude" on the team, the web developer. That was a dumb move because he was one of the best web guys I've worked with. But apparently skill doesn't matter there.

Another core developer quit this week, leaving only 4 engineers there who know the product. There will be more departures soon, which will completely cripple the engineering department and ultimately sink the company. It's sad that one bad manager could cause a company to go under, but I don't see any other fate. They can hire new guys, but the company has lost too much knowledge to ever really get control of the product.

The moral here is that small startups (this was a 40 person company with an engineering team of 8) can't afford to make mistakes in hiring. Had the VCs not swapped out the entire management team, it might have been possible for alarms to have been sounded. But you can't really go up to a new CEO and tell him his new brand enginering manager (who came from the same company) is a moron and expect to be at the company for much longer. Instead of getting rid of the problem manager, they are pretty much going to have to swap out the entire dev team. How sad...


Mon, 19 Apr 2004

::A new JBoss employee:: [/tech/jobs] (11:14)

I've been somewhat vague about what I'm doing now that I quit my old job. Mostly it's because things were moving very fast and I wanted to let everything settle down. Well, things are settling in just fine, and I'm happy to report that I'm now working for JBoss. I've been a JBoss user for several years and a fan for almost as long. I've made no reservations about my JBoss classloading pains, but overall I've been a very satisfied user. Naturally, I'm very happy to be working on a product that I'm interested in and for a company that I care about. It's the first time in many years that a job has meant more than just a paycheck, and that's a very good thing.


Wed, 14 Apr 2004

::Take this job and "rm -rf" it :: [/tech/jobs] (10:11)

Having a great job is a real joy. But, failing that, the next greatest joy in life is being able to say those magic words: I quit! I've been fairly unhappy with my job for a while. We've had management changes at the company. Some changes were good, others were bad. (very bad) But mostly, they've been... incompatible. I've been on the verge of leaving for a while, but I decided to make it official this week. I packed my office over the weekend and resigned on Monday. I have a few days left for "knowledge transfer", then I'm on to greener pasture. It feels pretty good.


Tue, 23 Dec 2003

::Forced vacations are corporate thievery:: [/tech/jobs] (14:58)

I have to burn a couple vacation days before the end of the year, and so today I'm at home taking a vacation even though I really have no reason or desire to take a vacation right now. If I don't take the days, I lose them. I'm not sure why I should be penalized because last year I was too busy (thanks mostly writing the XDoclet book) to use all my vacation time. In my mind it's nothing more than corporate thievery. It's made all the more worse by the fact that next year I expect not to have enough days for what I really want to do.

In the past, I've never worked at a "use it or lose it" company. Vacation days were always capped to keep you from accumulating too many. It's one thing to be faced with the need to take some days before you hit some arbitrary high water mark. (120 hours is a fairly common cap) It's another thing when you are forced to take them before you need them just because Jan 1 is coming.

If vacation day theft is the worst of my work complaints, I'll count myself as lucky. But seeing as how vacation time is my only work benefit of any potential value to me, it is a bit painful to have it stolen by uncompromising corporate policy.


Thu, 07 Aug 2003

::Jobs, blogs and being special:: [/tech/jobs] (10:34)

I hate Re: blog entries, but I had to comment on on Is Blogging Bad For Your Career. I'm sure nobody out there actually believes you'd get fired for having a blog. I could possibly believe that someone could get fired for obsessively blogging from work. In every tech job I've had, it would have been a non-issue as long as the person was getting his work done. But, nonetheless I could believe it could happen.

But more likely, the blog was an excuse. If your employer is looking for a reason to fire you, anything that sets you apart from other people in the company is a target. I've noticed a lot of developers who follow a "play it safe" attitude because of this. Come to work, follow the rules, try not to be noticed, go home. Don't work on outside projects. Don't put up a website or a blog. Do everything the way it's always been done and never ever try anything new. Let someone else take the risk

That kind of attitude, however, is the surest way to fail. Nobody wins by being average. You just make sure you don't lose by any more than any one else. Setting yourself apart is a risk. You may come out ahead and you may come out behind. But I tend to approach my life more like a VC fund. Place enough bets and hope that the big wins cover the losses. Even if they don't, you'll have a lot more fun than you will hiding in your cube trying not to be noticed.

Can blogging get you fired? It's possible, I guess. But does it really matter?


Wed, 21 May 2003

::The gravy train is running out of steam:: [/tech/jobs] (00:31)

It seems to make some people mad, but I think most tech workers in the US are significantly overpaid. I think that we all have to get used to the fact that tech salaries in the US are due for some serious downward correction.

I've been working as a programmer for about 8 years now. My starting salary 8 years ago is significantly more than most non-techies i know make even today. Yet over the last 8 years, I've seen an average 10% increase in salary. (that's more than a 150% eincrease)

Certainly my ego wants to believe that my l33t skillz are worth such a premium, but I see an end coming. This year was the first year that I didn't see a large year over year salary increase. I changed jobs last August with only a token increase in pay. (actually, with the decrease in benefits, it probably comes out to a net loss) All this makes me wonder if perhaps, at 30, if my salary has peaked as a programmer with no management responsibilities.

In real terms, I think tech salaries have nowhere to go but down. As much as I'd like it to be otherwise, I don't see any business justification for programmers to demand such high salaries across the board. It's only a matter of time before free market forces pull things down.

Note: The title for this entry comes from Dave Thomas' How to keep your job talk. (slide 25 if you are keeping score) I was fortunate to hear him give the talk in person at AustinJUG, but the online slides are still quite informative. The second half is really good and worth checking out if you haven't seen it yet.


Thu, 24 Apr 2003

::The 3 stages of a tech job:: [/tech/jobs] (18:15)

Stage 1: Learning the System. In stage one you are coming into the company and learning the system. The architecture is new. The code is new. The process and procedures are new. Every task takes a bit longer than it should because there is always something you don't fully understand. You are somewhat hesitant to make big changes because you don't know the system well enough to be confident you aren't messing things up. You think "There's probably a reason the code is this way", but you aren't always sure what it is.

Stage 2: Own the System. In stage two, you know the system backwards and forwards. You are familiar with all the subsystems and have no problem understanding what the impact of large changes to the system would be. By now you are painfully aware of the problems in the design of the system and want to mold the system in your own image. The possibilities are endless.

Stage 3: Maintain the System. In stage 3, you have made your mark on the system. There's still lots more you'd like to do with the system, but you've done most everything that is technically and (more importantly) politically feasible. You spend more time doing minor bug fixes and enhancements than you used to. Even new development feels old somehow. You start to think how much more interesting what the guys down the hall are doing. Those job postings that looked neat before are starting to look much more intriguing. otherGrass.getGreenValue() > thisGrass.getGreenValue().

I'm rounding out my first decade as a professional programmer, and I've repeated this cycle several times. I thought it might just be me, but it seems to be somewhat common among senior level programmers I've talked to. For me, the cycle has taken about 3 years, which is on the short side of those I've polled. (4 or 5 seems to be more common)

I've been at my current job for 8 months and feel myself trying to enter stage 2. I'm not quite there yet because I'm not entirely comfortable with the analytics and modeling portion of our application. I still cringe at the sight of MDX and the thought of having to dig around OLAP cubes, but I am entirely comfortable with the Java side of your application and no longer hesitate to make larger changes to the system.

I was talking to a friend recently that has been working in the same office (non-technical position) for 10 years. I was amazed that she could stay with a company for that long, and her head spun thinking about the prospect of changing jobs every 3-4 years. She's quite happy with the safety of her job, and I get excited by the thought that I have no idea what I'll be working on in the coming years.


Fri, 07 Mar 2003

::The solution to the tech job slump: fire people:: [/tech/jobs] (00:39)

Dave Thomas seems to delight in making controversial statements. Between lamenting the death of Linux and declaring XML all but worthless at a recent NFJS conference, he also suggested that if the software industry got better at firing people the job market for programmers would improve significantly.

How do we help jobless programmers? Put more programmers on the street! On one hand it seems like an obvious contradiction, but on the other hand it mirrors thoughts that I think a lot programmers have had recently. I know I have. How many times have we joked that just 3 years ago anyone who could spell J-A-V-A could land a tech job. It's funny, but there is a degree of truth to that statement. Many of these boom-time techies are out of work now and will probably never work in the industry again. However many of them are still employed, hanging on for their lives hoping that their company stays afloat. (or at least that the RIF fairy passes them by if things do get rough)

The problem is that it's not just the boomers who are sitting on the sidelines. There are scores of extremely talented programmers waiting to get in the game. It seems that simple economics should win out. Companies would naturally start replacing their less skilled workers from the abundant crop of high skilled but unemployed programmers, right? Companies would naturally move toward maximizing the return on their #1 cost, people, right?

Somehow that doesn't seem to be the case. Companies just aren't getting rid of the dead weight. I don't know why, but it just isn't happening. Companies are scared to death to fire anyone outside of company wide downsizing. However, until we get better at weeding out those who just don't belong in the industry, I think it's safe to say that the job market is going to continue to be very tight, even for those on the high skill side of the spectrum. I don't think the tech slump is about a lack of good tech jobs. There are still plenty of jobs, unfortunately many of them are held by the wrong people.

As a disclaimer, I am not a bitter unemployed programmer. (well, maybe I'm bitter, but not unemployed) However, many of my friends are unemployed. (but fortunately not bitter) It really pains me to look around and see people of significantly less skill still employed while they struggle on the sidelines. While I don't wish unemployment on anyone, we have to face the cold hard fact that we are going to continue to have problems as long as companies refuse to cut their less productive developers.