What career path do most software engineers take and how do they normally end up?
I am in 10th grade and have some experience with software engineering. What career path do most software engineers take and how do they normally end up?
Most software developers that I have met usually go to college and focus on getting either Bachelor's degree in Computer Science or Software Engineering. This is true for any software industry they're in whether its video games, mobile, back-end, web, etc. My understanding is that it was typically the only major that's usually offered at universities.
In my experience, I wanted to get into game development so that's what I focused on. After college, I started at a game company where I working on tools for the game developers. I eventually worked on consoles and and mobile games. I have since then moved on towards mobile apps where I then got more into engineering management.
A key thing to keep in mind while you're learning is you'll enjoy working on certain aspects of software more than others which tends to guide you into a certain career. In my case, I wanted to work on video games so I focused on that first. After a few years, I transitioned into mobile app development after making a small app and seeing it being used. It required learning new tools and new languages but I really enjoyed the feedback I got from users. After all those years combined, I wanted to start mentoring other developers which the skills and knowledge that I've learned so I wanted to get more into management.
Jasen recommends the following next steps:
Build and develop yourself to always be learning. That's primarily done with reading. Lots of reading. One place you can often get coding books and educational software is call the Humble Bundle. They sell heavily discounted packages of all sorts of things and I've gotten a number of good resources to help me in the aspects of IT I encounter with IOS and Android software support.
Having a strong foundation in software gives you opportunities that are much broader. As a software engineer, you get to work on products or solutions for many industries across many functions. If any of those industries or functions catch your imagination, you can leverage your relations to branch out into those fields.
I will give you my example. I completed BS in Computer Science and started working as a Software developer for a consulting firm. I started with working on a solution for Retail (automating the back-end). From there I moved on to working to automating billing for a gas utility. Neither of these engagements caught my imagination. I moved on to working for a wireless provider - building the back-end system to activate devices on network switches, front-end systems to help employees service customers. This industry really caught my imagination and I decided to join full-time as an employee. I got to work on lots of great projects as a Software developer, and later as an Enterprise Architect. I loved the industry and company so much that I wanted my own ideas implemented and I leveraged my contacts to start working in Marketing organization. I have now moved across multiple roles from Marketing to Corporate Strategy, to Business Intelligence and have enjoyed every role.
Sumeet recommends the following next steps:
here are some examples of what you can be:
IT security specialist
User experience designer
Quality assurance tester
Most of them end up in either technical track or management track. The culmination of which depends on the person and their abilities. The technical track is where you hone your skills in a particular technology (ex: creating mobile apps for gaming usually in front end (UI) or back end business logic implementation ) or getting into architecting bigger blocks and connecting systems . The management track is about working and leading the folks in the technical track so a lot of people skills required along with knowledge in the engineering field to help them navigate and find solution.
* Web Frontend Engineer
* Web Backend Engineer
* Full Stack Web Engineer
* Mobile Engineer
* Game/Graphics Development
* Data Engineering
* Machine Learning
Then there are roles in the Software Engineering Industry but are not exactly ‘Software Engineering’ like QA, DevOps. These roles are definitely valuable and no company can survive without them, but they aren’t actively around building Softwares
Describing where an engineer career starts is quite easy. What is not is where they end up. You will be surprise to see software engineers ending up as UI/UX designers as well as solution architects, CTO, etc
Normally, you would start with some internship programs to progress into a Junior Web developer. After a year or two, you will learn quite a lot of the foundation by working on the field (very different reality for the one you lear at school). At this point, you will probably start familiarising with the concept of front-end and back-end and you will start developing a personal preference for one of the two paths. This is were you will probably start refreshing your resume and looking for a more challenging experience in the path of your choice.
After some time in this role you will start realising that software engineering is not just divided between front and back end but there's an entire variety of roles around. By working with different people in your company, you will probably develop interests in some restricted areas and you will probably start learning and using your knowledge to build something until you are ready to start looking for a new role focused on that area of interest.
This is, in a nut shell, the endless loop you're entering when choosing this career. Since there is an endless variety of job roles around this world, you only know where you path begins. Basically, your career will end up at the time you become tired of learning and you prefer to settle down and keep your current role.