I have been working in IT as a software developer and as an engineer since 2015.

During my years I have been working as a freelancer, as an inhouse developer and as a consultant.

Here is a small list of things of what I consider good and bad things about being a software developer.

Pros

Pay

Pay for a software developer or an engineer is generally good compared to many other jobs.

There is still more demand then there is supply for talented developers, which makes senior roles even more paid.

Entry level jobs pay a lot less than senior developer roles.

Challenging

Software development work is very challenging and requires a lot of thinking and problem solving.

Solving problems every day can be very draining but it can also be very satisfying.

Remote

Developing software happens online by its nature, which is why many workplaces support remote working for software developers.

It is a very nice benefit to have being able to work directly from your home without commuting to an office or any other workplace.

Cons

Stationary

Biggest downside I consider for doing software development work is that it is stationary by nature.

Being stuck on a computer all day is very bad for your health which makes it almost a necessity to stay active on your spare time to keep your body and mind in good shape.

There has yet come a day where I would feel great after many hours of sitting on a computer.

Abstract

Writing software happens in a world that is not in any physical form.

Software is just ones and zeros that are flying across time and space, which sometime makes you question whether you are doing concrete work or just doing something imaginary or even real.

Opinionated

From my personal perspective, software industry is very opinionated and it can sometimes feel very overwhelming to find your own space and slot in the mix.

People like different technologies, are often biased and want to make the right decisions for getting recognition, promotions and raises. This can sometimes create quite a toxic environment to work in.