I've long reached a point where my goals now are to:
(a) enjoy my job. I don't enjoy places with lots of stress or difficult people.
(b) work in a place where there's some level of technical skill development.
(c) earn more money.
(a) is easy to track. If I find myself getting frustrated a lot, I set LinkedIn to 'open to opportunities'. (b) is harder, but I find if people start to come mostly to me about technical questions over other people in the team, e.g. "how should I write this?", then I'm probably hitting a point where I should move on. (c) is even easier. I just check LinkedIn occasionally and see if jobs being sent my way are more than what I currently earn. I just got a £15k pay rise by doing this.
>if people start to come mostly to me about technical questions over other people in the team, e.g. "how should I write this?", then I'm probably hitting a point where I should move on.
Why is this be a problem for you? Doesn't this imply you are the most knowledgeable in the team (technically)? Isn't this a good thing for a developer?
If I hit that point, I’m not learning as much. So that’s why I’d stray towards moving on. I’m a Senior Dev so have quite a bit of growth potential yet.
I have two kinds of personal goals: minimum performance and accomplishments. My minimum performance goals establish an acceptable baseline and have served me well financially but not done my career any favors. This warrants further explanation.
Accomplishments drive me to do ambitious things. These are generally minor short term things like solving for a new software feature, running a 12 minute two mile, or mastering some area of performance in a military school or caring for soldiers.
Accomplishments drive me to push myself and do challenging things. The lack of available accomplishments, such as a job repeating beginner things dicking around with frameworks drives me crazy. It makes me want to give up my over priced senior software job and go flip burgers where at at least I can see how many burgers I can flip in an hour.
A minimum performance baseline has allowed me to pay off debts and achieve over 800 credit rating even without substantial increases in compensation and shifts in lifestyle, such as military deployments.
A minimum performance baseline has been harmful to my software career because software is an unstructured industry. Unstructured industries tend to prefer minimum common denominators in skills and hiring which is contrary to expertise. It appears if I wish to continue to advance in this industry I must do so in either management or not as an employee.
I monitor my performance baselines setting personal standards of conduct and performance fitness. I establish rules for behavior and define personal failures. Then I slowly raise the bar over time. As a result I continue to observe improvements in my technical capabilities as a software developer and simultaneously observe failures to progress in my software career.
I am really poor at keeping up with trends. It isn't my interest, and seems quite a detriment to my career mobility.
I feel accomplished when I solve a hard problem in a way that is portable and/or rapidly reproducible, especially if the problem is so far unsolved or my solution is better than other available solutions. I can do these things not because I am an excellent developer, but because I find interest in perfecting unromantic things. Nobody finds the file system sexy, for example.
Since you mentioned JavaScript, I am also a JavaScript developer. I can empathize with being busy and tired. I have two jobs and kids. Here is what works for me:
Find the time of day when you have hyper focus. Dedicate that time to your learning whether its study, experimentation with some tool, or writing a side project.
For me this is super early in the morning. I might have some minor focus between work and dinner or just before bed, but usually I am pretty drained and just want to veg out watching a show with family.
If you are married or have a significant other make them understand that dedicated windows of personal study time are necessary. Its more than advancing your career. If its your passion it emotionally recenters you to keep you happy and make you a better person.
8 comments
[ 3.0 ms ] story [ 25.5 ms ] thread(a) enjoy my job. I don't enjoy places with lots of stress or difficult people.
(b) work in a place where there's some level of technical skill development.
(c) earn more money.
(a) is easy to track. If I find myself getting frustrated a lot, I set LinkedIn to 'open to opportunities'. (b) is harder, but I find if people start to come mostly to me about technical questions over other people in the team, e.g. "how should I write this?", then I'm probably hitting a point where I should move on. (c) is even easier. I just check LinkedIn occasionally and see if jobs being sent my way are more than what I currently earn. I just got a £15k pay rise by doing this.
Why is this be a problem for you? Doesn't this imply you are the most knowledgeable in the team (technically)? Isn't this a good thing for a developer?
Accomplishments drive me to do ambitious things. These are generally minor short term things like solving for a new software feature, running a 12 minute two mile, or mastering some area of performance in a military school or caring for soldiers.
Accomplishments drive me to push myself and do challenging things. The lack of available accomplishments, such as a job repeating beginner things dicking around with frameworks drives me crazy. It makes me want to give up my over priced senior software job and go flip burgers where at at least I can see how many burgers I can flip in an hour.
A minimum performance baseline has allowed me to pay off debts and achieve over 800 credit rating even without substantial increases in compensation and shifts in lifestyle, such as military deployments.
A minimum performance baseline has been harmful to my software career because software is an unstructured industry. Unstructured industries tend to prefer minimum common denominators in skills and hiring which is contrary to expertise. It appears if I wish to continue to advance in this industry I must do so in either management or not as an employee.
I monitor my performance baselines setting personal standards of conduct and performance fitness. I establish rules for behavior and define personal failures. Then I slowly raise the bar over time. As a result I continue to observe improvements in my technical capabilities as a software developer and simultaneously observe failures to progress in my software career.
How do you make sure you are keeping up with new emerging tech/frameworks and feel accomplished?
I find it hard to make time for learning new stuff or improve on core concepts of JavaScript after giving 9-10 hours to my day job as a frontend dev.
I feel accomplished when I solve a hard problem in a way that is portable and/or rapidly reproducible, especially if the problem is so far unsolved or my solution is better than other available solutions. I can do these things not because I am an excellent developer, but because I find interest in perfecting unromantic things. Nobody finds the file system sexy, for example.
Since you mentioned JavaScript, I am also a JavaScript developer. I can empathize with being busy and tired. I have two jobs and kids. Here is what works for me:
Find the time of day when you have hyper focus. Dedicate that time to your learning whether its study, experimentation with some tool, or writing a side project. For me this is super early in the morning. I might have some minor focus between work and dinner or just before bed, but usually I am pretty drained and just want to veg out watching a show with family.
If you are married or have a significant other make them understand that dedicated windows of personal study time are necessary. Its more than advancing your career. If its your passion it emotionally recenters you to keep you happy and make you a better person.