Questions about software engineer

Click For Summary

Discussion Overview

The discussion revolves around the relevance of higher-level mathematics in software engineering, the educational pathways to becoming a software engineer, and the application of statistics and probability in the field. Participants explore various aspects of software engineering, including the differences between computer science and software engineering, and the skills required for effective programming.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested
  • Homework-related

Main Points Raised

  • Some participants question whether higher-level mathematics such as stochastics, analysis, and topology is applicable to software engineering.
  • There is a debate about the necessity of a specific software engineering degree versus degrees in computer science or electrical engineering.
  • Some argue that a computer science degree is fundamentally a math degree and may not focus heavily on programming.
  • Participants discuss the importance of understanding algorithms, recursion, and database optimization for effective programming.
  • One participant shares their experience of being a software engineer without a degree, suggesting that while possible, it may require more effort to succeed.
  • The application of statistics and probability in software engineering is noted to be domain-dependent, with some fields requiring more mathematical knowledge than others, such as video game development or scientific computing.
  • Several participants emphasize the importance of practical experience, such as working on open-source projects, to develop programming skills.

Areas of Agreement / Disagreement

Participants express differing views on the necessity of a specific software engineering degree and the role of mathematics in the field. There is no consensus on the extent to which mathematics is utilized in software engineering, as it appears to vary significantly by domain.

Contextual Notes

Some claims about the applicability of mathematics and the requirements for software engineering roles are based on personal experiences and may not reflect universal standards or practices.

kramer733
Messages
322
Reaction score
0
Does higher level mathematics like stochastics, analysis, topology apply to software engineering?

Do software engineers even use statistics/probability?

Can I be a software engineer with a computer science degree?

My friend said to be a software engineer, you need a software engineer degree.

Is there such things as a software engineer phd and masters?

Is software engineering considered an engineering discipline? It's really different from other engineering disciplines.
 
Physics news on Phys.org
Schools may give degrees in computer science (CS), electrical engineering (EE), or sometimes EECS. A degree in CS is really a math degree; it's not highly focused on programming.

kramer733 said:
My friend said to be a software engineer, you need a software engineer degree.
No, that's wrong.

kramer733 said:
Can I be a software engineer with a computer science degree?
Yes.

"Software engineer" is not a well-defined profession with defined professional standards like "civil engineer" or "mechanical engineer." Some people reach very high levels in the profession without any formal education in the field at all, or with degrees in fields like math or physics. However, your chances of getting an interesting job with good pay involving creative work are better if you get a degree in something like CS or EE.
 
How should i go about learning how to be a software engineer? Since CS is basically a math degree, does it teach programming well? I'm kinda confused on how to approach software engineering. I start math/computer science joint major at fall 2011.
 
kramer733 said:
How should i go about learning how to be a software engineer? Since CS is basically a math degree, does it teach programming well? I'm kinda confused on how to approach software engineering. I start math/computer science joint major at fall 2011.

The scope of software engineering and computer science shares common threads, but they focus on different things.

Software engineers look at things like macro design (for example UML diagrams), project management, requirements analysis, and other engineering issues in the context of software design.

As bcrowell said above, CS is a math degree. I would call it an applied math degree because the theory that is taught whether its graphs, algorithms, compiler theory and so on, is used everywhere and is readily applicable in every kind of application.

Programming (at least effective programming) requires a mix of the above two plus any specific domain knowledge. If you have a software engineer design the project at a macro level, programmers are given freedom to design things at the micro level.

Programmers need to not only design and write the micro-level code, but they have to document their code, they need to write it in conjunction with specific standards so that others can read and follow what their code is doing, and on top of this create code that is optimal and flexible in accordance with the design decisions from the architect(s) and lead engineers.

If you want to learn how to program, my advice is to get a few open source projects ranging in complexity and focus of their design in a domain that appeals to you (for example 3D game engines, scientific libraries, math libraries and so on), and look at the code. Then start modifying code or creating your own code for your own code base. It's important that you end up writing unique code of your own and there is no substitute for doing so.

If you do the above, you'll get exposure to different styles, see coding and design that can range from horrible to brilliant, and use actual examples so that you can dive in and get your feet wet early.
 
kramer733 said:
How should i go about learning how to be a software engineer? Since CS is basically a math degree, does it teach programming well? I'm kinda confused on how to approach software engineering. I start math/computer science joint major at fall 2011.

Once you have the foundations, programming becomes a matter of learning the syntax of different languages which you can easily do yourself by picking up a book on the language. The hard part is making a good design (and from my experience the even harder part is getting accurate customer requirements). It comes down to what exactly you plan on doing. If you want to be a developer and eventually team lead then development manager or architect then do software engineering, it will help a lot with the process side of things. If you want to get into things like AI research or use it as a stepping stone into finance or some such then do comp sci / maths.

I was a software engineer with no degree at all (who now is getting out of IT in general but that's another story), however I would not recommend anyone doing it that way as it just meant I had to put in twice as much work to get to where I wanted to be.

Edit: the advice above to get your feet wet is excellent, there is not a faster way to learn to code.
 
Just curious about the other question but how much math do you get to use when you're a software engineer? What field involves programming, skills in computer science and mathematics?

How does probability/statistics apply to software engineering?

thanks for your responses.
 
It depends on what you are working on. I worked in web apps, I can count on zero fingers the number of times I needed to use any remotely challenging mathematics - and that included some quite sizeable projects. To be any good though you do need to have an understanding of how to write efficient algorithms, how and when to use recursion, a rough idea of how databases actually work (for query optimisation) and the such.

I imagine real time systems would be far more challenging where you would have to prove correctness and timing and memory management becomes critical. Or there is scientific computing or areas such as data mining which would require a far greater mathematical understanding.
 
kramer733 said:
Just curious about the other question but how much math do you get to use when you're a software engineer? What field involves programming, skills in computer science and mathematics?

How does probability/statistics apply to software engineering?

thanks for your responses.

It's domain dependent. Video games use a tonne of math: every kind of math you can think bar say the purest forms of math. But this is not the normal kind of application.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 13 ·
Replies
13
Views
6K
  • · Replies 19 ·
Replies
19
Views
5K
  • · Replies 9 ·
Replies
9
Views
2K