_Bata_ :
This year i finish school, i've been wanting to study Software Engineering for some time now, but i wanted to know how much benefit can you get from it. I know it's basically software development but more oriented to the design and maintenance. The thing is that i've been questioning myself what could a software engineer do that a regular guy with no title but with 2 years of coding experience couldn't. I mean do you get anything else? because i currently see it just as enhanced programming. This makes me thing that i could instead study system engineering, since you ALSO get some programming but also other interesting skills too like you work more with hardware (i love hardware) and you can set up servers, intranets and help people in a workspace. The only reason i still go for Software Engineering is because i think it gives me more oportunities, to at some stage of my life be self employed, rather than working for a company. I seriously need some orientation.
There's still some debate in the academic world as to whether or not Software Engineering is in fact an Engineering discipline. In theory, it's supposed to involve applying engineering principles to Computer Science; in practice, it's often treated as a tradecraft akin to Computer Programming but at a university level rather than a community college level.
My degree is in Computer Engineering, which is a specialization of Electrical Engineering that focuses on digital and computational systems.
Legally speaking, a Software Engineering degree from an acredited institution fulfills the legal requirements for obtaining a Professional Engineer designation. Appropriate academic credentials are often required to work on safety critical systems such as those involved in aviation, transport, power generation, medical, and industrial applications. Self-taught "coders" are often prohibited by law from touching these things even under the supervision of a licenced engineer.
If you're interested in hardware and want to talk about microarchitecture, control systems, operating systems, signalling, fabrication, electrical systems, and communication networks look into Computer Engineering.
If you're interested in algorithms and want to talk about O notation, time and space complexity, and computability, look into Computer Science.
If you're interested in system administration and want to spend your days answering stupid end-user questions, remote starting servers, and producing database reports look into Information Technology and/or suicide.
If you're interested in computer hardware and want to spend your days building computers from store-bought components, look elsewhere because this gets very boring very fast and is a complete dead end career wise.
There's a fair bit of overlap between Software Engineering, Computer Enginering, and Computer Science. They are all very academic and lead to a variety of careers. Self-taught coders are at a massive disadvantage compared to anyone with a degree in one of those three fields.