Press "Enter" to skip to content

Life as a programmer outside Silicon Valley

Several visitors here have asked what it’s like to have a job as a programmer. Here are my thoughts and suggestions, based on my work as a custom software developer for large non-tech companies – insurance companies, pharmaceutical companies, real estate companies, etc.

I won’t talk about how to work at startups or big tech companies, like Google, Facebook (Meta), Netflix, etc. I haven’t worked at those types of companies, so I can’t tell you what it’s like.

Of course, you’ll have different strengths and weaknesses, and different likes and dislikes, so your experiences will be different from mine. But, I hope sharing my experiences will help you have the best programming career possible.

Please leave a comment if you have questions about anything I write here, or something I haven’t written about.


NOTE: There are some post descriptions below that don’t link to a page yet. These are the topics I plan to write about. Please leave a comment if there is another topic you’d like to hear about.


Types of Programming Jobs

90% of Programming Jobs

Employee versus Contractor

Management versus Technical

Specialization versus Generalization


What to Learn Before Your First Programming Job

How Much Math Do You Need to Know to be a Programmer?


Getting a Programming Job

Don’t Be Invisible

Questions to Ask at the Interview


The Work Process

Using (and mis-using) Agile and Scrum

Managing Your Tasks

Automated Testing



Being a Better Programmer

Your Job is to Make Someone Else’s Job Easier

You write code for other humans, not the computers

Learn your tools

Learn how to read error messages and debug

Minimize Distractions

Understand the problem, before writing code

Prepare your code for problems

YAGNI – You Aren’t Gonna’ Need It

Break work, and code, into small bites

Commit early and commit often

Minimize technical debt

Improve Code Quality by Refactoring

Code Reviews


Managing a Programming Career

Programming Job Titles

Focus on Your Strengths

Don’t be Irreplaceable

Learn about Your Company’s Business

Dealing with Imposter Syndrome

Dealing with Mistakes

When to Leave


Managing Life as a Programmer

Take Care of Your Health

Save Your Money

Avoiding Burnout as a Programmer


The Good Parts of Programming Jobs

Pay and Benefits

Intellectual Satisfaction

Improving (a small part of) the World


Action  Items

Be Visible

Regular Career Checkups


Recommended Books

Technical Books

Non-Technical Books


  1. Leon
    Leon May 9, 2022

    THis helps immensely. Thanks Scott

    • Leon
      Leon May 9, 2022

      When are you adding the other articles btw?

    • Scott Lilly
      Scott Lilly May 9, 2022

      You’re welcome. I’ve been busy the last couple of weeks, but finished that work and will be able to start writing more articles at the end of this week.

  2. Sarma
    Sarma May 23, 2022

    Can’t wait for the remaining articles – particularly technical and non-technical books section. Thanks a ton Scott (and lilly )

  3. Justin
    Justin July 6, 2022


    This is incredible and an amazing write up! It’s so nice that you have captured a majority of the software jobs out there in this and gave some great insight for both new and experienced folks. Thank you for everything you do for the community

    • Scott Lilly
      Scott Lilly July 6, 2022

      Thank you, Justin. I’m going to work on a few more of them this month.

  4. Sarma
    Sarma September 11, 2022

    Eagerly waiting for Technical and Non-Technical book recommendations

Leave a Reply

Your email address will not be published. Required fields are marked *