2004-01-24 Book Start

 If I were to give advice to anyone out there today?

If I were to give advice to anyone out there today?

One of my first computer science related jobs was at an Imaging company called Immedia. It was one of my two college internships (the other being with Merrill Lynch). I spent days off from school and sometimes the graveyard shift scanning images,digitizing microfiche, and running batch OCR (optical character recognition) jobs to turn the text in images into computer text files. I also helped debug flaws in our process. The company as a whole built an imaging solution where we did a lot of the heavy lifting and left the client with a searchable text retrieval system of all their documents. One client I remember used the system to better defend an environmental law suit against them.

When I graduated college, the owner of the small startup, Andy, offered me a job.  I thanked him for the experience but declined the offer because I wouldn't be doing any programming. Andy was a great story teller, a wise man, and very good at the art of persuasion. He told me that even though the job had nothing to do with programming, there was something important I could learn from it. He said that all engineering jobs were about solving problems.  He said that's what we do at Immedia. We solve problems that someone is willing to pay us to solve. When we find a problem in the process for solving problems we make sure we have an audit trail of the steps so we can go back and fix the process. The problem with you kids these days  is that when you are lost, you keep on going. You never stop to ask for directions. He went on to tell me the story of his daugter getting lost coming home from college once. Andy thanked me for my service but continued to try convincing me to take the job. I went on to another job but his advice sticks with me.

In any job I've been in to date, I've asked myself if the position involved solving problems I'd be interested in solving. Here's the problem set I took on as a career focus. I've found it to be challenging and financially sustaining even in a down technology job market...  
Take massive amount of raw data and build architectures that make it easy for business types to strategize , reconcile, and leverage new opportunities. For me, this led me down the path of data warehousing.  You may be more interested in solving other problems like building internet stores. Be careful on the path you choose. Stay away from problem sets that can be easily solved from abroad. These are problem sets that don't need much interaction with business people. Also, stay away from solutions that can be commoditized. For instance, unless you are building something revolutionary, I'd stay away from joining a company building a web page editor. There are a ton of them out there.

Find a noble problem to solve that requires a lot of knowledge about a complex business. Learn everything you can about the processes and data. Solve the executive problems by leveraging the data. Always keep an audit trail of your work. When you are lost, ask for directions.