The 2019 Codeland conference is tomorrow. Amid the excitement, I've been thinking about my career.
The thoughts that followed were not pleasant.
Ever since getting a real programming job, I've been insecure about my career. No amount of words from friends, colleagues, coworkers, and anyone else has been able to soothe it. There's always that fear crawling in the back of my mind, a fear that I'll be lacking in programming skills, soft skills, networking skills, learning skills, or whatever else, and one day it'd all come to drag me down.
Several times it got to the point where I had what felt like mild panic attacks. Just seeing the success others were having made it flare up. I realized I'd been isolating myself just to avoid opening those feelings back up.
Obviously not the best thing for either my career or personal life.
Seeing Insecurities Another Way
I've been doing whatever I can to fight this feeling and push it away, but have had little luck. So instead of trying to remove something determined to stay, I'm trying to see it from another perspective.
I'm insecure about my fundamental programming knowledge. So I've researched and taken notes on fundamental JavaScript concepts like currying and type coercion.
I'm insecure about my Ruby on Rails knowledge since it's used a lot in my current job. So I went through the Ruby on Rails tutorial and am rereading the docs to see all the pieces and how they fit together.
I'm insecure about not understanding code changes my coworkers make. So I've started reading their pull requests and trying to understand what they changed and why. Anything I don't understand I look up later.
I'm insecure about receiving feedback on a topic or tool I don't know much about. So I do more research on them as I fix it. I recently got feedback related to validations in Rails, so I read up on the ActiveRecord and ActiveModel gems and what they do.
I'm insecure about my soft skills. So I got a copy of "Burn Your Portfolio" and began reading and taking notes on it and another book it recommended. I also already have notes on many small ways to talk better with people I can review.
I'm insecure about my career path. So I try to read about and chat with other professionals and see what their career path is like. I see how varied all their paths were, the ups and downs, the struggles they deal with, and often their insecurities.
Learning to Manage the Insecurities
I'm insecure and terrified, but painfully, I'm seeing it as a strength. It keeps me going forward and trying to do better. I have a hard time keeping the feeling under control though. Sometimes I just get so anxious I want to curl up and just stop trying.
Are these feelings worth it at a manageable level? High enough to push me forward, but low enough to not paralyze me? Is it worth the struggle?
I don't know the answer to that. But unfortunately, I don't see the feeling going away anytime soon. So I better learn how to manage it regardless.
Hi.
Some time ago I was having a conversation with a friend, a physician. He was complaining that he should always keep studying because its job was extremely complex and the medical equipment, techniques and available medicaments were advancing very quickly.
I did reply:
That, my friend, happens continuously to us.
I have been programming for more that 30 years now (since I was 10 years old) and I have faced many times the reality of knowledge obsolescence.
I remember of using BASIC, QUICKBASIC, Turbo PASCAL, Delphi, ASP, ... and many other technologies or computer languages that are not used too much nowadays. What you are learning today would be obsolete in some years...
But if you focus on the theory, the probability of obsolescence diminish.
I know that the industry is trying to diminish the university, by mean of online learning and certifications. But if you want such knowledge that never expires, you might need also to go to university or at least buy some classical theory books (Database theory, programming paradigms, Operating Systems, etc..).
One good source is MIT's Opencourseware.
But .. hey.. You might not need that. It depends on which are your expectations, and what is your plan of life.
If you want programming skills to apply in a problem domain then it is just a matter of look information about that.
We need all to realize that there is no such concept like a universal programmer that knows all the industry branches in detail. At most we might have a general overview of everything, and now what is every topic is about, but not to take full domain of everything.
It is already very difficult to be a full-stack programmer, almost impossible to deeply know all the stacks.
If you achieve to learn everything about informatics and computer sciences, then you would realize you became old, probably applied nothing, and lost the time of enjoying the life.
So don't put your expectations to high, try to learn by doing what you need and from time to time read something about the theory. You will soon find that what make programmers more valuable is not so much they knowledge about informatics, it is more about the knowledge they acquire over the problem domains (the branch for what the software is going to be used to...)
Also take a time to read what is one of these programming paradigms about. Not deeply, just to read the descriptions.
Try to read the tech news and, if some concept is new for you, just try to read the basic definitions.
Good luck, relax and enjoy learning !