4 answers
Asked
509 views
what are the drawbacks of being a computer programmer?
I am a junior in high school and I am considering being a computer programmer. I know a bit of python and am starting to learn c++ and am really enjoying doing so
#computer-programming
Login to comment
4 answers
Updated
Rafael’s Answer
Hi, Samuel. Thank you for your question. Like any other career path, there will be both good and bad (inconvenient perhaps?) attributes. If you really love computer programming, these bad attributes or inconveniences will be expected and tolerated. Some personal inconveniences that I have found would be things such as, being oncall and getting calls in the middle of the night or weekends, dealing with external dependencies, i.e. Database Administrators, Security Admins, etc.
The joy, however, that you will find will be more than enough to overcome any drawbacks. Examples of joy that you will find can be things such as providing creative business solutions, continuous learning of new frameworks and tools, and knowing that your career as a software developer is a part of STEM.
In my opinion, you have to decide for yourself if you truly, truly love computer programming. If the answer is a strong 'yes' then any potential drawbacks may not seen as such. I hope that you would consider software development as your career choice. It has been very good to me personally and has provided me much satisfaction. Best wishes to you as you begin to decide you career path.
The joy, however, that you will find will be more than enough to overcome any drawbacks. Examples of joy that you will find can be things such as providing creative business solutions, continuous learning of new frameworks and tools, and knowing that your career as a software developer is a part of STEM.
In my opinion, you have to decide for yourself if you truly, truly love computer programming. If the answer is a strong 'yes' then any potential drawbacks may not seen as such. I hope that you would consider software development as your career choice. It has been very good to me personally and has provided me much satisfaction. Best wishes to you as you begin to decide you career path.
Updated
philippe’s Answer
Hi Samuel,
I started as a SW programmer my professional life. That was in 1995. At that time, I knew well C and C++, worked in mobile phone industry, programmed GUIs before Android and Iphone standardized them. The good thing in programming was that I would show my friends Philips phones and could share with them I was the one doing that screen/menu etc... That was the beginning of mobile phones, a lot of fun, small SW teams like 10ppl could do the entire UX of several phones a year, having hands on actual products millions of people would use daily.
That lasted few years (6 to be accurate) and later, I had to make a choice: staying a programmer or becoming a project leader. I went the project leader side, relying on my valid and recent experience. I was able to drive the team in solving challenges they met, advising architectural choices, having hand-on for debugging, able to size effort and assess complexity of any request within hours/days.
With the years, I had more complex projects then programs (meaning multiple projects SW/HW at the same time to deliver a product) and by then, I wasn't able to micro-manage the SW folks or HW folks. And that was good. That allowed me to work with these folks, relying on their skills and knowledge to solve bigger challenges. Those who kept in micro-managing to get the same results just spent more time doing so without better results and sometimes became a pain point for the team.
I still can rely on my SW skills when I see something not working. After all, it still relies on the same technologies, designs or architecture most of the time: protocol stacks are still in use, rendering objects are mostly done the same way no matter the language or OS, etc.
So no matter the language you are learning today, this is not going to make a big difference later. But for your first employment, you might want to go for the language that is the most needed in the industry you want to work for.
Then, one day you will have to make the choice between Expert and Leader or another path (marketing, etc...). All are good careers and employment will vary depending on the industry.
Of course we need less leaders than coders but the same happens for experts: you don't need many experts in a team.
I would say that coding might be your main activity for the first 5 or 7 years, but after that you will have to make a choice in your career as cheaper and more available people (example: without family to take care, geographically easy to move and travel, etc...), will arrive on the market and compete with you.
Hope that helps
I started as a SW programmer my professional life. That was in 1995. At that time, I knew well C and C++, worked in mobile phone industry, programmed GUIs before Android and Iphone standardized them. The good thing in programming was that I would show my friends Philips phones and could share with them I was the one doing that screen/menu etc... That was the beginning of mobile phones, a lot of fun, small SW teams like 10ppl could do the entire UX of several phones a year, having hands on actual products millions of people would use daily.
That lasted few years (6 to be accurate) and later, I had to make a choice: staying a programmer or becoming a project leader. I went the project leader side, relying on my valid and recent experience. I was able to drive the team in solving challenges they met, advising architectural choices, having hand-on for debugging, able to size effort and assess complexity of any request within hours/days.
With the years, I had more complex projects then programs (meaning multiple projects SW/HW at the same time to deliver a product) and by then, I wasn't able to micro-manage the SW folks or HW folks. And that was good. That allowed me to work with these folks, relying on their skills and knowledge to solve bigger challenges. Those who kept in micro-managing to get the same results just spent more time doing so without better results and sometimes became a pain point for the team.
I still can rely on my SW skills when I see something not working. After all, it still relies on the same technologies, designs or architecture most of the time: protocol stacks are still in use, rendering objects are mostly done the same way no matter the language or OS, etc.
So no matter the language you are learning today, this is not going to make a big difference later. But for your first employment, you might want to go for the language that is the most needed in the industry you want to work for.
Then, one day you will have to make the choice between Expert and Leader or another path (marketing, etc...). All are good careers and employment will vary depending on the industry.
Of course we need less leaders than coders but the same happens for experts: you don't need many experts in a team.
I would say that coding might be your main activity for the first 5 or 7 years, but after that you will have to make a choice in your career as cheaper and more available people (example: without family to take care, geographically easy to move and travel, etc...), will arrive on the market and compete with you.
Hope that helps
Dan Wolf
Retired Electrical/Software Engineer and part-time College Professor (BSEET and MS Engineering Management)
129
Answers
Pittsburgh, Pennsylvania
Updated
Dan’s Answer
Given that I enjoy programming, I cannot identify any drawbacks that are unique to computer programming. This isn't saying that you will (100%) always enjoy every workday. As with any career, you will experience "people problems", have to work on a day when you wanted to do something else, don't feel like doing what needs to be done, required to work overtime, work on weekends to meet a deadline, want more salary, didn't get a promotion, etc. But these are common to any career.
A few "features" of Computer Programming:
1) Computer Programming requires intense concentration and is not a task that lends itself to frequent interruptions - it is an
intense mental effort where you are almost always solving problems.
2) The computer industry changes constantly and you will almost always be learning new things.
3) As a computer programmer, you will sometimes be working long intense hours, usually to hit a deadline.
Maybe these could be called drawbacks but, if you like computer programming, these would be features, not drawbacks.
A few "features" of Computer Programming:
1) Computer Programming requires intense concentration and is not a task that lends itself to frequent interruptions - it is an
intense mental effort where you are almost always solving problems.
2) The computer industry changes constantly and you will almost always be learning new things.
3) As a computer programmer, you will sometimes be working long intense hours, usually to hit a deadline.
Maybe these could be called drawbacks but, if you like computer programming, these would be features, not drawbacks.
Updated
Vinodh’s Answer
The drawbacks I see are the constant need to be adapting and changing. While I agree that the dynamic nature of the profession is what drives me and many others to be computer programmers, there are times when it does not work for our benefit.
If you are technology driven person who is not too interested in people management or sales, your growth may hit a road block in some organizations. Similarly if you want to stick to a particular tech domain and become an expert there may be phases where that domain goes thru a rapid change or it becomes too stagnant.
If you are technology driven person who is not too interested in people management or sales, your growth may hit a road block in some organizations. Similarly if you want to stick to a particular tech domain and become an expert there may be phases where that domain goes thru a rapid change or it becomes too stagnant.