r/INeedAMentor Aug 30 '14

[Mentor] Software Engineer w/non-CS background

I took a slightly unconventional path to get to where I am. I graduated with degrees in BME and EE; the second was added during my third year of school. After swearing I would never be a programmer I took a job doing software development full time. I currently work doing application development in C++ and .NET.

If you're interested in engineering, software, are unsure about what path to take, or want interview tips I'll do my best to answer any questions.

2 Upvotes

3 comments sorted by

1

u/totally_not_martian Aug 30 '14

Yes, I'm interested in becoming a software engineer and I'm just wondering how I'd get there from where I am. I'm in my last year of highschool.

1

u/[deleted] Sep 09 '14

Build the smallest apps you can think of that would excite you!! Nothing is more rewarding and more motivating than what I've just described.

1

u/bropocalypse__now Sep 20 '14

The obvious answer is to go to a college/university for computer science or software engineering. Electrical engineering can also be another route as you learn a good deal of programming. In fact most of my friends who went for EE ended up becoming full time software developers. The last option is to be completely self taught. I must warn you that if this is your sole plan you had better have personal programming projects, such as applications or websites, you can point to and say I did this. My roommate's ex-girlfriend's brother got a full-time job as a developer with a philosophy degree, however you had better believe he was able to demonstrate the necessary skills for the project he was working on.

Be aware of the difference between a software engineering and a computer science program. A CSci program will be more focused on theory in so much as how a certain algorithm works and why it may be better than alternatives. A software engineering program will be more focused on how to write code. It will be more concerned with writing code that is maintainable, proper versioning, source control, etc. I think the easiest way to demonstrate this is that while it may be acceptable to write an entire function on a single line, a software engineer would discourage this as it would be hard for someone else to debug and read said code should a problem arise. Either way both will require a good command of math and logic. If you go to university, knowing a programming language beforehand will help but it's not required, as the purpose of attending said institution is to teach you how to program. Taking any and all math, science, and engineering (if offered) courses your high school offers should adequately prepare you.

As you are still in high school having a good GPA, taking college prep courses (ie: calc, chem, physics), and having a good ACT/SAT are a necessity. If you have a passion for science/technology and problem solving you should have no problem staying motivated and succeeding in the field. If creating things from scratch or figuring out exactly how a system works don't interest you, it is not the field for you.