Software Architect / Microsoft MVP (AI) and Technical Author

Developer Life

20 Things I’ve Learned In 20 Years as a Developer.

Whilst sipping my coffee and watching my 4 year old play his Switch I thought back to a time when I was a kid and enjoyed playing consoles.

I looked back on the last “few years” and realised that this year is my 20th year as a “professional” in the trade.

I started a thread on Twitter with things that were a common theme over the years and have exported this using Social Opinion and the conversation_id.

1. Learning never ends.

This is both a curse and a blessing. I still love tech and get excited but I have days when I just want something to work without endless configuration or obscure configuration.

2. Everything is cyclical

  • Do it on the client.
  • Do it on the server.
  • Do it on the client.
  • Do it on the server.


Do whatever is best for the project, team and customers.

3. Everybody has opinions.

That’s cool. But sometimes the person with the loudest opinion doesn’t mean it’s the “best”.

You have to listen to everything and everyone then weigh up the pros and cons of all suggestions or ideas.

4. Ask Questions

Question yourself. Ask people questions if you’re not sure.

Ask why often.

Nobody knows it all and that’s fine.

5. Draw

Breaking out a pencil and paper and drawing flows or logic can help you arrange concepts or ideas before you sit on front of a compiler.

6. Frustration

You will get frustrated and that’s ok but the massive dopamine rush of designing and implementing the solution or fix is hard to beat (or maybe I’m just a nerd).

Take a break if you need which leads me onto.

7. Exercise

People laughed when I told them I have 2 kettle bells next to my desk that I use to blast out a few reps when I get stressed or need to move. You gotta move.

Staring at a screen for 12 hours a day and not moving is a recipe for pain.

8. Make Prototypes

Create prototypes for your work. The code can be quick and dirty.

When the happy path is ok clean-up the code and encapsulate this in an API or class library.

9. Build Your Own Toolbox

When navigating your career you’ll find yourself performing similar tasks. Data in, data out etc.

Start to create your own set of internal tools or processes and automations to accelerate such tasks.

Take these with you as you navigate your career.

10. Find Mentors

Especially important if you’re just starting out. Find good mentors.

This could even be virtual. YouTube channels, books (remember those?).

Fill your mind with diverse ideas but nail the fundamentals.

11. Pay It Forward

After a few years in the game you have a responsibility to lift others up and pass on what you know.

Some of my most rewarding times have been seeing the aha moment of a graduate or someone I’ve taken under my wing and helped show them the ropes.

12. Document Your Learnings

Start a blog. Set-up a channel or podcast and start to write up about what you’re doing or what interests you.

It’ll help further your understanding.

I find that if I can write about a topic clearly then it means I understand it better.

13. Market Yourself

You need more than a CV / résumé. You can’t solely rely on those to be picked up by a recruiter.

  • Start your blog.
  • Setup your GitHub profile.
  • Create that Twitter account.
  • Get on LinkedIn.


And dedicate a little time each week to these.

14. Keep Software Lean

Don’t introduce a new framework just because everyone is talking about it.

Sure, experiment, but for production solutions keep your solution tight, lean & predictable.

Being down at the bleeding edge is fun but you need to strike a balance which leads to

15. Be Pragmatic

As developers we can be drawn to new and shiny things. Its fun!

Invoices need to be raised to keep the lights on.

Remember this before embarking on technology debates.

16. Network

This can be hard but get involved with the community. Comment on peoples work or share it.

Figure out ways to help others from afar.

Like the old saying goes, your network is your net worth.

17. Start a side project

Have an itch? Scratch it.

Use tech you might not otherwise use.

It’s a good way to widen your knowledge, find other communities and opportunities.

18. Online Events and Serendipity

Look out for opportunities, challenges like Hackathons to submit your side projects to.

You never know where these will lead.

Some of my earliest blogs from 2016/17 talk about this.

19. You Are Not Your Job

You may be let go; your employer may close the doors.

Don’t tie your identity to a company.

Build your own “brand” and keep your skills up to date.

20. Enjoy The Ride

I love the industry. It’s not perfect but it’s fun, challenging and rewarding.

There are days when I just was to disappear into the wilderness and sometimes, I do that.

Enjoy the ride, ignore the complainers, and run at your own pace.

You’ll get there!


What would you add?

Get the latest content and code from the blog posts!
I respect your privacy. No spam. Ever.

Leave a Reply