Optimization Craft


Seven Steps to Career Growth for Computer Science Majors

Step What Why
1 Get a job at a company that sells software. Work where you directly impact company revenue and growth.
2 Determine the critical properties of the software that drive purchase decisions. Understand the link between your software and revenue.
3 Get a job in a department where you can affect those critical properties. Go where you can have the most impact.
4 Find or build a system that measures the critical properties. Measuring is the first step toward improving.
5 Write code that improves the measurements of critical properties. This is how you add value.
6 Deliver your improvements to customers, and ensure they see the benefits. This is how your value is realized.
7 Review your progress, and adjust. Feedback loops drive improvement.

I use these steps every day. I work at a company that sells the software that creates integrated circuits. Some critical properties are the run time of the software, and the clock frequency and power dissipation of the integrated circuits. I use a suite of realistic test cases to guide improvements to the critical properties. When a project looks like a winner on the internal tests, I take it to customers to see how it works in the real world. At every step, feedback loops keep things on track, and revenue is the ultimate feedback.

I developed these steps based on my experience working at Synopsys. They might also work in other industries. I think they work especially well at Synopsys because integrated circuit success is exquisitely tied to a set of crisply measurable critical properties, and those properties are driven by the quality of the algorithms we create.

Interested? Send me an email by clicking on my name above.

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS