Director Of Software Engineering
Job Title: Director Of Software Engineering
Education: Bachelor of Science (Engineering) in Computer Science, Cornell University
Previous Experience: I started as a software engineer directly out of college. I got involved in the "guts" of the products I worked on and gradually become more and more involved in setting architectural direction. I was recruited into a skunk works (a project not offically sanctioned by the company) new product development and both designed the software portion of the product as well as recruited and managed the team to develop it. From there I spent time moving between management and technical roles. Eventually I left my first company (after 17 years) and have been acting in senior executive management positions.
Job Tasks: Since I recently changed jobs, I'll describe the job I just left.
The company is a manufacturer of semiconductor manufacturing equipment. This means that we design, build and sell equipment that is used by semiconductor chip manufacturers like Intel, Samsung, etc. to fabricate the chips that they sell and all of us use. These machines are BIG and EXPENSIVE. Big like the size of a small two-car garage (you can walk inside them) and expensive like they cost between $2 - $5 million. While the primary product is a machine, there are several computers and a lot of software required to make them run so software is a very important part of the product.
My position was Director of Software Engineering. In this role I was responsible for all the software activities in the company related to the products that we sell. There was a separate Information Technology group that was responsible for the infrastructure the rest of the company used and software products like email systems, etc.
My typical day consisted of time spent in meetings, time spent talking to individuals, and time spent working in my office. The meetings typically fell into three categories: information passing staff meetings, status checking product or release focused meetings, quality / process / organizational improvement meetings. On a typical day I frequently had one of each type of meeting each lasting up to one hour.
A very important part of my job consisted of talking to people one-on-one, frequently not scheduled in advance. This could be people working in my organization who I was concerned about and wanted to check on, either due to the critical nature of the work they were doing or for some other reason. This could be people in Marketing or Product Support who were concerned about an aspect of a shipping product or one under development. This could be members of the leadership team who needed information.
Finally, I spent time regularly in my office reviewing email, written documents, budgets, metrics, etc. to make sure that the information was accurate and correct and that I was up to date on the latest information.
I did not travel extensively in this position, but I did visit our team working in India two or three times a year. India is a wonderful place to visit and our team there was a very important part of our organization.
Best and Worst Parts of the Job: The best parts were seeing progress and improvements happen from the organizational changes that I was able to make. These did not always bear fruit right away, but I got many positive messages from people outside my organization who saw the benefits of changes that I made.
The worst parts were dealing with changing budgetary constraints (this is a fact of life for business today in any industry). This changing environment sometimes required reductions in staff that were painful on both a personal and team level.
1. Don't be afraid to learn about aspects of the product you are working on that are not in your specific area. The more you know, the better you will be able to contribute.
2. Don't ignore the business aspects of the company you work for. You may sit in a cube and be focused on developing a specific feature or a specific product, but the better you understand your company's business model, the more effective you will be and the more opportunities to contribute you will find.
3. Find people that you look up to and respect and don't be afraid to look to them for coaching in career directions -- the person most responsible for your career development is you. Don't be afraid to talk about it!