Is software engineering a fulfilling job?
I'm a sophomore studying computer science at a large 4-year university. I've been doubting my major choice a lot, and whether I will be fulfilled later in life working as a software engineer or at a tech company. I work as a math tutor right now, and I really enjoy helping and interacting with other people a lot. I want to do something that makes me feel good, and I've noticed now a days that helping people is what truly makes me feel good. While I really love math, logic and programming, I worry if it is a field that will truly make me happy and fulfilled. I am interested in maybe pursuing research but that direction is not as clear to me as getting an internship and getting out into the tech industry. #technology #computer #computer-science #engineering #science
13 answers
Mitchell’s Answer
If you're interested in math, logic, and programming as you say, you're already set up for success. A STEM degree is one of the most valuable commodities in today's job market. Perhaps you would find those skills better used in other fields. Robotics, for example, combines software engineering with electrical and mechanical engineering. While software itself remains as this sort of vague conceptual thing, robots move and have weight and are physical, solid things. Maybe that would excite you more. Or maybe software is actually right for you, you just have to find a nice inside it. Maybe you'd like to do simulation research to help with the study of the spread of the next COVID-19. Or perhaps you'd finally get that "oh I love this" moment after you complete your first machine learning project and you realise that you just taught a computer to read your handwriting. There is an unbelievable number of incredible things being done with code. While your for-loops and if statements might seem tedious now, maybe the motivation you need is looking at the big topics that software is addressing. Without the big brains working on custom programs, everything from utilities to medicinal research would be at a standstill.
Find what you love, and you'll do great. Just make sure you're not leaving something potentially inspiring because it's boring in the first half.
Mark’s Answer
Good luck.
Matthew’s Answer
A career also doesn't have to be the one and only thing that gives you satisfaction. I find my job a little narrow and isolating at times, so I spend time volunteer teaching at high schools and helping students where I can. One of the advantages of the tech industry is that you typically have flexible hours and are paid well, so you can afford to spend a lot of your time helping others. When you've had a rough day at work, nothing buoys your spirits back up quite like spending your evening helping a student learn something new.
Rohit’s Answer
Everything each programmer develops contributes to the existence of technology that improves people's life. Sure, maybe my contribuition is very small in this world, but it's still part of it.
"My life amounts to no more than one drop in a limitless ocean. Yet what is any ocean, but a multitude of drops?” - Cloud Atlas
Also, programming can actually be very creative. It is about how creative we can get when figuring out solutions when facing different situations with limiting sets of tools. Sometimes tricky problems can be frustrating, but the happiness when solving them is immense. Being able to share the victories (sometimes humorous) is also very satisfying.
And can we imagine the potential changes and improvements we can do with technology? Being a programmer means being able to build things where one's creativity is the limit.
Hui’s Answer
The question you are asking is indeed hard to answer as it will depend on you. However, I would advise finding the internship or job shadow someone to see whether what they do interests you or not. As long as your curious, no matter what you study you'll continue to search for things you want to learn. Let me assure you that besides finding a job fulfilling, it should also have factors of 1) are you working along with your strengths (including ones you stated already) 2) are you passionate about it (which is the toughest part because some don't find it) and 3) is the job valued by the society or is there a market for it. Speak to your career services and professors to explore options available to you.
If you want to do research or advance in your study, your professors in your department are a great option to start with gathering ideas. With this said, I sense you are interested in teaching and if that's the case then continue your education if you can afford it. If not, work for a year or two to gather experience and then go back to school. It'll always be there for those who want to learn. A topic of research you can look into is machine learning (supervised vs unsupervised).
The worst thing you can do it not do anything about it. So look around and I hope this is helpful for you.
-Wei
Melinda’s Answer
In your question, you mentioned " I really enjoy helping and interacting with other people a lot." One thing to consider is that as you progress in your career, you may have chances (or make chances for yourself) to branch out in other ways that you might not think of initially - for example, getting into project management or people management. In many larger companies, you may start out in a technical position, but as you go up the ladder, there are opportunities to move into more management-type roles rather than staying in the trenches coding all day.
I am now a business analyst, and I still get a chance to think technically and to code a few things here and there, but I spend a lot of my time coordinating work with offshore resources, meeting with end users on business requirements, and figuring out how to get things done. I didn't have this job in mind while I was in school (master's in EE/Computer Engineering focus) but enjoy it now that I'm here.
Catherine’s Answer
When programming you usually work closely with a small team. I've had the opportunity to mentor and teach less experienced software engineers and help them move forward in their career. I've also spent part of my career working as an engineering manager, and closely working with my team to help them develop their career. About half of my day is involved directly interacting with one or more people, either solving a problem together or planning future work. Sometimes, I even have the opportunity to speak with clients and get feedback on our product. The stereotype that programmers never interact with other people has not been true in my experience.
Additionally, software engineering has given me a flexible work schedule and a good work-life balance, so I've been able to pursue a number of volunteer opportunities that interest me.
So, although I don't directly help as many people as I did as a teacher, I still feel that I help others every day in my job, and have time outside of my job to do that. And I am fulfilled in other ways through software engineering. Programming allows me to continue learning every single day, which is something that I find very fulfilling.
Adrian’s Answer
Craig’s Answer
Nadia’s Answer
In my company, it's possible and - what's more important - recommended to take part in additional projects and initiatives. Besides being engineers, my colleagues led technical sessions for non-technical people, so they teach them how to code, cooperate with universities, high schools or even grad schools to encourage youngsters to work in IT and many others. It's also possible to choose your own way to contribute to society, as we have 5 extra days off to support charity.
My point is that becoming an engineer doesn't mean that you need to give up other aspects. Give yourself time, but in parallel, develop your other interests such as teaching and helping others.
Your question reminds me about one of the You Tube coding teachers, whose career interests sound similar to yours: https://www.youtube.com/watch?v=8TnBZ8rom9c
Tanya’s Answer
Like Matthew already mentioned, having doubts about your major/future career is so normal. I can't tell you how many times I've had them while studying computer science in college and during my jobs as well!
Similarly to you, I also enjoy helping and working with others. A CS elective I took in college that I really enjoyed is Human Computer Interactions (HCI). I think this might be a good research topic for you to look into since you seem to be interested in learning more about the intersection of technology and humans. HCI studies the design and use of computer technology, while focused on the relationship and interfaces between people and computers.
You'll find that as you take more higher-level classes throughout your junior and senior year, you can choose electives that are interesting to you. Pay attention to those topics and see how they can align to a future job, company, or industry that will be fulfilling for you!
Outside of school, what helped me realized that I could find software engineering fulfilling was gaining different types of industry experience and being in one that excites me! Having a variety of experiences from working on different teams and products as well as different industries (ie. eCommerce, games, education, healthcare, space, etc.) can help you figure out and narrow down where your interests lie within the field of technology. On the side throughout college and my jobs, I have always really enjoy mentoring CS students and participating/volunteering with organizations for womxn in STEAM. Working directly with and helping students makes me feel especially fulfilled!
Naina’s Answer
According to me fulfilling job is where you really enjoy what you do day to day and connect with the job that you are doing.
If you like problem solving, interacting with people, coming up with new ideas, then software programming is definitely the area for you.
Software programming is fun because you can be creative and do effective problem solving together. When you build your code together and deploy those solutions, its really good to see those solutions being used by people and making an impact to them. And as you have mentioned that you like Mathemeatics, logic and programming , you will definitely relate to programming.
Also since you like interacting with people, IT is a great place to communicate and collaborate with people, suggest ideas and learn from them.
While only you can understand and figure out if this is the correct field for you, these few things about Software programming may help you to decide that.
Good Luck !!
Michael’s Answer
I think one of the advantages to working in software is that your work can be deployed to thousands to millions of people. Something as simple as a to-do app can make many peoples' lives a little less chaotic.
However, you won't always get the fulfillment of seeing your work in action. For example, it is likely that most people that use your software are people that you will never meet or hear from.
If you share a similar definition to a fulfilling job, it may be helpful to research tech companies that have a meaningful mission... Or look at the apps/websites you use on a daily basis and look into the companies that develop them. Would working on the apps/websites you use daily be fulfilling to you? An alternative would be to look into tech non-profits that hire software engineers and see if you are interested in the problems that they are tackling.