This year will mark my tenth year working as a professional software engineer. Lately, I have been contemplating on my experience and my next steps and goals that I would like to achieve as a programmer. I also want to be sure that I don't fall into the same traps as I did before.
#This post is intended as notes for my future-self.# Hopefully this will help me organize my thoughts on what to do in the next ten years.
!! Will update later !!
N/A
After ten years, I hoped that I would be a bit more advanced with programming and not a general application developer. I regret not using my young buck energy and brain to learn a specific domain or pursue a master's degree to study a topic deeply. I've always been fascinated by advanced CS/programming topics like compilers and operating systems, but have had trouble self-learning them. This makes me wonder if I even have a strong enough passion for programming and computer science to go beyond application development.
I am extremely grateful to be a programmer during this time period, getting into the industry when jobs are aplenty, and earning more than enough to live a very comfortable life. Being able to work from anywhere, at any time of the day is a luxury that almost all professions lack.
I wish someone told me ten years ago that most of professional programming, and maybe software in general nowadays, kind of sucks and you will most likely be working on a product that you don't use or isn't yours and that will turn into a disgusting mess due to business people getting their hands involved in technology and prioritizing profits and timelines over anything else.
These are computer-related things that I pursued and will continue to pursue outside of work:
The following are goals that I would like to achieve in the next ten years.
years | goal |
---|---|
<= 2 | Write more C; at a job or more personal projects. |
<= 5 | Do a project for OS dev; write a shell, bootloader, Forth, etc. |
<= 5 | Make code contributions to a large open source project - a feature or bugfix. |
<= 5 | Do a project with an embedded device. |
<= 5 | Reduce time spent on the computer in freetime. |
<= 5 | Find job in specialized field instead of app dev. |
<= 10 | Get paid to work on open source software full time. |
<= 10 | Be self-employed. |
= 10 | Retire...PLEASE |