Join us now. It is free, and it takes less than 1 minute to register.
Register now
Subscribe to our daily newsletter. It is free, and it comes with many benefits.


+ Reply to Thread
Results 1 to 15 of 15

Thread: "Software Engineering" - how exclusive is the term?

  1. #1

    Default "Software Engineering" - how exclusive is the term?

    Ever since PlayStation 1, I've loved computers. I took IT in high school and for a long time I considered doing a BSc in Computer Science. I considered various degrees, and by the time I had to apply, I chose Electric and Electronic Engineering at Stellenbosch University.

    Halfway into my first year, I realized that the degree wasn't all that focused on computers or programming, and that I would dread looking at OP Amps and capacitors for 4 years. I hated (and still hate) mechanics, chemistry was a drag and civil engineering looked very boring (no offense to anyone); so I went with my gut and I am now studying Industrial Engineering. If you're uncertain what that means, the wikipedia page is quite decent: https://en.wikipedia.org/wiki/Industrial_engineering

    I love the degree thus far - it's extremely versatile, I am exposed to various types of systems and the market is looking quite decent. Despite acquiring a skill-set that is mostly focused on operational efficiency, production, cost-efficiency and business modelling, my love for computers and software still remains. Unfortunately, that's not something we do too much of.

    The job market for "software engineering" and "computer engineering" is looking very good, but those terms are extremely ambiguous. A guy with a computer science degree could practice either, despite not having done kinematics, circuit analysis or energy systems, and that comforts me. I am still leaning towards software development, simply with an undertone of management/operations.

    I could try to "pick it up", but I want to append my studies to form a hybrid. I am considering taking a year after my BEng degree and doing just the computer science modules, or doing my masters in something computer related (our post graduate options are very open-ended).

    What would you guys suggest I do? Do I jump headfirst into the market and try to find a job as a developer / business analyst for software development, do I append my studies with computer science or do I try to bridge the gap with a masters?

    TIA! (this is my first thread, sorry if it's in the wrong area or something)

  2. #2
    Super Grandmaster Johnatan56's Avatar
    Join Date
    Aug 2013
    Location
    Cape Town
    Posts
    17,271

    Default

    Might be an interesting read for you: https://www.computersciencedegreehub...-and-software/

    I can give advice in regards to business analyst, would not recommend going straight for that, you'll need to gather some experience first.

    In regards to the terminology, do be careful as companies love throwing buzz words around, so research the position as well.

    In regards to do doing post grad or job, that's really up to you. Others can give better advice than I. Personally I went with continuing studies (currently doing that).
    @cguy
    Quote Originally Posted by ChocolateBadger View Post
    Welcome to life. It's your life. Do what you want.
    http://beta.speedtest.net/result/6723240596
    http://www.speedtest.net/result/6964814583

  3. #3
    Super Grandmaster konfab's Avatar
    Join Date
    Jun 2008
    Location
    Watership Down
    Posts
    14,647

    Default

    Quote Originally Posted by DanGrobs View Post
    Ever since PlayStation 1, I've loved computers. I took IT in high school and for a long time I considered doing a BSc in Computer Science. I considered various degrees, and by the time I had to apply, I chose Electric and Electronic Engineering at Stellenbosch University.

    Halfway into my first year, I realized that the degree wasn't all that focused on computers or programming, and that I would dread looking at OP Amps and capacitors for 4 years. I hated (and still hate) mechanics, chemistry was a drag and civil engineering looked very boring (no offense to anyone); so I went with my gut and I am now studying Industrial Engineering. If you're uncertain what that means, the wikipedia page is quite decent: https://en.wikipedia.org/wiki/Industrial_engineering
    You dun goofed. E&E at Stellenbosch gets a lot more computer oriented than OP Amps and capacitors. You actually learn how computers do their work, then you end up doing a bunch of low level programming on micro controllers. In parallel to that, you do high level stuff in machine learning.

    Your best bet would be to try and do a masters that sits around software development. That is a better indication of your capacity to do useful work than a bunch of courses.

  4. #4

    Default

    The term is generic. Not exclusive at all.

  5. #5

    Default

    I suggest doing a masters degree, and choosing something that involves a lot of computer programming. From the CS perspective, someone with an engineering degree will probably do just fine by thoroughly reading a few books (algorithms, data structures, object oriented programming, software engineering methodology).

    "Software Engineer" is pretty much used interchangeably with "programmer", "developer", "software developer", etc. I've never heard of anyone using the term "Computer Engineer", and I worked in the semiconductor industry for many years ("software engineers" for those who write drivers/firmware and "hardware engineers" or "hardware/chip architects" for those focused on Verilog/VHDL/RTL/etc.). If you become a solid programmer, no one is going to look at you funny for calling yourself a "software engineer".

  6. #6
    Super Grandmaster Kosmik's Avatar
    Join Date
    Sep 2007
    Location
    In the valley
    Posts
    16,209

    Default

    Titles are the least important item when it comes to development. It's all about what you can do and it's one of the few industries where workers can actually out earn managers or higher depending.
    Neo-Luddite - Permanent Darwin award candidates

  7. #7

    Default

    Don't rely on your degree to define your career path. It might get your foot in the door, and maybe even get you your first job, but after that it's all on you.

    I'm not sure why anyone would want to study an engineering degree to become a document monkey. Business Analysts rarely become developers. You may as well just start off as a developer.

    Also software engineering is an overused term these days. Rarely is it actual software engineering. If you want to get into development, and stay in development, you should tend towards the software architecture path...
    ಠ_ಠ
    <|>
    /ω\

  8. #8

    Default

    Quote Originally Posted by DanGrobs View Post
    Ever since PlayStation 1, I've loved computers. I took IT in high school and for a long time I considered doing a BSc in Computer Science. I considered various degrees, and by the time I had to apply, I chose Electric and Electronic Engineering at Stellenbosch University.

    Halfway into my first year, I realized that the degree wasn't all that focused on computers or programming, and that I would dread looking at OP Amps and capacitors for 4 years. I hated (and still hate) mechanics, chemistry was a drag and civil engineering looked very boring (no offense to anyone); so I went with my gut and I am now studying Industrial Engineering. If you're uncertain what that means, the wikipedia page is quite decent: https://en.wikipedia.org/wiki/Industrial_engineering

    I love the degree thus far - it's extremely versatile, I am exposed to various types of systems and the market is looking quite decent. Despite acquiring a skill-set that is mostly focused on operational efficiency, production, cost-efficiency and business modelling, my love for computers and software still remains. Unfortunately, that's not something we do too much of.

    The job market for "software engineering" and "computer engineering" is looking very good, but those terms are extremely ambiguous. A guy with a computer science degree could practice either, despite not having done kinematics, circuit analysis or energy systems, and that comforts me. I am still leaning towards software development, simply with an undertone of management/operations.

    I could try to "pick it up", but I want to append my studies to form a hybrid. I am considering taking a year after my BEng degree and doing just the computer science modules, or doing my masters in something computer related (our post graduate options are very open-ended).

    What would you guys suggest I do? Do I jump headfirst into the market and try to find a job as a developer / business analyst for software development, do I append my studies with computer science or do I try to bridge the gap with a masters?

    TIA! (this is my first thread, sorry if it's in the wrong area or something)
    Agree with Konfab here.

    This degree would have lead to the stuff all other programs are made of. You would have been able to program processors and chips at the most fundamental level. Once you have a grasp on those concepts, you would have picked up all the other programming languages like a fish takes to water.
    Early on you're going to learn about all kinds of crap you don't need, but the one of the things I've learned in my 20 years of work is that any knowledge is good knowledge. I sometimes find the weirdest things being applicable to what I am trying to solve.

    Had an E&E friend at Stellies who is now doing robotics & programming as a very satisfying/lucrative career.

    The way the world is going into automation, you need to be on the creative side of things and not the fixing side of things. Eventually Machine learning is going to be able to self diagnose and fix itself.
    [CHKNHD] Precognition with lag
    "A wise man makes his own decisions, an ignorant man will follow public opinion"

  9. #9
    Super Grandmaster Kosmik's Avatar
    Join Date
    Sep 2007
    Location
    In the valley
    Posts
    16,209

    Default

    Quote Originally Posted by DMNknight View Post
    Agree with Konfab here.

    This degree would have lead to the stuff all other programs are made of. You would have been able to program processors and chips at the most fundamental level. Once you have a grasp on those concepts, you would have picked up all the other programming languages like a fish takes to water.
    Early on you're going to learn about all kinds of crap you don't need, but the one of the things I've learned in my 20 years of work is that any knowledge is good knowledge. I sometimes find the weirdest things being applicable to what I am trying to solve.

    Had an E&E friend at Stellies who is now doing robotics & programming as a very satisfying/lucrative career.

    The way the world is going into automation, you need to be on the creative side of things and not the fixing side of things. Eventually Machine learning is going to be able to self diagnose and fix itself.
    I studied ElecEng comsci, and what you say is true, you get a very good grasp of fundamentals from micro processor and assembly to higher code and machine learning. I also didn't enjoy some of the parts of it but thats the nature of studies ( not to mention that was over twenty years ago so a LOT of changes since then in the fields ).

    But, in short, study is a foot in the door. 99% of folks I know actually don't do what they studied, most have evolved and branched off, IT is a MASSIVE field with many many disciplines, a lot of which never touch universities. Thats why I firmly believe tertiary needs to provide solid fundamentals and teach logic, so that YOU can apply it to whatever field, language or creed you get into.
    Neo-Luddite - Permanent Darwin award candidates

  10. #10

    Default

    Quote Originally Posted by cguy View Post
    "Software Engineer" is pretty much used interchangeably with "programmer", "developer", "software developer", etc. I've never heard of anyone using the term "Computer Engineer", and I worked in the semiconductor industry for many years ("software engineers" for those who write drivers/firmware and "hardware engineers" or "hardware/chip architects" for those focused on Verilog/VHDL/RTL/etc.). If you become a solid programmer, no one is going to look at you funny for calling yourself a "software engineer".
    It's unfortunate that these are often used interchangeably, but there is generally a subtle difference:

    Programmer:
    Professional who writes code based on specifications and designs typically prepared by a Systems Analyst

    Developer:
    Also writes code, but also designs, architects and documents solutions.
    The move from Programmers to Developers has largely been driven by larger, more complex development frameworks. Systems Analysts don't know the best way to design systems for all frameworks or what features may be available so the Developer plays a Programmer and Systems Analyst role by designing the best solution for the development framework. They are usually specialists in a particular framework / stack.

    Software Engineer:
    This role has the most varied connotations. It is largely described as bringing engineering disciplines to software development. In some countries, you would be required to have an engineering degree in order to be called a Software Engineer and in those cases, that would be the defining characteristic between Developer and Engineer.

    Outside of those countries, Software Engineer is typically a wider role than a developer. It is often used to describe a Developer that works across multiple frameworks / technology stacks, but there are also a lot of roles where the engineer doesn't write regular code. They are often responsible for ensuring software runs efficiently or designing complete solutions across multiple technology stacks.

  11. #11

    Default

    Quote Originally Posted by me_ View Post
    It's unfortunate that these are often used interchangeably, but there is generally a subtle difference:

    Programmer:
    Professional who writes code based on specifications and designs typically prepared by a Systems Analyst

    Developer:
    Also writes code, but also designs, architects and documents solutions.
    The move from Programmers to Developers has largely been driven by larger, more complex development frameworks. Systems Analysts don't know the best way to design systems for all frameworks or what features may be available so the Developer plays a Programmer and Systems Analyst role by designing the best solution for the development framework. They are usually specialists in a particular framework / stack.

    Software Engineer:
    This role has the most varied connotations. It is largely described as bringing engineering disciplines to software development. In some countries, you would be required to have an engineering degree in order to be called a Software Engineer and in those cases, that would be the defining characteristic between Developer and Engineer.

    Outside of those countries, Software Engineer is typically a wider role than a developer. It is often used to describe a Developer that works across multiple frameworks / technology stacks, but there are also a lot of roles where the engineer doesn't write regular code. They are often responsible for ensuring software runs efficiently or designing complete solutions across multiple technology stacks.
    In my 20 years experience across multiple countries, I have yet to hear anyone actually make the distinction in real life. Even the behemoth tech companies I've worked for only hire for one software role "<prefix> Software Engineer", regardless of level or type of software work. It would also be very hard to say that anyone who "programs" or "develops" code has "doesn't need to use engineering principles" as part of their (implied) job description. In my opinion, drawing distinctions between the three sounds pretty pretentious.

  12. #12

    Default

    I might have been misunderstood with regard to my perception of our Electric and Electronic Engineering degree. I chose to change not because the degree lacked depth, cohesion or applicability, but because a large portion of the work (systems and signals, energy systems, electromagnetics) does not appeal to me at all. I lack background/insight to comment on whether or not the degree is a good career choice, although I hear it's brilliant.

    Industrial Engineering equips me with a unique set of skills, and I am glad to hear konfab and cguy suggest I build towards a masters. Doing a year of Computer Science will certainly be very interesting, but I would like to stick to my strengths and remain in the Industrial/Systems Engineering framework. I suppose it does not make too much sense to start a parallel degree with no assurance that the two will meet.

    I am simply worried that my aptitude and love for programming might not be too relevant in my career one day. I think there is a market for Industrial Engineering software and I'd be thrilled if I can end up in that field. I suppose you guys are right - I should do a masters that leans towards software.

    Thanks for the help!

  13. #13

    Default

    I got a degree in Electronic and Computer engineering, but haven't worked a single day in that field. I went straight into software development/engineering. To get the title software engineer, you only need to work at a company that calls their developers engineers. No degree or any tertiary qualification required.
    I don't know about industrial engineering, but it seems that software engineers find work much more easily than mechanical/electrical/electronic and chemical engineers at the moment. (using a sample size of 1 of each)

  14. #14

    Default

    I would suggest a masters in IE, but get something that focus on the Operations Research/CompSci side of things. I work for a dev house specialising in optimisation software and we have more Engineers working as developers than Compsci graduates.

  15. #15
    Master
    Join Date
    Feb 2010
    Location
    Primrose,Germiston
    Posts
    599

    Default

    So I work for a corporate company as a software developer. I studied Computer Science and many of my co-workers studied industrial, electrical and mechanical engineering.

    If you look at some of the IT grad programs (banks,etc) online you will see that many of them take graduates from a variety of streams including Industrial Engineering.

    Point being that the degree gets you in, you choose the path way. Also don't worry about titles, they vary so much depending on company to company. Rather see what the job entails.

    With regards to courses/learning pick up some free coding courses online or do an MSC in CS if you feel you want more with regards to formal education.
    Last edited by Tremayne; 17-04-2018 at 10:57 PM.

+ Reply to Thread

Similar Threads

  1. Replies: 40
    Last Post: 13-07-2017, 04:17 PM
  2. Replies: 22
    Last Post: 08-01-2016, 12:03 AM
  3. Replies: 12
    Last Post: 06-02-2015, 05:24 PM
  4. Replies: 12
    Last Post: 06-02-2015, 05:24 PM
  5. Misuse of "Proudly South African" term
    By Voicy in forum Off Topic
    Replies: 15
    Last Post: 05-08-2009, 03:55 PM

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •