Things I Wish I Knew Before Working in Industry

A representative from IBM came to visit me in college several years ago when I was a student and talked about several things he wished he knew before working in the software industry.1 I’ve found his advice to be very useful at various points during my career. And would like to share it again with you now, in outline form:

Note: Bolded points I’ve found to be especially useful.

Technology

  • Future: integration2
  • Needed: ease-of-use & less complexity
  • Do not reinvent wheels!
    • you’ll never finish the project

Technical Knowledge

  • Learn to learn
  • Don’t need to take a class to learn something
  • Learn a little about a lot of things3
  • Read news highlights from worthwhile sources4

Problem Solving

  • Build a network of people. Asking for advice is quicker than learning the hard way.
  • There is always more than one way to do something.
    Weigh the pros/cons of each – then pick and choose.
  • Innovate before you execute. Think critically before you act.

Business & Technology

  • Technology adoption is driven by business. (practicality)
  • Business is nothing without technology.
    Technology is nothing without business.
  • If you build a better mousetrap, they will not come.
  • A project, no matter how advanced, is doomed for failure without a paying customer.
  • Think about TCO (total cost of ownership) and ROI (return on investment).
    You must always justify your returns.
  • Communication with managers and customers is vital!
    If you can’t get someone to adopt your solution, what’s the point?
  • There is a difference between removing barriers and creating incentive (for a customer to switch to my project/product). You need both.

Promotions

  • It’s not what you know.
    It’s not who you know.
    It’s who knows what you know.5
  • Doing more of the same is not enough.
    • Need to try new things – take on more responsibility.
  • Doing what is asked is not enough.
  • Ask you manager what the expectations are.

Working with Others

  • Credit + gratitude are not limited resources.
    • Say thank you!
    • Give credit where due.
  • Be ambitious but be humble.
  • Don’t make assumptions about others.
    • Give people the benefit of the doubt.
  • “Your lack of planning does not mean I need to treat your request as urgent.”
  • Do what you say you will. Keep your word.
    • reliable
    • dependable
  • The best humor is self-deprecating.
  • There is always someone faster, smarter, and better looking.

Managers

  • They don’t have a magic wand. They don’t automatically fix problems.
  • Managers do not have a superset of the employees' (team members') knowledge.
  • Managers can’t read minds. Don’t assume. Communicate explicitly.
  • You are responsible for your own career. But ask for help.

You and Your Job

  • Your job is what you make of it. Don’t be confined by a job description.
  • Work/Life balance doesn’t have good default settings. You must do explicit actions.
    • plan
    • schedule for success
  • You are not your job. Do not define yourself like this.

Workers

  • We’re employed to add value, not spend money.
  • It’s easy to stay busy, but are you accomplishing anything worthwhile?
    • don’t needlessly clutter your schedule
  • If you aren’t looking at it from a customer perspective, you aren’t looking at it.
  • You can’t do everything. Pick what you won’t do. (The world won’t end.)

Employment

  • Don’t expect your first job to be your dream job. Look for a path, not an endpoint.
  • Be willing to stretch your comfort zone.
    • geographically, work type, etc.
    • Otherwise you’ll stagnate.
  • Know your employer’s business model.
    • Examples:
      • HP = selling ink;
      • Microsoft = selling Office, Windows, and cloud services;
      • Apple = iPods iPhones and (to some extent) Macs
      • Facebook, Google = selling ads
    • Take a look at the annual reports for your company.
  • Get internships, even if with competitors, maybe even delaying graduation.6
    • It gives experience.
    • Increases employment opportunities.
  • Start looking and prepare much earlier.7

Successful Employment

  • If you want to make a difference, look for chaos.
    Stable environments offer little opportunity.8
  • Good employees deal with challenges instead of pouting. Adapt.
  • Stay above the commodity line (with regard to skill set and type of work done).

Life

  • Understand other people’s motivations.
    • Makes it easier to find new ways of solving the underlying goal.
  • Define your values and goals.
    • ex: What type of job do you want?
  • Your behaviors should support your goals.
  • Expect your goals to change. Success is dynamic.
  • Don’t let others define success for you.
  • You can get rich by getting more or wanting less.
  • Life is one great balancing act.
    • There’s no single right way of doing things.
    • Balancing your priorities and goals is important.

Related Articles


  1. Sadly I have lost the name of the presenter from IBM who gave this talk originally.

  2. Apple has always been smart about creating integrated products and experiences. In 2020 Apple announced the M1, an ARM system-on-chip (SOC) with incredible performance. The internet exploded.

  3. I lean toward having a breadth of knowledge or being a generalist. But it’s also to have a deep specialization in one or two areas too. The T-Shaped Engineer gives more insight into the tradeoffs of having generalist vs. specialist skills.

  4. For news of general interest to technologists I like Hacker News. There’s also frequently a subreddit for most topics. For example I’ve been liking r/django recently for Django-related information.

  5. It’s not enough to be doing awesome things regularly. If you want that activity to pay off in increasing your luck, you’ll also need to find ways to let folks know what you’re up to, especially those with similar values and mission-alignment. Doing both will increase your luck surface area and opportunities will come your way more often. Luck is where preparation meets opportunity, but you can actually increase opportunities!

  6. While in college I interned at several smallish companies (plus Google) and I can attest that my experiences there, in environments of different sizes, helped me learn what kind of work environment I was most interested in aiming for.

  7. One of the most valuable classes I took in college assigned me the task of creating an online portfolo website. Although the initial version of that (and this) site was a bit rough, later editions were quite helpful in landing positions. In particular it helped get the attention of my cofounder at TechSmart. ✨

  8. Google has the best actual onsite benefits of any company I’ve ever seen. (I worked there a while back in 2007.) But this cushiness means the engineers there don’t have the same incentives to be cutting edge. Multiple high-profile engineers, notably Steve Yegge and Waze’s CEO Noam Bardin, have written about why they eventually had to leave Google in order to make better headway in making a difference in the world. All of that said, Google is still very cushy and I don’t think any less of those who choose to work there.