Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 2, 2019 09:16 pm GMT

Your 30th Year in Code

Becoming a programmer can be a daunting task. After reading Your First Year in Code, you might wonder what awaits you long term. My book, What is Programming covers more of the skills youll need, but here I want to share the personal challenges.

Ive been programming over 30 years now. Thats a long time to be in this industry. I know many people that didnt make it this far or have grown overly distraught. As the years ticked by, there are some major problems I faced and seen others endure.

Stagnation

Technology changes faster than any individual can follow. The nature of programming is that tools learned this year will not likely be relevant five or ten years from now. If you havent noticed yet, learning is the most needed skill for a programmer. Every year, every month, every day, brings with it something new.

Ive jumped between a lot of jobs: an employee at startups, a contractor at larger companies, and in my own side projects. My continuous exposure to new things has helped me avoid stagnation. Without this job hopping, it can be difficult to learn new things. Yet you have to, otherwise youll find yourself increasingly distant from modern programming. Job listings will become increasingly foreign and best practices you see online evermore confusing.

Fortunately, the approaches to programming change a lot slower. These are the major themes, for example, how to manage a project and the best practices for coding. Unlike specific tools, this knowledge transfers to new projects. However, it does change, and its important to keep up. Many people sit on one project for ten years or longer. This extended period may cause losing track entirely of what programming has become.

Theres no need to endlessly learn all the shiny new things, but you need to follow the overall trends. By taking the time to appreciate the concepts behind the tools, youll find your knowledge transfers easily to new tools. By showing even a passing interest in the industry as a whole,you should be able to keep abreast of major changes.

Fatigue

The cycle of learning has a toll on us. It requires a continual input of energy. We dont get this option of riding on our current knowledge for long. I cant say how often I would have appreciated a job where I could apply my current knowledge. In freelance contracts, I sometimes bid on projects, not because they are interesting, but solely because I wont have to learn anything new. It saves energy.

On top of the learning is the stress of switching jobs. Changing companies is a massive change in your daily life. Even transferring within a company can be a significant change. The adjustment period adds stress. Its a great way to avoid stagnation, but comes with a personal cost.

Our lives change as we age. The innate drive of a twenty-year-old fades as you enter your 30s and 40s. Youll have found other ways to spend your time. Your late night hobby may no longer be fiddling with code. A life wont be only programming. This means less time for all the learning you need to do.

On the other hand, its often these non-programming activities that bring energy back. I dont think I could have maintained my energy so long without them. Ive done writing, music, massage and more. Theres a balance to be reached, and I tended to overwork, which is a bottomless energy sink.

Physical well-being plays a significant role, and its not uncommon to succumb to a poor lifestyle. From my experience, the stereotypes of unfit programmers are unfortunately common. Im not judging, but a lack of physical health brings you down. Learning is exhausting and requires a fit mind, which requires a fit body. And as you lose energy, you lose time. You lose the time to exercise and eat right, which further diminishes your energy, throwing you into a downward spiral.

I dedicate a lot of my time to health and wellness, though still perhaps not enough me time. Its easy to get sucked back into projects. And despite my goal of having a project where I learn nothing to conserve energy, it ends up being those which drain even more energy. Once the motivation is gone, my energydwindles.

Honestly, Im still trying to figure this one out. Ive had a good run of 30 years where I dont think my motivation faded, but the energy is definitely lower. Im facing a bit of a problem now. But fortunately, Im writing about the first 30 years and can ignore the ones that come after.

Cynicism

And what happens when you get tired? When my motivation drops and I dont have an interesting project, well, I become right proper sick and tired of it all. Cycnicism is not a new problem, but its definitely a big one.

The cycle of learning and a lack of energy leads to frustration. The inevitable feeling that youve done this before. Why do we keep learning new tools when the old ones work? Why dont these new tools do what the old ones did? After all these years, why hasnt anything gotten any better?

Its hard to watch things come and go, to watch your best work fade into obscurity and then be requested to do it all again. Keep programming long enough, and the novelty wears off. There fails to be any more interesting projects, any fields where you havent worked already, or anything youre remotely interested in doing.

This attitude often may result from stagnation or waning energy. The more one closes themselves off to a changing career, the more they come to despise that field. Keeping abreast of new things, and contributing to the field, can help stave off negativity.

But I think theres more to it. Even with my diverse career, or perhaps due to it, I become overly cynicalat times. I need to remind myself that though similar, the problems were solving now arent the same as those from 20 years ago. I even give presentations to this effect, about how much has truly changed in software.

Trolls and idiots dont help here either see, thats my sour side talking. I get angry with people who write bad code online, advice about bad code, or staunchly defend dumb approaches. Good thing I didnt have twitter when I started, otherwise I would have been pissing off some old programmeras well.

Recognizing a negative trend in your attitude is important. Its the first step to understand theres a problem and find ways tofix it. Find the programming that makes you happy. Ignore the battles that you cant win. Remember the joy you had when you started out. Dont let cynicism take away.

Ageism

Given that we might be antiquated, drained of all energy, and hate the industry, its not surprising that many teams dont want to work with us. Stubborn old farts are terrible for a team. Theyre stuck in the past and consider themselves the best. This results in them making bad decisions and being arrogant to younger team members.

I dont consider myself to be part of that stereotype, and I know many people who are not. I wish I could say Ive never met the stereotypical old programmer, but I have, and often. As have my colleagues who do interviews, or are otherwise involved in hiring. Im clueless as to a percentage of good versus bad.

Which means, even if youve become a great programmer, you get to deal with that the stereotype. Unlike the other problems, theres not much you can do about this one. Be aware of it and be aware that youll be the old person going in for the interview. If youve kept up-to-date, and still have a positive attitude, I dont see age as a significant hurdle...

...except, when it comes to contracts or payment. Part of the issue ofageism is that young people are cheaper. Companies are reluctant to compensate senior programmers for their knowledge. Without an objective way to measure individuals I can understand that. I guarantee Ill be cheaper in the long run, and that my product will be superior, but of courseeverybody competing for a position will say the same thing. Its only after you work with me youll see the difference.

Young people are also too willing to give up their free time to a company, which is overly relevant in the startup sector. Im willing to work long hours, for a while, and if you pay me for it. My loyalty to a company exists only so long as its beneficial to meas well. I dont tolerate any company advantaged relationships. This is all part of the balance in my health, keeping fit mentally and physically. But until you find a convincing way to show companies this results in better products, well be fighting the image that well experienced programmers dont work as much.

See how easy it for me to let my cynicism shine though! Ageism is a real problem, and its due both to reality and stereotypes. Combating this is hard. I think thatas long as you keep a positive attitude, and avoid stagnation, its possible to navigate around the problem.

Ramblings

Those are the problems Ive confronted, that youll eventually face. Realistically, for your first ten years you can probably ignore these ramblings entirely. File them away in the back of your head. Once things look to be going wrong, remember its not you. Stagnation, fatigue, and cynicism will happen to all of us. Recognize it, then find a way toget over it.


Original Link: https://dev.to/mortoray/your-30th-year-in-code-2if9

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To