2 answers

what's the most difficult part of being a software engineer?

2
100% of 2 Pros
Asked Viewed 58 times
2
100% of 2 Pros

2 answers

Amit’s Answer

1
100% of 1 Pros
Updated

The hardest part of being a software engineer is not giving up when you feel discouraged. Software engineering is a field that is difficult to pick up and it is really challenging to develop code. There is a famous phrase in software engineering "No code works right the first time". When being a software engineer you need to be strong in the belief that maybe you don't have the right answer now but you are confident you can find the correct solution. People view fixing errors and bugs as annoying but for me, there is no greater feeling than solving a bug you've been wrestling with.

Amit recommends the following next steps:

  • Whenever you have trouble look up your question on stackoverflow
  • Ask for help when developing
  • Watch lots of tutorials on youtube about the different technologies you plan to use.
1
100% of 1 Pros

Somil’s Answer

1
100% of 1 Pros
Updated
Software engineering can easily be one of the most lucrative jobs today. High growth industry, the best companies to work for are mostly software firms, plenty of job opportunities and ability to touch million of lives quickly through your work.

However, there can be many problems plaguing a Software Engineer. This is not an exhaustive list but will give you an idea of the kind of problems software engineers face.

Frustration
The kind of abilities required for programming and software engineering is general, attracts a class of people who are good at problem solving, reasoning, creativity, algorithms etc. However not everyone gets the right job were one get to deal with interesting problems everyday. There can be lot of monotonic work for months where you have to refactor code, implement trivial thing, implementing solutions which are already well defined, review code, write software specification and requirements, debug issues. Once in a few months you may get to work on something interesting but it can be really frustrating waiting for quality work.

Low Job Satisfaction
One of the major attraction in terms of job satisfaction is to work on path breaking solutions that thousands if not millions of people use everyday. But in reality, you may have to work on products which may get scrapped after years of development, products which are being used only internally in your company, products which are so business specific that only few customers use, or worse you may never get to know who is actually using the product you worked on so passionately.

Health Issues
8+ hours of sitting work everyday entails its own problems. Although most of the jobs are sitting jobs today, but specially in programming jobs, you may not need to discuss/ present/ collaborate for days to do your job. Glued to a computer screen daily for weeks can cause headaches, dry eyes, pain in wrist, elbow, shoulder, lower back and neck is common among software engineers who have been in industry for as low as 5 years.

Rapidly changing technology landscape
The technology is changing rapidly, the programming language/ platform/ software you are working on today may be obsolete tomorrow. You need to constantly upgrade yourself and keep on learning new things. It gets difficult as you put on years of experience. Learning new things is easier with a clean slate. A fresh graduate armed with the knowledge of latest technology can soon outpace the experienced engineers if they are not willing to learn.

Odd hours
It's common for software engineers to work odd hours. Sometimes to collaborate with teams in different time zones, sometimes to catch up on your learning plans, and sometimes to finish off work which you couldn't get time for in the office because you were so busy interviewing candidates or understanding business requirements.
This disrupts your sleep cycle and makes you feel tired all the time. This may not be true for all companies and all profiles but it's a common occurrence.
1
100% of 1 Pros