The Eric Wroolie Blog

Overpass Experiences

  • Blog
  • Videos
  • Overpass Apps

Powered by Overpass Apps

Perks of being a IT Contractor

July 4, 2007 by wroolie Leave a Comment

There are lots of things about being a contractor that I really like. Permanent employees often like to make a big deal about the fact that I don’t get sick days or paid holidays (and no medical, pension, etc), but there is no way I would trade places with them. I’ve been asked a few times whether I could join on permanently and I always politely decline.

When I talk to other contractors, they always feel the same way. It’s not often you see a contractor go permie unless (1) it’s his first contract, or (2) he has been in one contract so long he’s got stage fright over the job hunting process.

Yesterday I had a dentist appointment. I took a half day off (with no pay, of course). Back when I used to be a permie, I would have this fear that my request to see a dentist might be miscontrued as sneaking off to an interview. I would be doing it on company time and mustn’t dilly dally. I don’t need to do that anymore. If I need to see a dentist, they don’t pay me so there is no guilt. If I need to go to an interview, I tell them I have an interview. There’s no disloyalty with this anymore.

Here are some of the other perks of being an IT contractor:

No one is promising me a promotion

Back when I was permie, I always had the promotion or bonus carrot held in front of my face. For this, I would work longer hours, do any crap work that needed doing, demonstrated my loyalty throughout the day, etc. I was also afraid of criticizing the way things were done. If I disagreed with my boss on something, I’d better not make a fuss.

As a contractor, I don’t expect a raise or a promotion. I’m around for a set amount of time. I’m giving them 3 or 6 months. If at the end of that time, they want to renew me, fine. My rate may change (it might even drop?depending on the market). If I don’t like the conditions, I probably won’t stay much longer. If they don’t like me, they don’t keep me. It’s perfectly equal. They pay me what I want to be paid, and I do what they need to be done. I never have to worry about competing with other people for a raise or promotion.

I’m hired for my skill

As a permie, I worked on whatever the company needed me to work on. If we were a classic ASP development team, I had no reason to start trying to learn .net. If the company used SourceSafe, I shouldn’t trouble myself learning Subversion. My learning curve was set by the company.

As a contractor, I need to think about where the market is going. I need to know what’s at the cutting edge and at least start playing with it now. This is often difficult when in a contract. I get up at 4am most mornings so I have a few hours of development before going off to work. It’s a lot more interesting than working on yesterday’s technologies all the time.

I need to know about ASP.net Ajax extensions. I need to know about Silverlight. I need to know about Orcas. I’ve made it my job to know about them.

When I look for a contract, I look for a project I want to work on based on the skills I get to use (and sometimes based on the rate). My clients hire me because I want to work on their projects and not because I am forced to. It’s better for me and better for them.

You may wince when I say that I get up at 4am, but I wouldn’t have it any other way. I go to bed earlier and watch less television than most people. Believe me, I never thought I would ever say that.

I’m always loyal

As a permie, being loyal meant that I would never leave. As a contractor, being loyal means that I will do everything in the best interest of my client and keep any confidential information secret after I leave. I have no problem with getting a call a few months after I leave a contract with a technical query?I consider it a professional courtesy.

I’m not afraid of losing my job

As a permie, losing my job was one of the scariest things I could think of. I have a mortgage and kids. I couldn’t make waves.

As a contractor, I always expect to lose my job. It’s in my contract. I know that I’ll be out in 2 or 3 months. I’m also very aware that I could be out of work in a month (or whatever notice period I have on my contract) if things go wrong.

I have to always be ready for the market. My CV has to be up to date. My skills have to be sharp. My suit has to fit. My financial reserves have to be healthy.

As a permie, I lived at or just above my means. As a contractor, I have to live well below my means?because I know that rainy day is coming. Best of all, I can predict it.

I’m in control

Finally, I’m more in control of my life as a contractor. Sure, I’m at the mercy of the IT market?but that’s part of the fun. I choose the technologies I get to work on. I choose when I take on a job. I choose when I’m out of work.

I choose when I go to the dentist.

Filed Under: Uncategorized

No matter how busy you are . .

July 1, 2007 by wroolie 1 Comment

When life gets really hectic and you feel swamped with things to do, it’s always amazing to think of people with ridiculous hobbies. I know that no matter how busy I am, there’s always someone building a ship in a bottle or a replica of the Golden Gate Bridge with toothpicks.

A guy in Wisconsin has carved a replica of Mount Rushmore in cheddar. BBC has a story here.

Best quote from the article: “It’s amazing where the power of cheese has taken me over the years.”

The power of cheese! I always knew there was something there.

I was amazed by this waste of resource until I read that he had actually been commissioned to carve the block by a cracker company (looks like Cheez-It from the picture). My opinion of this guy changed. He’s probably the world leader of cheese carvers. If you need a cheese sculpture, he’s your man.

I once worked with a guy who was an expert on one particular obscure investment banking trading system. I was amazed that this one application was all he was interested in. I asked why he didn’t get into web development or .net to diversify his skill portfolio. He didn’t need to. The amount of money he was paid to work on his system dwarfed by daily rate considerably. He was highly paid because he was unique. He was probably one of a few dozen people who could do what he did and I’m sure he looked at me with my popular skillset as being crazy for not finding something obscure. He could be the best in the world at the one system he works on.

Troy Landwehr, the cheese carving artist, has found a unique niche. He’s probably the best in the world (I would think). I’m sure he would never trade that for a 9-to-5 job.

Filed Under: Uncategorized

Maintaining Treeview State in Asp.Net 2 with a Sitemap

June 29, 2007 by wroolie 2 Comments

For a couple of days, I was looking around for a way to expand a treeview menu to the node you are currently on. On a site with nodes that go several levels deep, it is a pain to have to open all the nodes every time a postback occurs.

I found code samples online and followed so many goosechases. Some people put a marker in the session to let them know where their node was. Others tried to do some clever javascript which didn’t seem to work for me. It seems to be some code that is heavily in demand.

Finally, I found a blog post by Walt Ritscher which helped me get what I wanted in a few lines of code. It doesn’t maintain the state of all open and closed nodes on the tree, but it does open the tree to the node with the URL of the page you are on. It took me so long to find his blog post from last year, that I thought I would add another link here:

http://waltritscher.com/blog/ramblings/archive/2006/05/18/843.aspx

His examples are in VB.Net, but a conversion to c# is not difficult. Here are my code examples:

In the .aspx page:

<asp:TreeView ID=”TreeView1″ ExpandDepth=”0″ OnTreeNodeDataBound=”treeMainMenu_TreeNodeDataBound” PopulateNodesFromClient=”false” NodeWrap=”false” HoverNodeStyle-ForeColor=”green” HoverNodeStyle-Font-Underline=”true” NodeIndent=”10″ Height=”100%” runat=”server” DataSourceID=”SiteMapDataSource1″>

</asp:TreeView>

Notice the “OnTreeNodeDataBound” and “PopulateNodesFromClient” attributes.

In the code behind:

protected void treeMainMenu_TreeNodeDataBound (

Object sender,

System.Web.UI.WebControls.TreeNodeEventArgs e )

{

if (Request.Url.PathAndQuery == e.Node.NavigateUrl) {

e.Node.ExpandAll();

}

if (e.Node.NavigateUrl == “”) {

e.Node.SelectAction = TreeNodeSelectAction.Expand;

}

}

Anyway, thanks to Walt for his blog post. I looked over some other posts in his blog and found it very interested. You might want to have a look too.

Filed Under: C# Coding, Software Dev & Productivity

  • « Previous Page
  • 1
  • …
  • 82
  • 83
  • 84
  • 85
  • 86
  • …
  • 111
  • Next Page »

Recent Posts

  • My Gig and the Imposter Syndrome
  • Getting Picked Last for Teams in PE
  • One Little Growth Opportunity at a Time
  • I’m sorry if I look like I know what I’m doing
  • New Years Reclamations