Should I become a software developer?

I know this might seem like an odd place to ask this question but here my thoughts:

Seeing that Obsidian is extensible with TypeScript inspires me to learn TypeScript myself, I would be able to tinker it to my own needs and share the solutions with others. I would also learn how software works in general, or what the ‘language’ of software is.

I’m wondering if it has any advantages in my daily life, and not just as a job/career. I’m thinking that it’d open my eyes to what is really possible with software, and that I’d be able to tinker with software to suit my own needs.

Is anyone here a software developer or software engineer? Is it enjoyable? I hear horror stories of people having to work overtime or having to work all day, which isn’t what I want.

Any thoughts or suggestions would be great.

Hi, I’m a self taught software developer myself.

I think it’s hard work for the brain, but enjoyable. The code is created in brain, not by fingers typing on a keyboard. So brain is under a constant stress. I think the risk of working overtime comes from the fact that it’s very hard to make estimates on how much time it takes to develop a feature. Scheduling is hard because you can’t know how big problems you’re going to face. Experience helps to foresee some problems, but won’t protect from all of them.

The good thing about this field is that in addition to the time required on studying programming, the only thing you need to invest in is a computer, and maybe a commercial code editor software. Most of the programming languages and libraries, at least for web development, are free to use.

Then again, I don’t really know how much time it takes to become a professional programmer who can earn their living from it. I started programming as a teenager, many year before I had to start making my own money, so my goals at the beginning didn’t include the need to make money, so I can’t say anything about how long it will take time to be able to earn money from programming, if you are starting from the scratch. My goals included only to have fun while making small games. Over the time my hunger grew bigger, skills evolved and I started growing my small game projects in a way I could not manage them. I wasn’t able to finish most of the game projects I started, probably due to the lack of planning. It was still fun, but grew up some frustration, as I feel I can’t organise my projects well enough.

Back to the topic again. When I mentioned that the only thing you need to invest money in is a computer (and that you probably already have), I wanted to say that it can come with a risk: you don’t really need an office to do your work. Even if you work in a team, your team mates might be physically far away from you, perhaps even in other countries. That’s something you need to consider when you are choosing the company or client you are going to work with: do you need a social work community who meets face to face? Do you have a vibrant social life during your freetime? Some people are just fine with working remotely by themselves all the time, others need people around them. I’m sure this field has workplaces for both types of workers. Just make sure you have your social back covered.

Any advantages in daily life outside of working? I don’t know. Sure it will teach you how software works in general, but is it beneficial? I think the most benefit can be retrieved from the ability to ease up your daily workflows (be it business or pleasure), if you can. Maybe I grew up with software so tightly that I don’t see all the benefits of knowing how software works in general. I don’t know how most of the software works that I use. Each program is a huge ocean of code where I’m usually not willing to dive in, even if it would be open source. This field is so large, that even after almost 20 years of progamming (hobby + as a work combined), I still know just a tiny, tiny fraction of it.

Maybe someone else can offer more insight about the benefits of this field? For me it’s a huge part of my life, so maybe I’m not seeing the forest from the trees.

1 Like

There are other forums better suited to answer this question and follow-up questions.

For example, /r/cscareerquestions has a section about this topic in their wiki which links to a specific thread with this question. Here’s the answer from the top comment in the thread:

As others have already said, software engineering is a very lucrative career for talented coders. However, if you get into it just for the money, you’re unlikely to be the type of coder companies want to hire. You need to be the type of person who loves solving problems, and never gives up until you have a good solution. You should also be the type who likes to tinker/take apart/fix/hack anything and everything you can, both hardware and software (not just computer hardware). Also, computer science is a very math-intensive field, so ace that shit in high school and college!

If it’s something you’d like to pursue, then /r/learnprogramming would be the next place to go. Their wiki also has a career section as well as sections that discuss getting started learning.

I’m not familiar enough with TypeScript to know of examples where it creates “advantages in my daily life,” but Al Sweigart’s Automate the Boring Stuff with Python has many examples of things you can do to “tinker with software to suit my own needs.” Here’s a brief list from the page:

  • Search for text in a file or across multiple files
  • Create, update, move, and rename files and folders
  • Search the Web and download online content
  • Update and format data in Excel spreadsheets of any size
  • Split, merge, watermark, and encrypt PDFs
  • Send reminder emails and text notifications
  • Fill out online forms

At the very least, it’s a good hobby to get into.

5 Likes

I’ve been paid for software I’ve developed, and I’ve developed a lot of software just for my own use, both for several decades now. It is definitely worth learning languages and good development practices, even as a hobby. Besides maybe automating some tasks to make yourself happy, it’s a great way to gain appreciation for the challenges that developers overcame to provide the software that you enjoy using. Who knows, that insight might also be useful in your work-life world too, in some ways.

2 Likes