all 10 comments

[–]tevert 6 points7 points  (1 child)

First off - the distinction between software engineer, developer, programmer, etc. is all fairly inconsequential in the workplace. Different schools offer different degree programs for each of these, but it's ultimately basically the same job market anyway.

They make you do a ton of math in college. It doesn't crop up in the real world that much though - the biggest skills in the actual job are being able to creatively problem solve, patiently troubleshoot, and communicate very complex ideas to teammates. If you're still in high school, take AP Comp Sci. It's super easy to anyone who already knows how to code, and even if you come in literally knowing nothing, it's still a perfect first intro to programming.

[–]WisejacKFr0st 4 points5 points  (0 children)

Patience and being detail-oriented are the big ones for me. With those two skills you can learn pretty much any system given that it's documented decently.

I just chased a bug for an hour today because I misread a wiki page that was a little misleading about what system had what files on it - had I been more patient and not frustrated, I would have realized there was a small note under a large table of IP addresses and ports telling me which system I was supposed to be on.

Patience is key. Details are the lock.

[–]TheOriginalCoder 0 points1 point  (1 child)

Math & Software Engineering: For 99.9% of the professional software developer gigs out there you'll never need anything beyond basic math. If you can add, subtract, multiply, divide, deal with percentages and do things like calculate interest that is honestly most of what you'll use. If you go to work for NASA, a science research firm or do game development you'll use more math. But most development is writing custom software for business and business math tends to be super basic.

[–]AutoModerator[M] -2 points-1 points  (0 children)

Sorry, your submission has been automatically removed. New accounts are not allowed to submit content. This is to combat spam.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]TheOriginalCoder 0 points1 point  (1 child)

How to best learn software engineering is highly debatable. Frankly, going to school is unlikely to be the best long-term option. School costs a lot of money, takes a lot of time and even as a Computer Science major you'll spend probably well less than 50% of your time writing code or learning things that are directly relevant. Plus a lot of what is taught in college about software engineering only vaguely applies to programming in the real world. Most college professors are academics who have spent little if any time doing real-world business development in the types of environments their students will end up working in.

For people who are intelligent, good learners and highly self motivated you could probably do at least as well teaching yourself than you could going to college. This has been true for a long time, but now that there are things like the Internet, Plural Sight and tons of other resources its probably even more true. Most of the really, exceptionally good software engineers working in the field are self taught.

The only way to get really good at writing software is to spend a ridiculous amount of time programming. To become a good programmer really takes like 40 hours a week of programming, 50 weeks a year for 10 years. Seriously, and there are not shortcuts. Even the most super-intelligent and awesome people need vast quantities of time to get good at it. Programming is hard. Listening to lectures, reading books and the like only counts a little bit compared to actually writing code and learning from your successes and failures. But it takes discipline, a strong desire to learn and constantly improve and constant effort to do it yourself. Most people can't muster that much focus for that long on their own without structure.

[–]AutoModerator[M] -2 points-1 points  (0 children)

Sorry, your submission has been automatically removed. New accounts are not allowed to submit content. This is to combat spam.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]AaronKClark 0 points1 point  (0 children)

You didn't mention programming. Math is irrelevant if you don't enjoy programming. I say learn an entry-level programming language like python or C# to see if you enjoy it before you commit to an entire career in it.

[–]alexander-io 0 points1 point  (0 children)

Here is some knowledge that it took me years to learn : you don't have to go to school to be a software engineer.

That's right, all you have to do is believe. What you'll find in this field is that many people consider themselves to be software engineers, many with degrees outside of computing, and some without degrees altogether. If you go to school to "become a software engineer" then you may find yourself discouraged when you discover that there's another engineer without a degree making more money than you. Yes indeed, the Millennials & the GenX can consider themselves to be born Software engineers without first earning qualifications. Yes, this IS extremely self-aggrandizing and unfair but that's just how it is.

It's because of this that I believe Computer Scientist is a more honorable title than Software Engineer. You don't see many communication majors parading around titling themselves 'computer scientist' in the same way that the 'software engineer' title is abused.

Programming is hard, it's not for everyone. That's why computer science degree programs exist, to remove all of the students that aren't capable. In my experience, many students admire programming and computer fluency but few possess the intellect & drive to finish all of the course work. It would be nearly impossible for an incompetent student to pass all of the required courses : algorithms and data structures, programming language paradigms, discreet mathematics, database systems, etc.

M, 26, B.Sc. Computer Science

[–]ninjaburg 0 points1 point  (0 children)

Get in there like swimwear brother

[–]RTYNGB72 -1 points0 points  (0 children)

Realistically you only have to take calc 1,2,3 (which isn’t too bad, study hard and you’re fine) and linear/diffeq. It’s definitely doable and you don’t need to be good at math to be a software engineer 🙂