What does a software engineer do?

Given what I am, should I be a computer scientist or software engineer?

  • This question has been bothering me for a while and countless hours of searching on Google have not helped. So, I've turned to Quora to help me. I am caught in a dilemma of what I'd like to be when I grow up. For a while, I wanted to be a software engineer. Then I thought being a computer scientist would be best for me, and now I am stuck. I have been programming for a while, primarily in Java, and I consider myself as fairly competent in that language along with languages such as VB and C++. This is what initially motivated me to be a software engineer. However, I lack knowledge of low-level computer science (if you asked me to build a Linux OS, I would be clueless). This bothers me and I haven't had much time to learn it, and this is steering me away from being a software engineer. However, I also have a lot of joy doing math (competition math in particular). I also immensely enjoy algorithms and algorithmic problem solving. This is why I initially wished to be a computer scientist. However, there are two things that are pushing me away from being a computer scientist. Firstly, I don't want to completely give up on programming. I still like building applications, so giving up on it completely does not seem like a good idea for me. Additionally, my English is bad. In my Language Arts class, I cannot seem to write a good argumentative essay. Yet, I see that computer scientists write research papers frequently. This concerns me. If it helps, I've also been noted as an excellent public speaker by many. I do not know whether or not this is of any importance, but I find myself able to express my ideas well  (although, as I mentioned above, I can't argue very well). I cannot bring myself to a good decision. Is there any middle ground here? (i.e computer scientist who programs a lot or software engineer who works with math and algorithms a lot). Any help would be incredibly appreciated.

  • Answer:

    This is not a decision you have to make. No one is ever going to ask you "are you a computer scientist or a software engineer?" It's not something you're going to write on your resume. Labeling yourself in this way is completely pointless. Learn stuff, do things you enjoy, and take actual decisions one at a time instead of trying to define your whole life right this second. Do you have an actual decision you need to make? Like: "Should I go to grad school or work in industry?" "What company do I want to work at?" "What do I want to major in during college?"

Jonathan Paulson at Quora Visit the source

Was this solution helpful to you?

Other answers

I appreciate your enthusiasm, but it seems to me that you are worrying to much. I seem to understand from your Quora profile that you are still in high school, which means you are at least 4 years away from being in a situation where your decision of being a computer engineer vs a computer scientist is going to matter for what you are going to do next (namely go to graduate school vs start working). You also seem to be overstating the difference between computer engineers and computer scientists. Rest assured that if you are a good enough engineer you will likely face entirely new theoretical problems, and that as a computer scientist you can choose to study a field that will require plenty of engineering work. Take for instance research in networking. While plenty of the work in that domain is done by computer scientists at universities, a significant portion of it (especially research regarding data centers) is done by companies that have an immediate need for it (Google, Facebook and Amazon have actual data centers, while university researchers mostly speculate about them), and many of the people working on these problems at companies are engineers and have an engineering approach to solving them. In any case, you'll have plenty of time to choose and most importantly change back later, for now I would advise you to study computer science at the best school that will accept you until you get a bachelor's, and then you can reconsider what you want to do next. I also wouldn't worry too much about not being able to make it as a computer engineer because you didn't know how to write an OS when you were in high school, I don't think that was the case for many of us either. And your English is pretty decent by the way, you know, plenty of papers written by foreigner contain weird English, and plenty of papers in general contain grammatical mistakes or typos. I'm not saying you shouldn't avoid them, but it isn't that big of a deal.

Adrien Lucas Ecoffet

There are algorithmic software engineers and computer scientists who develop software systems.  And have no doubt: a weak command of written language is no obstacle to being published. Ultimately, you need to develop a specific skillset, and then find someone who's looking for what you do.  Don't worry too much about the label you attach to yourself just yet.

Justin Rising

Just do what you feel like. Pick a major as late as possible, and by the time you absolutely must it'll be obvious. And you can be a software engineer who never uses math or one who uses math every day at extremely high levels, depending on what you're engineering. Relax. Stop thinking these descriptors mean anything. Do what you like at each point and it'll be fine.

Alex Kritchevsky

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.