Re: Young IT workers disillusioned

After reading this article, I had to vent on the ridiculousness of the article. The article is pretty much a summary of a survey done by an IT staffing firm. It states that entry-level, 20-something year old employees are the most difficult to manage because they have high expectations from their employer. High expectations like good salaries, bonuses/rewards, and an office. Some pointy-haired boss mentioned in the article said "the problem between employers and the younger generation just entering the workforce can be traced back to the employees' upbringing or an easier way of life for children in the United States today." With condescending statements like that, why would I want to work for you? This sounds like a classic "When I was your age"-ism that creates a crappy work environment. I'm in the IT industry, I'm a 20-something year old, and I guess you could still consider me "entry-level". I'm not disillusioned about my place in the industry. I don't expect you to give me the title of CTO of a Fortune 500 company. I don't need a secretary and a personal assistant. I do however expect to be paid accordingly to the value I bring the company. Why wouldn't someone want to be rewarded if they do outstanding work? Not having a reward doesn't stop me from doing outstanding work. You need to find employees that hold themselves to a higher standard than you do. I personally don't care for offices but it's clear that having an door that shuts allows developers to be more production due to less distractions. Just because I may be an entry-level employee, that doesn't mean I bring any less value to the employer. What qualifies an employer to treat an entry-level employee as a second-class employee? In the IT industry, where experience seems to be king, I have struggled to understand why that is. Experience is fine and dandy but it only takes you only so far. Raw talent should be valued more. Between 3 rock star 20-something year olds and 3 mediocre experienced 40+ year olds, I will bet on the rock stars every single time. It sounds to me that it's not the young IT workers that are disillusioned but it's the employers. They want rock stars employees without providing any incentive.

Firefox 3.0 Beta, Web Developer, Firebug

I've recently moved to Firefox 3 on my MacBook Pro. The first thing I noticed was pretty much all of my Firefox plugins stopped working. This didn't really bother me until I started developing on the laptop. The two things I really missed were Web Developer and FireBug. After a little bit of googling, I was able to find other people with the same problem and fixes. While these are not official releases, they seem to be working just fine for me. Check them out below:

Do it to it.

"Do it to it" was a phrase that my high school computer science teacher would say after describing the next assignment he was giving the class. The saying has following me throughout the years. Other than being a variation of Nike's "Just Do it" motto, I'm not really sure why I still remember it other than it encompasses what really matters when being tasked with something. Given two options of doing something myself or having someone else do it for me, I find myself often saying that I want to do it. I think it's just that I want the experience and satisfaction (maybe I'm a control-freak). When it comes to work, I have always volunteered to try out new things or build the next big feature. That's the fun stuff to work on. If there's a really difficult problem or bug, although I am hating the bug when I'm trying to fix it, in retrospect I usually feel a sense of accomplishment and pride after fixing it. I think that's what a lot of programmers that have passion about code have in common. We really enjoy solving problems, using that brain of ours, and building new things with code. Between the late night deploys, emergency bug fixes, and ridiculous business requests, the challenge, the sense of ownership, and the art of building software makes it worthwhile and oh so enjoyable. So, open up your favorite IDE and do it to it.

Autocomplete in Rails 2.0

I've been trying out the newly released Rails 2.0. Lots of cool new stuff. However, it takes some time to get used to doing things the new way if you haven't been working from EdgeRails. One of the features that came out of the box in previous releases was support for autocomplete using scriptaculous. This has now been moved from the core rails install to an install via plugin. Just install the plugin via: script/plugin install http://svn.rubyonrails.org/rails/plugins/auto_complete Then, you have to turn off the cross-site request forgery protection that comes with Rails 2.0. You can do this at the Controller level by adding something similar to the following:
class UsersController < ApplicationController
protect_from_forgery :only => [:update, :delete, :create] // exclude the auto_complete method
...
end
If you don't do this, your autocomplete actions will throw an ActionController::InvalidAuthenticityToken exception which caused me hours of confusion.

Business of Software

It's been a very relaxing weekend. I spent most of my time plopped on the couch reading Eric Sink on the Business of the Software. The book is really just a collection of blog posts on Eric Sink's blog but I enjoy holding a book rather than a laptop when reading for long periods of time. After reading countless technical books/blogs, it was extremely refreshing to read something like Sink's book. The book is split into four parts: entrepreneurship, people, marketing, and sales. The section that covers entrepreneurship reminds me of Guy Kawasaki's The Art of the Start. The section on people covers the kind of people you want to work with and hire, which reminds me of Joel Spolsky's recently released Smart and Gets Things Done. The section on marketing is what really made me enjoy this book. After reading Eric's book, I have a newfound appreciation and a deeper understanding of the dark science known as marketing. He breaks it down and explains it from a developer's perspective. The sales section is not surprising about how to get a potential customer to give you money for your software. The book has a lot of insight into becoming ISV (Indepedent Software Vendor), more specifically a microISV. I think all software developers have pondered the what-ifs and wouldn't-it-be-cool of starting their own software company. Very few make the jump. I would like to change that statistic.

Mongrel + Apache = rails.notedpath.com

After fighting apache for a couple hours, I finally have mongrel set up to proxy through apache. At first I had the proxy module enabled but was getting a 403 page. After adding logging to the vhost config, I see [Mon Sep 10 22:57:00 2007] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. I go ahead and find out I didn't have proxy_http enabled. After executing sudo a2enmod proxy_http and bouncing apache, TA-DA!

Apache2.2 up and running finally!

Yay! I got apache upgraded to 2.2 from 2.0. It was a lot easier after I was told by Aaron that Feisty has 2.2 in their apt-get repositories. I just had to update from Dapper to Feisty. Prior to updating I did have to comment out all of the repositories I had added to my /etc/apt/sources.list. I was running into some broken wgets otherwise. After commenting out the additional repository lines, I just followed the steps here and viola! apache2.2 comes up. I did have to reinstall mod_jk for apache2.2 but that was a easy. And the day is mine.

apache2/mod_proxy_balancer woes (part 2)

Well, I got to like the second step before I hit another roadblock. Looks like kodefoo's repository only supports binary-i386 releases. Too bad my slice is on an AMD64 machine which means I need the amd64 release. I guess if I want to cluster mongrel with apache, I'll have to compile from source. Sigh... Prior to hitting this road block, I ran apt-get remove apache2 and it didn't remove apache2 from my slice even though it said it did. So that's a little confusing. I continued with the kodefoo tutorial regardless until I came across the problem noted above. I'll eventually have to figure out how to do a clean remove of apache2. At this point, I think I am just going to try to get a single mongrel served up through apache2. Hopefully, this will be easier...