Skip to main content
Dave Mason - Mastodon Dave Mason - LinkedIn Dave Mason - GitHub Dave Mason - Counter Social

My 25th Year in IT - Things I've Learned

I started my first full time job as a junior developer in May 2000. What have I learned in that time?

Know Your Worth

I once got a 14% raise. Every other raise has been a 2 or 3% bump. To get the salary I wanted, I've had to change employers every 3-4 years. I learned early on: if you stay in the same place for too long, your salary stagnates.

Everything is Negotiable

Ask for what you want before accepting a job offer. Salary, vacation time, WFH options, training budget, etc. If your potential employer is totally inflexible, walk away.

The Work Never Ends

For some people, every request is urgent. Be willing to say no. Be willing to push back. Don't let your family, friends, or your mental/physical health take a back seat. Because guess what? Right after you fulfill that 'urgent' request, another will be waiting in the wings. Establish your boundaries. If your employer won't respect them, move on.


Everyone blames the candidate for a bad interview. It's equally possible the interviewer is to blame. As a candidate, don't sweat it. You've probably spent plenty of time 'looking in the mirror'. The folks on the other side of the table rarely do.


Your eagerness to learn, how much you've learned, the investment you made in your matters to you (and rightly so), but not to anyone else. It's not fair. But it's the reality in our industry.

Oracle 8 Certified Database Administrator
No one cares if you have one of these.

Personal Brand

Start a blog. Answer forum questions. Be a presenter (or volunteer) at a tech conference. Post on social media about the tech problems you've faced (and hopefully overcome). When you're not great at interviews or tooting your own horn, this can go a long way.


Your work should focus on a 'an ounce of prevention', not 'a pound of cure'. It's stressful and unfulfilling to perpetually be in firefighter mode.

The Next Big Thing

The ongoing cycle of new, shiny stuff always promises to fix the shortcomings of the current stuff we're working with. But in a way, it's fool's gold. Ultimately we trade one set of problems for another, struggle to find solutions to the new problems, and eventually realize some of those problems can't be solved. Then we fawn over the next big thing and do it all over again.


It's been the one constant over my 25 year career. Design patterns, programming languages, hardware, development tools, distributed computing models, professional organizations...all of that has changed from time to time. But SQL and the Relational Model have stayed relevant. I'll refrain from predictions, but at least for now, I see no signs of SQL becoming obsolete.

SQL Server Backups

Skip the 3rd-party solutions and use native backups. Perform regular testing to ensure you can restore them. And equally important: ensure no well-meaning sysadmin-type is taking 'rogue' backups with a netowork tool like Veeam or NetBackup.

Schemaless Data

It creates more problems than it solves.

Comment Your Code

'Nuff said.


The entire IT sector is collecitively terrible at database design. Software vendors, Senior Developers, even Data Architects...a lot of them don't even hit 1st Normal Form. I'm astounded, stupefied, and bewildered at how terrible everyone across the IT industry is at this.


There's a limit to the number of commmunication channels I want to use. Email, phone calls, text messages, virtual meetings, in-person meetings, chat apps, project management tools, defect tracking tools, source control...I can't get much meaningful work accomplished if I'm saddled with all that. Less is more.


A boss that 'gets you' is a blessing. I've always appreciated the ones that gave me plenty of space, refrained from heavy-handed supervision, recognized the rare occasions when I needed a pat on the back, knew when to come talk to me when I needed to vent, and let me put my family ahead of work.

I Don't Know

As painfully obvious as it sounds, no one knows everything. Be wary of co-workers that never admit ignorance. It took me a while to recognize the overconfident types that give bad advice. Ego is no substitute for experience or knowledge.


Better than spaces.

Naming Things

It's hard.


It's a huuuuge waste of time, resources, and mental energy. I'm more productive working from home than working from an office.


As long as it's large enough, I've never needed more than one.


Post comment