May 2011

If you are taking computer architecture classes, studying electronics, or doing research related to microprocessors, you may have heard of warnings about the end of Moore’s law: microprocessors will soon not be able to double their performance every 18 months for some physical limits related to making transistors smaller and keeping them fairly efficient in power consumption.

Microprocessors depended mainly on three main factors to keep Moore’s law in effect: (1) Reducing transistor size, so that we can have more in the same area with more sophisticated execution logic and be able to fit in more cache, (2) Increasing Transistor frequency, to execute more instructions, and (3) Economics of manufacturing, to keep the next generation of microprocessors affordable to everyone. Right now it is difficult to cram more transistors due to current limits on lithography. Also, as transistors get smaller and operate at higher frequencies, their power consumption is increasing at greater rates than the increase in performance. Finally, the manufacturing cost is increasing astronomically as we move from one generation to another.

I think Moore’s law may not live as it stands right now. The pattern may keep going by through different means. Here is my stab on it:

Reconsidering the execution pipelines to have shorter latency time per instruction.

Increasing the number of cores, which increase the overall throughput. This is possible through making a better use of the total number of transistors that can fit in one chip. It is possible to work since pipelines should be of less depth.

Homogeneity of instructions set and heterogeneity in implementations. For example, a multi-core processor may have 32 cores with same arithmetic and logical operations instructions, but only two or four of them implement other system control instructions, such as protected mode and interrupt handling instructions. Applications may not need radical rewriting in this case. Actually we can automate the process of migrating these traditional multi-threaded applications to this new heterogeneous architecture.

Mark graduated with high honors from a reputable university. He got offers from several companies and decided to go for an offer from a giant corporate. He went with high hopes to his new job. He ceased every possible opportunity during his work for 10 years now to learn from his job and to grow. The company is going now under large restructuring efforts. Mark is feeling anxious about it and he thinks for a long time before he decides to move on and find himself another company. However, as he applies and goes for interviews, he discovers that a lot of what he learnt in his first company is not appreciated in many places. What he learnt in these 10 years was specific to his first company. To move on to another company he will have to accept an offer for 5 to 6 years experience. What mistakes did Mark fall into with his first employer?

As we all move from one employer to the other we see many brilliant people who are too attached to their companies. They reach the stage at which they see the world that makes sense only within the context of their employer. It is healthy for you and your career to be aligned with your employer’s mission and vision. However, at a certain point this relationship may jeopardize your value and ability to move in a highly competitive market. As you stay for a long time and go through the same process again and again, the right way to do business becomes that company’s way of conducting business. This reduces your flexibility to learn and adopt new perspectives in your profession. Your willingness to move to a new adventure in your life becomes weaker overtime. And if you face unbearable situations in your team or organization, you may have to sacrifice some of your values that you would never thought of giving away before becoming so attached. Or you will have to move on to another job and lose some years of your experience, or in worst case a career reset. I’ve met a friend of mine who got tenured in a  good university. However, he couldn’t move on to other universities or labs, not only because of available offers but also because of the physiological barrier built in him overtime. At the end he had to stay at the same university unwillingly.

So, as I was thinking of these brilliant people who got stuck overtime in their jobs unable to move on and explore new opportunities, I asked myself this question: how can I keep myself fresh all the time, be swift in my moves between employers and at the same time grow in my career?

The key here is to be able to keep up a healthy balance between my alignment with my current employer and my independence as a professional person. Here are some of my thoughts:

  1. Keep an eye on the general trends.

    Keep yourself in area that is not employer specific. If your current work area is fading or your current techniques are fading, find a way to move on into another hot area if possible.

  2. Add a real and clear value to your employer’s business

    YES, as you move on in your career, your next interviewer will ask this question : Will this person be of an added value to me? Make the answer to this question easy through your achievements with your current employer.

  3. Probe the market from time to time.

    Seek jobs with other potential employers and see if your area and skills you gained, are of interest to others in the industry. Also, do your best to read in those interviews how others perceive your skills and what you gained at your current employer.

  4. Gain as much transferable skills as possible

    Stay away, as much as possible, from working only on tools and techniques specific to your current employer. Minimize your time in this area.

  5. Actively take part in community events, such as conferences, trade shows, public meetings, etc.

    Make yourself visible to the others all the time. Make yourself one of the stars. Write down about your experiences to promote your current employer’s products and services and at the same time present yourself as a subject matter expert.

  6. Increase your online footprint

    Contribute more with professional articles, blogs, tweets, or even comments.

  7. Build your own professional network.

    Connect with as many professionals in your area as much as you can. No matter how many advises you hear in this area. The key here is build a strong network is to offer your help all the time without asking for any return.