Software Development Career Advice? *clueless*

Hello!
I’m a senior in high school looking at colleges. Up until recently, I was dead set on Mechanical Engineering. I started looking more and more into it, and I realized that it was very likely I would not find a job I love, or even like. I started looking into careers, and I am now very interested in Software Development. In school, I excel and have a particular love for math, science and art. It seems as though this career is the best (most wide ranging) of tech jobs.

-Does anyone have advice on what kind of people would or wouldn’t like a career in Software Development?
-Is it entirely coding? If not, what else does it involve?
-How is Software Development different from Software Engineering?
-Which major is best for getting a career in Software Development? I guess I have a love for Engineering and I just feel that Computer Engineering provides the most rigorous study. Would you agree?
-Am I better off studying Computer Science?
-Or maybe Software Development?
-What would be a good minor or second major that could be useful?
-Would any kind of design degree help?

I do not know much about this at all so please explain the basics. I appreciate any help VERY much!

Software development and software engineering are often used interchangeably to describe jobs, though some will want to adhere to stricter definitions and distinctions.

For most practical purposes, a bachelor’s degree in computer science or equivalent self-education and experience is the usual educational background to enter jobs of that type. A few schools offer a software engineering major which is similar to the computer science major, but has some additional software engineering methodology courses, but it is not necessary to choose such a major (though it is desirable to take a software engineering or project course while studying computer science).

Additional electives (or minor or major) outside of computer science depend on your interests, including what applications of computing you are interested in. Applications of computing span many academic areas, so almost anything else can be useful alongside the study of computer science.

I work with software developers at a company known for software, but I am not a developer myself.

  1. People who are creative, detail-oriented, and analytical might like software development. You have to be able to see projects through long lifecycles, as development can take several years. Detail-oriented because minor problems or setbacks can break the entire program. Good software developers are, in my mind, people-oriented. I know that goes contrary to the stereotype of a software developer, but think about the best software companies: they create software that fills some kind of need or want for people. You have to understand what users want to do - want to fill some kind of void. You also have to work on teams, sometimes very frequently and quickly. Agile teams are the new trend in software development - teams that iterate rapidly and so they sit in open floor plan offices and communicate regularly and meet every day or every other day. Someone who handles stress well is good, because - particularly when you’re close to the release date of a piece of software - there can be long hours and a lot of pressure.

  2. No, it’s not entirely coding. In fact, at some companies, the developers don’t do that much of the coding themselves - they direct the programmers who do that. Software developers plan the entire piece of software from beginning to end. You design the program - its functions, its features, what it should do, how it should look, how it should work. Then you would work on the code or direct the programmers at your company to write the code. You’d iterate on the code, testing out new builds - with testers, and perhaps with users when you get to that point. You’d work with some UX/UI designers and usability/UX researchers to fine-tune it and make sure your users can use it. And after the project’s released, you might perform upgrades, make patches, and provide maintenance support.

More details [url=<a href=“http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm#tab-2%5Dhere%5B/url”>http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm#tab-2]here[/url].

  1. Depends on who you talk to. Some people say the difference is that software engineers apply engineering principles to software development. Some people say nothing. [url=<a href=“http://chrislema.com/programmer-developer-engineer/%5DHere’s%5B/url”>http://chrislema.com/programmer-developer-engineer/]Here’s[/url] one take on the differences between a programmer, a developer, and an engineer, although it’s not the definitive answer.

  2. Eh. Computer science is the traditional choice, or computer engineering. A lot of software developers also major in electrical engineering. I presume you could probably transition from mechanical or industrial engineering, too, with the right coursework. And some colleges actually have a major in software engineering, so that would work too. Which one provides the most rigorous study depends on the college and the majors.

5 & 6) Not necessarily. Most colleges don’t have a software development major.

  1. Math, maybe. But not necessarily anything.

  2. Mmm, not really. UI design is really a different profession. Of course, software developers do have to keep aspects of design in mind, so having some coursework in or knowledge of good usability/UI design is always a plus. But at most companies the software developers are not doing the design for the products; there are separate UI designers who do that.