Personal Technical Debt


Technical Debt

  • We will have to relearn the domain and the use case subtleties
  • Keep re-prioritizing in our backlog
  • Overhead of a user story — refinement, estimation, implementing, code reviews, manual QA
  • The risk of another deployment

Personal Technical Debt

  • less stackoverflow questions and answers
  • stackoverflow annual survey results
  • less attendance in meetups
  • less job offers
  • friends are surprised you’re still working with that language/framework
  • higher salary for those who are “willing to remain”
  • periodical posts about how the framework is not dead yet with proof to support
  • hot startups or companies within the industry use a different technology now
  • big companies announce that they deserted that language or framework

What can you do

  • .NET developer and CTO working as a junior Ruby developer to get into web development
  • Developer becoming world famous for unit testing and CI/CD
  • Ruby developer learning python to get into machine learning
  • Backend developer learning React JS or Angular JS
  • Object oriented developer learning functional programming
  • MySQL and Postgresql → Mongo and graph databases
  • QA learning Ops to become a proficient DevOps person
  • AWS and other cloud technologies, Docker, Kubernetes

How to do it

  • Learn while commuting, in evenings and weekends here and there. Can be theoretical books, technical articles, blogs and talks, code catas, getting to “hello world” level in various languages, online tutorials and courses
  • Side project
  • Contributing to open source projects
  • Education time/Friday lab — many tech companies allow periodical free time to work on things not necessarily related to work, to allow for personal development, creativity and fun
  • Take part in hackathons
  • Attend meetups
  • Attend conferences
  • Initiate a workshop within your company
  • Volunteer for a new project with new technologies within your company
  • Move to another company that offers a chance to work with both your current and new technology, or maybe only the new one
  • Move to another field: DevOps, product management
  • Career path change — move to management
  • Manual QA → automated QA within the same company
  • Automated QA → .NET developer in a new company
  • Learning agile methodologies, unit testing and CI/CD in a new company
  • .NET → Ruby via a side project, including Redis and more technologies, then in a new company
  • Relocating and working with Kafka, services and high traffic in a new company
  • Ruby developer → Team lead within the same company




Happily programming since 1984

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Building a REST API with Laravel Microservices Lumen

Day 9 : Face Tracking using ARKit and AR Foundation with Unity. — Tutorials For AR

Today’s conclusions.

Union @ EthAmsterdam 2022

An in-depth Comparison between Kafka and Message Queue

List of the Best Free Visual Studio Extensions

Dappio Newsletter #5

Code Analysis using SonarQube — Laravel Project

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Yaniv Preiss

Yaniv Preiss

Happily programming since 1984

More from Medium

Should you work for a big tech company as a software engineer

When Should Companies Let a Software Project Fail?

An upset woman with a computer in the background.

Aviation in Software Engineering: Aviate, Navigate, Communicate

Lessons to pick before transitioning into leadership