This is a very good question, and you may get different answers from different people.
To me, the best part of being a software engineer is the creative process of using software programming to solve real-world problems in an efficient way. The world today runs on software, and this is the field that a lot of innovation is happening. I like solving problems, and this is one of the reason that I like being a software engineer.
Every new position I had to utilize the skills I learned in my old positions and learn new skills for the new position. This change always required taking some kind of courses.
As a Software Engineering you need to never stop learning especially now when changes are happening so fast in this industry.
For starters in today's industry you will need a BS degree maybe even a Masters. To save money on tuition you could start in a community college getting an AS degree in math and science (with a minor in computer science) that is fully transferable to a four year university.
Software Engineering is not for everyone. Most of the time you will be at your desk for most of the day and if you are like me you would be trying to solve a current work problem when you are off work. For people that like to be outdoors and active that would be a problem. Also, not everyone likes to program.
You need to find out early whether you will like being a Software Engineer or prefer one of the many other professional positions available.
Leon recommends the following next steps:
As Jamie mentioned, the answer to this question could vary from person to person so this is a great question!
My take: I love that technology is evolving so rapidly everyday and software is always going to be a part of that in the future. The best part to me is that there's so much to learn in the software engineering field because there's so many aspects involved in making things work. Things like the "Cloud", evolving coding methodologies like "agile", and much more that you will be continuously learning and working with as your career grows!
Hope this helps!
1. Creating something beautiful from "scratch" gives you the best feeling of accomplishment.
2. You never have to be bored; new technology, patterns, frameworks, etc. come out every day.
3. It's a very flexible job: you can work in front-end/back-end for web, mobile OS software, large-scale applications for desktop OS's, or even on the software for hardware. Then with each of these skills, you have a huge amount of industries to choose from like tech, startups, finance, and more. This also means great job security :)
Howard recommends the following next steps:
Sarah recommends the following next steps:
Gives great satisfaction seeing stuff grow while we work on it and seeing other people using it. There is always interesting challenges involved and it is very creative.
I would say that the best part is the challenge you get everyday, the zest to solve the issues and the feeling you get after resolving the issues. Another aspect is the learning you get as technology keeps changing so as a software engineer you need to keep up to date. I too learned lots of things just by hit and trial.
Its a fascinating world for a person who loves a roller coaster ride :)