Seven skills for IT fame and fortune

These will help you keep your job and move up to a better one.

With the economic downturn on everyone's mind, assumptions about job security come into question and everyone starts re-examining his skills. There are lots of valuable jobs performed in IT, but some skills are valued more highly than others. Here are my top seven skills that could help you not only keep that job, but also secure an even better new job, positioning you to work on the next generation of IT systems and software products in the era of Web-delivered online applications.

Web application design: I have a passion for great product design -- and for people who know how to do this really well. Designing a great Web application is very different from designing a great Web site.

User interface designers need to be able to work under challenging circumstances. Most people around them won't understand what they do, how they do it, when they should be brought in, what information and resources they need or how much work it takes to create not only a usable UI design but a useful one.

You've got to be a resourceful person who can insert yourself into the conversations between architects, developers, users, QA, testers, product managers and everyone else who thinks he can design a better UI mousetrap.

UI design is like NFL football: Everyone can recognize a good game when they see it, but very few can actually play the game. And we all have a opinion about it.

One of the best criticisms I received from a customer looking at my product was, "This user interface looks like a developer designed it."

That pretty much said it all about what they thought about the ease of use of that application. Now, if you are a developer who thinks you might have an eye for UI design, that could be a pretty insulting statement from a customer. Maybe you are a developer who's a good, decent or adequate UI designer, but you're by far the rare exception. If you think UI design is easy and don't understand what all the fuss is about, you definitely need help from a UI designer.

If you'd like to grow your skills as a UI designer, seek out user groups in information design, build up some human-factors skills, learn how to plan and perform user interviews, develop user personas, and execute well-designed product-testing sessions with users.

Most important is to start by knowing who the users are for the software you're building. It's amazing how often very little is known about the true user of a product or IT system.

Web app development: If you write applications that rely on a heavy or installed client, I've got to believe you're probably not in the forefront of where application development is headed. Web applications are where software is headed, with a dash of SaaS and PaaS (platform-as-a-service) to boot.

Delivering applications via a Web browser is where the most interesting application development is happening, whether that's with ASP.net applications, SharePoint portal applications, LAMP, Java, or Ruby on Rails. Add to that capabilities offered by PaaS providers, such as Amazon, Salesforce/Force.com and Google, and things get pretty interesting.

Web interfaces in applications can be funny. Is the Web UI something that's plopped on top of a well-designed application? Does the Web UI design drive the rest of the application design? What's designed first, the back-end or the front-end UI?

Well, it's probably a mixture of both, with one very significant driving factor. Seven Habits productivity guru Steven Covey says, "Start with the end in mind." Kind of like the idea that you can't get lost if you don't know where you're going. I've adapted Covey's saying as, "Start with the end user in mind." Creating that effective balance of front-end and back-end design in a Web application is an artful skill to be treasured by those Web app developers who have discovered not only how to find that balance, but also how to help others on the team see, appreciate and value it.

The number of Web apps we'll be creating in the months and years to come are only going to increase. Do this well and you'll have your choice of projects and companies to work with.

Virtualization leverage: I was just talking the other day with some colleagues about the financial drivers behind virtualization. There are a couple of ways I like to demonstrate this, and the first thing I would say is that virtualization is a CFO's best friend (I talked about this on my podcast a while back.) The second thing I say is this: There are three types of CFOs: those asking IT how virtualization can save money, those who have been shown by IT how virtualization can save money, and those looking for their next head of IT.

Want to score points with the business? Make big strides in hardware, data center, software and facilities savings by leveraging virtualization everywhere you can. It's not always free, particularly to get the management capabilities you'll need to deploy virtualization at any scale, but the hard cost savings over just the normal hardware purchases should easily justify the software costs on a consolidation ROI.

Now take that to the next level, and demonstrate how you can get load balancing, fail-over, disaster recovery and other capabilities through virtualization, and your CFO will make you an honorary Holder of the Golden Spreadsheet at the next Green Visor accounting convention.

Virtualization isn't just for the data center. As an application developer, plan how you can leverage virtualization in your application architecture, deployment options, unit testing and QA testing. Virtualization makes for a great sandbox when testing design ideas, simulating network and server configurations and loading up large numbers of simulated end-user machines. The QA benefits alone are as compelling as the data center argument. If your QA and lab environments are getting bigger instead of smaller, you're doing something wrong.

If you're looking for a place to start sinking your teeth into virtualization, download the free versions of Hyper-V, Xen, and VMware. You'll quickly see the need for added management capabilities but the free stuff is great to start with.

SaaS multi-tenant and scalability: SaaS is where it's at, whether you're talking about enterprise on-demand applications or Web-delivered products and services. It's one of the hottest areas of our industry right now. But SaaS brings some new challenges, leading to some skill shortages in new areas. Probably the most ominous involves what are referred to as multi-tenant environments, where you need to be able to fully support multiple customers (companies) within one hosted online application.

What's the big deal? You say you already support complex organizational structures in your applications? Well, remember that you likely do this within one enterprise or business. Now, imagine accommodating the complex requirements of hundreds or thousands of companies. Or, if your service is sold to individuals, it's about handling those requirements for thousands of small customers.

In a multi-tenant environment, all configuration options are changeable by the user. There are no system defaults that work for all users because we're not all one big happy corporate family. Many more configuration options will have to be exposed for users to be able to customize to meet their own individual or organizational needs.

1 2 Page 1
Page 1 of 2
  
Shop Tech Products at Amazon