The Goods and the Bad Things about Being a Software Developer
By: Kesk - -
Tags: Career Advice, Software Engineering, Professional Development, Programming, Software Development

The Goods and the Bad Things about Being a Software Developer

Are you suitable for this job?

As a developer, you will most days confronted with a list of challenges you have to resolve. This is often an encouragement, but, at other times, will be exhausting. Being a software developer, like other professions, has goods and bad things, and in this article, I compile what I think are the best and the worst stuff of this profession.

So, are you suitable for this job?

The goods things

Work anywhere. These times have shown how important it is to have the option to work from home. I am now working from home, and I am very comfortable. A couple of times a month, I go to a summer house in another city, and I stay there working for the rest of the week. I also have the option of working for other companies and on other projects outside my city. You can quickly jump from working full-time to freelance and vice versa, and all from your home without needing more resources than a computer and an internet connection. Comfortable Working Environment. Whether you work from home or in an office, the workplace will usually be comfortable. You won’t get cold or hot. You can build awesome stuff on your own. You can always create applications or games, write technical articles, books, create online courses, or do something that makes your life easier. With a little luck, you can also make a lot of money and, who knows, get rich :) You build your own business. If you have a good idea, it is not difficult to start a home-based business with a small investment. Today, thanks to Amazon AWS services or similars, we can scale and deploy our application without making the massive hardware investments needed before. You can be an open-source developer or change the world with the new “magic” app. You can be as creative as you want. The only limit is your imagination. You have to learn every day. (This is a good and a bad thing, not everyone is good at this, and I don’t know what it will be like when I’m 60!) You will put to the test your problem-solving skills and sometimes push them to the limit, and as in the previous point, this is not suitable for everyone. Many times you will have to solve problems for which you are not initially trained. You will have to know the domain to which your solution is directed and acquire the necessary technical skills. It’s a profession in high demand. It is not difficult to find a job. Besides working remotely, you can apply for many more jobs than those in your city. This profession has good pay and economic benefits. There is usually more demand than job offers, and if you are good in a short time, you will have a good salary. Never too Late to Become a Developer, but you have to be an active person and always willing to learn, no matter how old you are. Instant gratification. With little effort, you can create something and see the result. With effort and time, you can create something outstanding. It all depends on your imagination and not on the money you have. All your friends will think that you are brilliant and that you can solve and fix anything :P Contrary to what many believe, the work of a developer is not a job to be isolated. If you work on a particular size project, the usual thing is to work in a team and continuously contact your colleagues. You will have to be in contact with your clients, which requires individual social skills. You are always on the cutting edge of technology. Intellectual satisfaction. In this profession, you have the challenge of designing a solution to a problem from scratch. It is a profession with present and future opportunities.

The bad things

You’re always learning, and this requires time and desire. What you learned or used a few months ago may not be useful for your next project, and you may have to study something new. You always have to be updating your knowledge and keep up with what is going on. You often start doing something without having exact requirements or knowing the tools or languages you will use. Yesterday works, today no. A classic, and for your desperation, you can spend hours looking for why it fails now. Other times the web certificates will be updated, or a library will be changed, and everything will stop working. Too much sitting. Too many bad habits. If you are not a person who likes to play sports, you will end up with continuous back pain. You will spend a lot of time sitting down in this job. The sensation of seeing your life pass through a screen. Sometimes you need hours from your time. In this job, it is difficult to disconnect, and when you leave work, you will often still have the problem in your head. Your code will be exposed to all the people working on the same project, so you have to know how to accept criticism. Sometimes it can be very exhausting and stressful work. There is almost always less time to develop than necessary, and many times, everything is in a hurry to finish. This will lead to more mistakes and produce stress and anxiety. Bugs in production. This implies that you will have to fix it as soon as possible, and if the error is severe, you will have to work until you solve it, sometimes until late at night or on weekends. Managers often sacrifice code quality for development speed, but if something goes wrong, they’ll blame you. Having to maintain someone else’s crappy code or systems after they leave is challenging and frustrating. You will probably want to use the tool or language of fashion, but you will have to maintain your project for years, which will make you want to change jobs. The difference in salaries in the same job. It’s not the same working for google or working in a small company. If you want to dedicate yourself to this, you have to love this profession and its implications. I’ve seen more than one leave this to do something else. You have to be a disciplined and detailed person( this can be a good thing also).

So, are you cut out for a developer job?

If you answer any of these questions with a “yes,” think about it before you go into this profession:

Do you like regular working hours? Are you easily frustrated? You are close-minded to others’ ideas. Aren’t you a “details person?” Do you prefer to shoot first and ask questions later? Don’t you like always to be learning something new? Don’t like uncertainty? At the beginning of many projects, it is expected that you don’t know how you are going to do it. Aren’t you good at talking, negotiating, and reaching agreements with potential clients? Aren’t you a persistent problem-solver? Aren’t you comfortable with being uncomfortable? Development requires being able to sink deeply into a topic, confront the areas that are difficult about it, and persevering through those times of frustration so that you can understand the thing that is in front of you. This is not always easy, and not everyone is suitable for it.

Conclusion

I hope you find this article useful. If you are new to this profession or thinking of becoming a software developer, I hope I can help you make the decision, and if you have been working as a developer for a few years now, I would like you to tell me what you think.

Thank you very much for reading me!