I like your question and would like to share what I like about software development.
Disclaimer: I graduated with a Computer Science degree and while I'm an excellent programmer and consider myself strong in algorithms, I have never worked as a software developer in any of my roles. That just shows the flexibility of a Computer Science degree. I have had situations where I wrote a little bit of code, but I haven't had to build out any complex applications for what I have been doing.
So while I have worked in roles that require software development knowledge and experience, my responsibilities have focused on debugging applications, software technical support, software technical customer training, solutions engineering, and technical training curriculum development.
What is fun about software development? You have to remember that the end result is an application that you or a team built together to solve a problem. Coming up with innovative and simplified user experience designs is always rewarding too. You have the ability to go in front of customers to demonstrate how your contributions are going to solve their problems.
Beyond the rewarding feeling of knowing that you're building something that hopefully is helping to simplify people's lives, you also have to consider that you learn new technologies all of the time. This can include meeting virtually or in-person at conferences where discussions are taking place on cutting edge technology and new product releases. You may even present or demonstrate solutions at these conferences.
Internally to the organization that you would be working in, you may also enjoy celebrations and team outings when meeting particular project milestones that include rolling out a new revolutionary product or recognition for increased software sales.
If you think that earning a high salary is fun, then you will also enjoy being a software developer. The salaries can range from lows of $100k/year to over $700k/year based on experience, contributions, company, and regions.
I hope this is helpful!
I love this question because it allows us to focus on the positive aspects of the role, so thank you for asking this.
There's a lot of 'fun' parts of this role, everything from working with cool tools, gadgets, and cutting edge technologies, to working with some of the world's smartest people on global teams. It's also pretty awesome to work in very nice offices, or also have the flexibility to work from remote offices, too!
Personally, I also love that, for the most part, there is no dress code since I'm more of a shirt, hat, and sneakers kind of person.
(These are just some of the perks, but I'd argue that those are on the surface.)
But, one of my favorite aspects of the role, (I'd argue that this is also fun), is that no one stops you from learning what you want, when you want, and how much you want. In other words, your knowledge and skillset is totally up to you. If you want to learn to program animations, go for it. If you want to spend time learning a new language, do it. If you want to gain more knowledge on accessibility, optimization, backend, quantum computing, or AI — it's all up to you.
Hopefully all these replies to your question gets you amped up about entering the world of software engineering. It's a great place to be, there are endless opportunities, and it's a place where you can bring fun culture into the workplace as well.
Randy recommends the following next steps:
B) I feel the fun part is the diverse experience and enormous potential for your career:
1. You are not restricted to a Domain : You could develop a piece of application using your tool set for a Bank and the next could be school OR a blood bank OR Automobile OR space science.
2. Once you have a good grasp of the coding techniques and tricks , you can evolve around multiple tool-sets (read as programming language for ease) . So e.g. You can develop a customer interfacing application for a Bank , insurance , Super store , School library, Real estate agency , Road transportation and others.
C) What are the enablers ?
C1) Lot of learning avenues online : You can browse several learning avenues online and pick up basic skills
C2) Help at finger tips : There are communities for the tool sets you select. You can easily join a community and ADVANCE your skill sets.
C3) You are not fixed to a location OR physical space. You don't need a LAB to do the JOB. You can work from anywhere as long as you are connected to the Cloud . . .
Getting excited . . . please feel to contact / connect with me to learn more . . . Girish Ganesh Kandalgaonkar
As a software developer you get to see the product go from design to development and test to deployment and the feedback goes on for the life of the product.
While ramping up: The massive, supportive community I encountered while learning was an unexpected joy. I've made great friends at meet ups and community groups. Companies often host events, providing food, access to their office space, and/or swag.
In the field: Tech roles so far have paid significantly more for significantly less stress than other fields I've worked in. So far many of my tech roles have had more opportunities for fun breaks and team bonding throughout the day, week, or quarter (from foosball tables to team outings). The offices have been fun but it's also a field that offers a lot of freedom to work remotely and allow travel.
Heather recommends the following next steps: