Bob’s Cheap Advice on a Software Career:
- Do software because you want to!
- Do not work for the bucks alone.
- Life is too short.
- They will not pay you enough if you can’t stand being there.
- Software is full of manual labor. Some of it will be quite dull.
- You should enjoy the process. Everyday brings a new puzzle to solve.
- Everyday should bring questions about the best software techniques you should be using.
- You will be learning every day of the job.
- If not, you need a new job.
- If you don’t like this as a concept, get a new career.
- The great thing about technology: There is always something to fix.
- If you’re good, your boss will leave you alone to do your work.
- From Steven Jobs:
“You've got to find what you love... Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do.”
- Job Search: Understand what you want.
- Be able to express your employment desires in 20 seconds or so.
- Mean what you say.
- Say what you mean.
- Practice expressing it.
- Listen to what you are saying.
- Sounds silly but record your employment pitch. Listen to hear if you are saying what you really mean. Adjust accordingly.
- Video record?
- Make the individual contributor vs management decision early in your career.
- Your career path will be wildly different based on this decision.
- Nearly any job in the correct company will be the correct job.
- Good companies will load every individual to their capacity.
- Good companies will not waste talent on inappropriate tasks.
- Good companies will promote from within if the talent is there.
- Good companies will compensate correctly.
- Choose a corporate size based on your personality.
- Be honest with yourself.
- Large corporations fill pigeon holes with pigeons.
- Startups live in chaos.
- Medium corporations are often somewhere in between.
- Specializations will vanish.
- Languages will come and go.
- Every corporation has their own technology stack.
- Remain emotionally flexible in regards to your choice of tools.
- Or be willing to pay the price.
- Never underestimate past experience in an application domain.
- This is especially true of career changers.
- The best engineer without a proper background may take a year or more to understand the subtleties of the application in the field. This is time and money spent by the corporation.
- If you have worked in the industry, you will understand what problems need to be solved and how workers will handle the solutions.
- Demonstrating this can be to your advantage.
- In the long run, it’s really going to help if you believe in what the company is trying to accomplish.
- Should be short and accurate.
- Focus on your individual contribution to projects, not the projects themselves.
- Be able to talk about anything in your resume for at least 20 minutes.
- Due to the speed of technical progress, any work more than about a few years old should be mentioned but not described. If they need more, they will ask. Be prepared.
- Be able to explain your use of tools, both how and why. For example: languages, IDE, git, testing techniques, continuous integration (CI), issue trackers, agile tools, etc.
- You will fail an interview if any part of the resume appears to be overstated.
- Have something unique that will remind them of who you are.
- With 10 interviewees and resumes from last week, no one will remember who’s who without help.
- Have a good explanation and accounting for the chronology of your career.
- If there are holes, be honest.
- You may have multiple resumes to emphasize various aspects of your past experiences.
- Different corporations will be looking for different things.
- Keep your resume current.
- You never know when you may need a current resume.
- This is true even if you have a current job.
- You are likely not in control of the timing of new opportunities.
- Two years into a job, you will have no idea what you did in the first 6 months. I know I wouldn’t.
- Expect to be laid off at least once during your career.
- If you haven’t been, perhaps you have not been aggressive enough in selecting your employer.
- If the corporation lays off employees during a reorganization without ransacking for talent in the layoff, you are probably working for the wrong company.
- Create something you want.
- It will be easy then to continue working on it.
- You will be passionate when you explain it.
- Design it first.
- Use all the techniques you know to develop it.
- For any portion not completed, you should be able to explain the design of the missing feature.
- It will not be impressive if you have a project that looks like a code school assignment.
- It should have a web presence.
- Provide a link in your resume.
- The code should be in github.
- If your app is compelling enough, you can create a career from it.
- I have friends that have done that.
- Everyone you meet could be a connection to your next job.
- Treat them as such.
- Your family, your extended family, your friends, your social groups, anyone you meet during the day.
- Everybody you know should know you are looking.
- You will be surprised how strange job connections can be.
- No matter how remote, obscure, or tenuous they might seem. They might work.
- My example: My senior year in college, I unsuccessfully chased a woman romantically that had a roommate who was the daughter of the vice president at my first corporate job.
- Finding a job is much easier if you have a job.
- Interviews are far easier.
- Your non-nervous attitude will make you more desirable.
- Your work experience will sound more real.
- Nearly all my jobs after the first were from references given by past co-workers who had moved on to other corporations.
- Be nice to all co-workers.
- Always be professional and enthusiastic.
- When looking for work.
- When at work.
- Never let a past failed interview affect your attitude and enthusiasm for the next one.
- This is a difficult emotional skill to master.
- We have all failed interviews.
- I personally went 2 years unemployed (during the dot bomb ~2002).
- An interview is often the only time you have to evaluate the work conditions in the corporation.
- Don’t be intimidated by excessive job requirements.
- Many times they don’t make sense.
- Many times they are collected by an HR department without real technical knowledge.
- A good bit of knowledge and experience in about half the requirements may be enough.
- Think while interviewing.
- Oftentimes they will hire a good thinker over other candidates with more time spent in the technology.
- Engineer while interviewing.
- Asking good questions about what you are hearing for the first time is valuable.
- They will forgive you for not knowing the details of their products.
- You will get credit for making a coherent summary of the details they have presented to you.
- If their explanations are weak or obscure, it’s a negative reflection on the corporation… and your future there.
- Remember that corporations are always looking for talent.
- For legal reasons, the corporation may be required to interview for a job that they already have selected a candidate for.
- Your interview is thus effectively doomed to failure. Get over it.
- Your interview is an opportunity to impress them enough that they will have to create an opening for you as well.
- Corporations are ultimately looking for engineers
- Engineers solve technical problems.
- Engineers generate product.
- Engineers create their own tool set (productivity environment).
- Coders only code what they are asked to code.
- Good coders are far easier to find than great engineers.
- Great engineers will have far more career flexibility and compensation.
- And dare I say, more fun at work.