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 =
iPodsiPhones and (to some extent) Macs - Facebook, Google = selling ads
- Take a look at the annual reports for your company.
- Examples:
- 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
- Skills I Learned at Microsoft
- Skills I Learned at Splunk
- Skills I’m Learning at TechSmart - A future article. 🙂
- Programming is Fun. But What Matters is Solving a Real Problem.