I’ve been an architect for 12 years on major city based projects. The only way to make money and progress in this profession is to manage more – more people and more aspects of a project. If I could, I’d take a pay cut just to be a drafter/designer/detailer but that would never fly with any firm where it’s expected that you constantly climb the corporate ladder. I have a health condition that makes self-motivation hard and makes me sensitive to stressful situations. I’m looking for a career change where I can work remotely and independently with little human interaction like web/software developers seem to enjoy; but do those jobs have the same issue as most do where you really only start to make money once you start becoming a manager? I could see myself as a hidden team member or independent contractor. Would programming be a good fit?
I wish I had good news. Software development is stressful. You can make money as a software dev without managing people, but it will be stressful. You will need to deal with stressful situations and stressful people. I honestly believe that there is no well-paying job on earth that doesn’t come with a good dose of stress. I wish I believed otherwise so I could say it to you.
So if you are okay to not have to manage people but still be stressed with deadlines and managers and co-workers who apply their own type of stress, then perhaps yes, you can look at software development as a way to make an income. Though remote work that pays well is probably something that will not happen unless you have a skillset that is unique enough to warrant that.
All the best to you. I hope you can work out something that eases your stress.
Yeah, there definitely is stress in coding. But … it can be “fun stress” a lot of the time. My old musician friends ask what I do, I tell them that I solve puzzles all day. Sometimes that is a fun kind of stress. Sometimes it is a stressful kind of stress, like having to solve a crossword puzzle with a timer counting down and electrodes attached to “delicate” parts of your body. But still, it can be fun.
I hate managing people, too. I’ve had to do a little of it as a coder, just leading a small team, not “Lumberg” type management. You can probably avoid that fairly easily as a coder.
But self-motivation is fairly important for a coder, both in the learning process and in the “getting the job done” aspects.
But if “management” is the main part that was stressing you out, then yeah, you can avoid that. But you’ll have to work on self-motivation and the stress of trying to meet goals and deadlines and the general “frustration” that accompanies coding.
This would only be true if you can answer “100% yes every day forever” to the following question:
Do you like dealing with stressful problems that can’t seem to be solved, and learning new things to try and solve them, only to run into more problems?
This isn’t a unique situation, this is a Tuesday, or really any other day of the week, including possibly the weekend when your working on your own stuff.
If your “100% stress free” programming, your probably creating stress for someone else, including yourself down the line, and or not learning anything new. It might not be the kind of stress where you want to quit instantly, but it could be if you don’t like that above scenario where “things aren’t working”.
Generally you don’t need to be a manager to make money. However there are some aspects of your dream job that aren’t realistic.
Odds are you will be working with fellow humans most of the time. Otherwise who’s paying you? And for what? Developers build stuff to solve people’s problem, as such you need to interact with those people to debug, solve, specify those problems. There isn’t much getting around this, to the point you probably already know what this looks like as an architect. There shouldn’t be much difference besides what your “building”.
Being a developer is inherently a social job where your interacting with other stakeholders all the time. There is an image of a programmer who magically types stuff on their keyboard and magically makes everything happen instantly. This is basically a fantasy.
There is usually a pathway for a developer to not go into management, and end up in a more “domain expert” role, but this requires you to know your stuff. This probably wont matter if your changing your career, you’ll have to start from the bottom anyways.
Finally I’d like to throw a word of warning. It might be that you like the idea of being a programmer, and the perks they sometimes get. However, the actual job isn’t usually so “shiny and bright”.
Deadlines, people-managing, communicating, problem solving, debugging, issues left and right, and learning things are all parts that most people don’t always like. Except they are core parts of the profession. I’d be sure your ok with these sorts of things, and not just ignoring them to focus on the “nice stuff”.
Sure remote work sounds cool, but learning in complete isolation and staying on task isn’t exactly easy or super effective without discipline. Sure coding all the times without talking to people seems like a way to get away from people, but you’ll need them when your stuck, or realize something doesn’t work, or get notified about a problem, or just plainly need to know what work your doing, all requires talking to others.
+1 to what @bradtaniguchi said about this. In the modern day, a software engineer needs to be a very good communicator in all ways, not just via code. My job is remote, but I’d say I communicate with about 10-15 people every day and I often present reports, objective docs, and retros in large meetings regularly. As a matter of fact, most software engineers (especially the higher up you go) probably only have time to get in a couple hours of actual coding and the rest of the day is allocated to communicating, coordinating, and planning things with other team members.
Yeah, I missed that. There is definitely a lot of human interaction. Sure, there may be 4-6 hours of “heads-down” coding in a day, but I usually have at least and hour of meetings or communicating. A lot of remote communication is written but there are a lot of times where I have to hop on a video call. There is a lot of communication with different personality types that can require a delicate touch. Don’t get me wrong, I work with great people, but critiquing people’s code (or having yours critiqued) can take a lot “finesse”. And sometimes it can take some skill to talk with managers, product owners, and designers, all with different perspectives and priorities, and sometimes it seems they don’t speak the same language.