Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

What exactly is 'Software Engineering'?

Options
  • 21-08-2011 10:31pm
    #1
    Closed Accounts Posts: 40


    Is it the same as Computer Science/ programming, or is it a branch of Computer Engineering? Also, what's the difference between (a) a programmer, (b) a software developer and (c) a software engineer?


«134

Comments

  • Registered Users Posts: 1,686 ✭✭✭RealistSpy


    ITguy2 wrote: »
    Is it the same as Computer Science/ programming, or is it a branch of Computer Engineering? Also, what's the difference between (a) a programmer, (b) a software developer and (c) a software engineer?

    They're all the same.
    Software Development sound more fancy that Programmer etc


  • Registered Users Posts: 33 frezzabelle


    While they are pretty much the same thing CS is a bit more low level. For example I think CS students look at compilers, where as I did a software engineering course and we didn't study them at any length(we just used them).


  • Closed Accounts Posts: 18,163 ✭✭✭✭Liam Byrne


    RealistSpy wrote: »
    They're all the same.

    Nowhere near the truth.

    A software engineer is the equivalent of an architect, while a programmer is the equivalent of the blocklayer.


  • Registered Users Posts: 5,015 ✭✭✭Ludo


    Liam Byrne wrote: »
    Nowhere near the truth.

    A software engineer is the equivalent of an architect, while a programmer is the equivalent of the blocklayer.

    I was wondering who would come out with this first.

    All the terms are pretty interchangeable in reality and different companies use different terminology so a developer may be an engineer or an architect in a different company even though they do the exact same job. All "developers" do software design work routinely as part of their work and the more experience they get, the higher level of design they do. So even the lowest "blocklayer" who designs his own small module would be the equivalent of a junior engineer maybe.
    At what point do they change from being a programmer, to being an engineer, to being an architect??? Well it is completely arbitrary and sometimes HR departments will use a title change like this in place of a pay bump for the hell of it. There are loads of articles on the web about this.
    It is not like there are distinct points or qualifications where you change from being one to the other so just because someone says they are a software engineer rather than a developer means nothing in reality...to me it is all about experience.


  • Registered Users Posts: 14,298 ✭✭✭✭SteelyDanJalapeno


    can of worms!


  • Advertisement
  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    It's been debated ever since the 1970s. The idea is that software engineering is like other branches of engineering - but as to whether or not we understand the area enough to say it's moved from art/R&D to day-to-day predictable engineering, well very few people agree on that. Some think we'll never have the process of writing software well understood enough to take it from a somewhat black art to a well-understood engineering process.

    On the other hand, if you look at the early histories of civil and mechanical and electrical engineering, you don't exactly find boring, staid, ISO9000-driven histories.

    Personally, I think we're at the same historical level with software engineering right now that electrical engineering was at at the time of Nikola Tesla, and with many of the same things going on - the first degree courses starting up and some of the big names in the field coming up from them, the other big names in the field have coming in from outside without those degrees, everything being reinvented every other year or month, lots of conflicting theories as to how to do things, some stuff nailed down but most not, and while it was obvious it was going to be very important to society, noone had yet figured out how central it would be, and nobody was regulating much despite massive failed projects (and quite a few deaths resulting from them, as it turned out).

    Give us another generation or two and we'll start to see the field get more and more nailed down as the general public realises how much it depends on software and we realise how little tolerance the general public has for the "this is an art" argument when bad software failures can kill you, or even worse, lead to your bank account being drained or your car not starting on a wet monday morning.


  • Registered Users Posts: 1,922 ✭✭✭fergalr


    I disagree with most of what has been said on this thread.

    ITguy2 wrote: »
    What exactly is 'software engineering'. Is it the same as Computer Science/ programming, or is it a branch of Computer Engineering? Also, what's the difference between (a) a programmer, (b) a software developer and (c) a software engineer?

    First off, I think "Computer Science/programming" is wrong - they are two separate things.

    "Computer Science" is a bad term. Its not about the physical artefacts that are computers, and its largely not a science. Something like "Computation Mathematics" might be better.
    Its about algorithms, and questions about properties of types of computational patterns. So, things like sorting algorithms, or an analysis of the insert time of a red-black-tree, or proving that a procedure always terminates under certain conditions; that sort of thing is "computer science".


    Many computer scientists spend a lot of their time programming.
    Programming is pretty broad, but its about expressing exactly what you want the computer to do, typically to a computer; capturing intention, in some form.

    Some people say that the act of programming covers a very broad set of things, including things like talking to, say, the customer, to make sure the right intentions are captured, and managing ones time and maybe even human processes, in order to make sure the correct code gets written.
    Other people define programming to be just what you do in your editor, and say that all the rest is described as "software development".

    Clearly, there is a lot of "software development" that is not programming; some may even be done by people who don't know how to program, and much by those who no longer program regularly.
    You can think of it as all the tasks around the software, that support the right software getting written. (There'll usually be lots of other stuff in a business, which the software is written *for*, like sales and marketing; they wouldn't be considered software development, even in a software company).
    A software developer is someone who does these things.
    Usually, it refers to someone who is able to program, or programs; but it might also refer to systems architects, who lay things out, or maybe even to UI designers, although this is usually considered a separate function.


    Finally, it turns out that software development is actually quite hard.
    There is a lot that can go wrong. A lot of projects fail.
    We want to do a lot, with not a huge amount of resources.
    People are trying to figure out better ways of doing these things, and applying scientific principles, and knowledge on things like project management, specification, design etc. to try and make software development happen better.
    The name often used for this rough, young, and arguably a bit confused discipline is "software engineering".



    That's what I think the different things mean.

    In practice lots of people use different terms interchangeably.

    If someone says
    "I'm a Computer Scientist/Software Developer/Software Engineer!" it really tells me very little.
    If I want to know what they do, I have to ask more questions.

    Like "What sort of stuff do you do?".


    I think I've been all 3. At the moment, I reckon I'm closest to a computer scientist; in a couple of months time, it might be different!


  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    ITguy2 wrote: »
    Also, what's the difference between (a) a programmer, (b) a software developer and (c) a software engineer?

    It is quite ambiguous. But to me, a software engineer could apply to roles you might not consider in developer/programmer. Such as a tester or architect. A software engineer might re-engineer or analyse a program (such as a legacy program). They might use profiling to analyse performance. Maybe look at scaling a system, etc. Even things like product/library evaluation, benchmarking/stress testing, etc.

    It's about applying engineering like processes, and producing quantifiable results.

    Saying that, many of these kind of tasks might be done under the title of programmer or developer.


  • Registered Users Posts: 2,395 ✭✭✭AntiVirus


    A Software Engineer is invloved in all parts of the software life cycle, from start fo finish.

    A Software Developer may be employed to help design and test your system. He would also look after the programmers and delegate different jobs for them.

    A Programmer may be employed to code part of the software, this could be writing a sets of functions that may be needed for different parts of the system. He just needs to know what you want him to do, he doesn't even need to know what the project is.


  • Registered Users Posts: 5,015 ✭✭✭Ludo


    AntiVirus wrote: »
    A Software Engineer is invloved in all parts of the software life cycle, from start fo finish.

    A Software Developer may be employed to help design and test your system. He would also look after the programmers and delegate different jobs for them.

    A Programmer may be employed to code part of the software, this could be writing a sets of functions that may be needed for different parts of the system. He just needs to know what you want him to do, he doesn't even need to know what the project is.

    I agree with the first sentence, but the next 2 are really out there. Never in all my years working in "development" in plenty of companies have I heard those descriptions. And neither would I ever want to work somewhere that would actually adhere to them either.


  • Advertisement
  • Registered Users Posts: 2,395 ✭✭✭AntiVirus


    Ludo wrote: »
    I agree with the first sentence, but the next 2 are really out there. Never in all my years working in development in plenty of companies have I heard those descriptions.

    Thats why both of those 2 have "may be" written in them, as they're there as an example. You wouldn't have it switched around.
    Ludo wrote: »
    And neither would I ever want to work somewhere that would actually adhere to them either.

    That's just rubbish! You do what you're hired to do, if thats to test software thats what you do, if its to write a software library thats what you do, if it's to support software thats what you do.


  • Registered Users Posts: 5,015 ✭✭✭Ludo


    AntiVirus wrote: »
    That's just rubbish! You do what you're hired to do, if thats to test software thats what you do, if its to write a software library thats what you do, if it's to support software thats what you do.

    But if you are testing you are a software tester/test engineer. I have never heard of a tester referred to as a developer in any shape or form before. An analyst may be a more common term for what you describe (design and test).

    And even someone who is writing software libraries will know things about the "system" (as you put it) they are developing for. The number of people developing in that kind of isolation would be very small I imagine in the grand scheme of things.

    As for a developer delegating jobs to programmers...wouldn't that be a lead engineer or a tech/team lead or some other term like that. I can see why the role you describe could be called a developer but I have never seen it called that before.

    This shows how meaningless these terms are in reality. While I think we can all agree on the difference with computer science, the other terms are all interchangeable depending on where you work essentially no matter what people think or want them to mean.


  • Moderators, Society & Culture Moderators Posts: 9,713 Mod ✭✭✭✭Manach


    My own experience is the terms used depend on the team structure and if it is used in a customer facing role or not. Complex software projects are developed by teams. The individual members roles and responsibites evolve over time, and as they get to interact more with the system their descriptive term morphs from developer to architect (either coding or test). I've not heard the term engineer used with the same level of frequency.


  • Registered Users Posts: 2,395 ✭✭✭AntiVirus


    Ludo wrote: »
    But if you are testing you are a software tester/test engineer. I have never heard of a tester referred to as a developer in any shape or form before. An analyst may be a more common term for what you describe (design and test).

    And even someone who is writing software libraries will know things about the "system" (as you put it) they are developing for. The number of people developing in that kind of isolation would be very small I imagine in the grand scheme of things.

    As for a developer delegating jobs to programmers...wouldn't that be a lead engineer or a tech/team lead or some other term like that. I can see why the role you describe could be called a developer but I have never seen it called that before.

    This shows how meaningless these terms are in reality. While I think we can all agree on the difference with computer science, the other terms are all interchangeable depending on where you work essentially no matter what people think or want them to mean.

    If you've qualified as a software engineer and have taken a job as a software tester, you are a software tester, thats what you've been employed to do.

    Software developers hired to develop software do have to test their software but the testing by no means stops there.

    Taking on some students to do some work experience or students who have just qualified and have no experience would most likely be hired as programmers. It doesn't matter if they qualified as a software engineer, software developer, programmer, etc... They need the experience to move forward...

    When you have a development team of 20+ there's many different levels of skills and not everyone is involved in every part of the project cycle.

    In my previous example they all could have been software engineers/software developers/programmers all with just different years of experience.


  • Registered Users Posts: 5,015 ✭✭✭Ludo


    AntiVirus wrote: »
    Ludo wrote: »
    But if you are testing you are a software tester/test engineer. I have never heard of a tester referred to as a developer in any shape or form before. An analyst may be a more common term for what you describe (design and test).

    And even someone who is writing software libraries will know things about the "system" (as you put it) they are developing for. The number of people developing in that kind of isolation would be very small I imagine in the grand scheme of things.

    As for a developer delegating jobs to programmers...wouldn't that be a lead engineer or a tech/team lead or some other term like that. I can see why the role you describe could be called a developer but I have never seen it called that before.

    This shows how meaningless these terms are in reality. While I think we can all agree on the difference with computer science, the other terms are all interchangeable depending on where you work essentially no matter what people think or want them to mean.

    If you've qualified as a software engineer and have taken a job as a software tester, you are a software tester, thats what you've been employed to do.

    Software developers hired to develop software do have to test their software but the testing by no means stops there.

    Taking on some students to do some work experience or students who have just qualified and have no experience would most likely be hired as programmers. It doesn't matter if they qualified as a software engineer, software developer, programmer, etc... They need the experience to move forward...

    When you have a development team of 20+ there's many different levels of skills and not everyone is involved in every part of the project cycle.

    In my previous example they all could have been software engineers/software developers/programmers all with just different years of experience.


    So we agree then :-)


  • Closed Accounts Posts: 40 ITguy2


    Are nobody calling themselves Computer Programmers anymore? I personally prefer that term to engineer, developer etc.


  • Registered Users Posts: 2,395 ✭✭✭AntiVirus


    Ludo wrote: »
    So we agree then :-)

    Sort of but if I'm looking for a programmer, I wouldn't really care if he was a brain surgeon as long as he could do what the job description requires. :D


  • Registered Users Posts: 2,395 ✭✭✭AntiVirus


    ITguy2 wrote: »
    Are nobody calling themselves Computer Programmers anymore? I personally prefer that term to engineer, developer etc.

    When anyone asks me what I do I say I'm a Programmer. It also rolls of the tongue much easier. To most people they're all the same and they'll just reply "oh you work with computers" :D

    If they are interested and want to know more then I'll explain exactly what I do.


  • Registered Users Posts: 5,015 ✭✭✭Ludo


    ITguy2 wrote: »
    Are nobody calling themselves Computer Programmers anymore? I personally prefer that term to engineer, developer etc.

    I would say programmer generally but it would depend who is asking, similar to what AntiVirus says above.


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    ITguy2 wrote: »
    Are nobody calling themselves Computer Programmers anymore? I personally prefer that term to engineer, developer etc.

    Unlike Engineer (though this varies according to jurisdiction), programmer is not a legally protected term.

    That's one of the things that lets you know the field is very young as branches of engineering go - the job titles haven't been nailed down and standardised yet, and only minimal legal protection of job titles is in place (and if you think legal protection of terms is unimportant, ask yourself next time you go for surgery if you think "surgeon" should be a protected term...).

    So right now you could do the same job in five or six different places and be called five or six different things from engineer to developer to coder to programmer to web monkey to analyst.


  • Advertisement
  • Registered Users Posts: 1,922 ✭✭✭fergalr


    Sparks wrote: »
    Unlike Engineer (though this varies according to jurisdiction), programmer is not a legally protected term.

    "Engineer" is completely unprotected in Ireland - anyone can call themselves an engineer, and lots of people do. "Chartered Engineer" is legally protected, afaik. In lots of countries, some variant on 'engineer' is protected.

    Sparks wrote: »
    That's one of the things that lets you know the field is very young as branches of engineering go - the job titles haven't been nailed down and standardised yet, and only minimal legal protection of job titles is in place (and if you think legal protection of terms is unimportant, ask yourself next time you go for surgery if you think "surgeon" should be a protected term...).

    I think protected job titles typically serve as state licensed monopoly, more than anything else; essentially they give the members of the profession a license to charge more money.

    If I'm going for surgery, I care that I have a good surgeon, not just a surgeon. Similarly, knowing that a lawyer is defending you, isn't usually enough - people generally want a good one, not just a titled one.
    This could change, but only if the way such legally protected titles were awarded was much more stringent; I don't ever see that happening.


    You can become a "Chartered Engineer" as a software engineer at the moment; but if I got a CV for a software job, from a candidate who was a "Chartered Engineer", I'd be interviewing them just as critically as anyone else.

    If there is a job where individuals could only do it if they were chartered engineers, I would be suspicious that was more about money making, and protectionism, more so than guaranteeing quality.

    I'm not sure to what extent I really trust the professional 'clubs' that are out there, and I don't know to what extent professional titles protect members of the public, vs. whether they lure them into a false sense of security, and create a mystique, that intimidates the public from asking searching questions.


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    fergalr wrote: »
    "Engineer" is completely unprotected in Ireland - anyone can call themselves an engineer, and lots of people do. "Chartered Engineer" is legally protected, afaik. In lots of countries, some variant on 'engineer' is protected.
    Exactly. It's "Chartered Engineer" here, "Chartered Engineer" or "Incorporated Engineer" in the UK, and various others in other EU states.
    I think protected job titles typically serve as state licensed monopoly, more than anything else; essentially they give the members of the profession a license to charge more money.
    Yes, but the motive for that is to have a degree of control over the level of qualification required for practicing that profession (and that's how the C.Eng. programme is set up, as are the equivalent certifications in other states, and that's all laid out in a few different international agreements).
    If I'm going for surgery, I care that I have a good surgeon, not just a surgeon.
    :D
    You *hope* you have a good surgeon - the legal protection is to stop you getting someone who did a correspondence course in veterinary surgery opening you up for a quadruple bypass without legal consequences (you think caveat emptor is a pain when you buy a busted kettle? Look up the early history of medicine in europe :D ).
    Similarly, knowing that a lawyer is defending you, isn't usually enough - people generally want a good one, not just a titled one.
    Yes, but again, the title is there to indicate a minimum standard of qualification, not to act as a rankings system (which would be a very nontrivial thing to set up in any profession).
    You can become a "Chartered Engineer" as a software engineer at the moment; but if I got a CV for a software job, from a candidate who was a "Chartered Engineer", I'd be interviewing them just as critically as anyone else.
    Which is a fairly odd state of affairs in engineering - in Civil engineering, if you didn't have the C.Eng, the interviewer will be wondering why (unless you're only starting out), because there's a lot of buy-in to it from the industry and you're expected to work towards it from day one as a new graduate.

    And that's a hallmark of an established engineering field in general, when the main companies in the field have bought into the idea of CPD for engineers in general being a good idea for them specifically (because it ensures a solid pool of talent to recruit from and it's a tangible benefit when headhunting).
    If there is a job where individuals could only do it if they were chartered engineers, I would be suspicious that was more about money making, and protectionism, more so than guaranteeing quality.
    Driven over a bridge recently?
    Been in a building?
    Driven a car?
    Flown in an airliner?
    C.Eng (or equivalent) needed for the engineers on those projects (the senior engineers at any rate, and part of their job description is mentoring the non-C.Eng. engineers as they work towards their C.Eng).
    It's a lot like the old master-journeyman-apprentice system, which is probably not a huge coincidence.
    I'm not sure to what extent I really trust the professional 'clubs' that are out there, and I don't know to what extent professional titles protect members of the public, vs. whether they lure them into a false sense of security, and create a mystique, that intimidates the public from asking searching questions.
    Hello Thomas Edison, circa 1880.
    Your future industry is probably going to be run by the Nikola Teslas though (ie. people with specific training and degrees in the field). And social pressure plays a large part in this - when your light bulbs can explode, setting fire to your house in the process if they were plugged in at the time, people start demanding that practitioners be trained or they don't trust them. That's why we went from the days of Faraday (completely self-taught and worked as a scientist - ie. one-offs, experiments) to the days of Edison (self-taught and worked as an industrialist getting the systems in place) to the days of Tesla (specifically trained and approached things from the theory side to the practical and thus leapfrogged the technical abilities of Edison, who emphasised large-scale trial and error (and stealing designs) over theoretical work).


  • Registered Users Posts: 1,922 ✭✭✭fergalr


    Sparks wrote: »
    Exactly. It's "Chartered Engineer" here, "Chartered Engineer" or "Incorporated Engineer" in the UK, and various others in other EU states.


    Yes, but the motive for that is to have a degree of control over the level of qualification required for practising that profession (and that's how the C.Eng. programme is set up, as are the equivalent certifications in other states, and that's all laid out in a few different international agreements).


    :D
    You *hope* you have a good surgeon - the legal protection is to stop you getting someone who did a correspondence course in veterinary surgery opening you up for a quadruple bypass without legal consequences (you think caveat emptor is a pain when you buy a busted kettle? Look up the early history of medicine in europe :D ).

    I was at a really interesting talk in the RCSI, during culture night a year or two ago, where the speaker discussed the history of the RCSI, and how it was set up, when they broke away from the barbers, to set themselves up as a separate professional guild! I don't believe they had any medical qualifications - or anything other than a sharp set of knives - at the time.
    Pretty scary stuff, really.


    Sparks wrote: »
    Yes, but again, the title is there to indicate a minimum standard of qualification, not to act as a rankings system (which would be a very nontrivial thing to set up in any profession).

    I guess that I'm not sure the title fulfils that role.

    Or rather, it does indicate some minimum standard; but that minimum standard is below the required standard, and as such the title isn't that useful.
    And, furthermore, you lose some efficiency, by denying people alternate routes to become competent developers.

    There's always a cost, to locking things down, and you can end up with problems of overfitting. They'd be huge at the moment, if you tried to regulate software.

    Like, I think this is a major problem even in medicine at the moment, in this country: There's only a handful of ways to become a doctor, and I'm not sure they select the best people. A great medical scientist, say, might do a better job than some less good doctors, in certain specialist roles - but they aren't allowed do them. Psychiatry, as another example, requires becoming a trained doctor first - but does this system really result in the best practising psychiatrists?


    I guess, ultimately, there is an information asymmetry between the provider of the service, and the person paying for the service. The provider knows how good they are, and the buyer doesn't.
    Titles are one way to mitigate this asymmetry; but they come at a cost. Maybe in future, a state wide, crowd sourced, review system would be better?

    Maybe a system that is some future evolution of Linked-In, and/or Github, would be a better answer to the problem than protected titles?

    Sparks wrote: »
    Which is a fairly odd state of affairs in engineering - in Civil engineering, if you didn't have the C.Eng, the interviewer will be wondering why (unless you're only starting out), because there's a lot of buy-in to it from the industry and you're expected to work towards it from day one as a new graduate.
    Yes; and you've got to be overseen by an existing C.Eng. and you've got to pay money for CPD courses, and membership dues to the body, etc.
    Its a bit of a club...

    Its worse if you want to be a doctor, you've got to intern like a slave; similar things exist for barristers, accountants.

    Are the guarantees that titles give, in the end, really worth it?
    Sparks wrote: »
    And that's a hallmark of an established engineering field in general, when the main companies in the field have bought into the idea of CPD for engineers in general being a good idea for them specifically (because it ensures a solid pool of talent to recruit from and it's a tangible benefit when headhunting).


    Driven over a bridge recently?
    Been in a building?
    Driven a car?
    Flown in an airliner?
    C.Eng (or equivalent) needed for the engineers on those projects (the senior engineers at any rate, and part of their job description is mentoring the non-C.Eng. engineers as they work towards their C.Eng).
    It's a lot like the old master-journeyman-apprentice system, which is probably not a huge coincidence.
    And similar to the PhD system, too. (for better and worse)

    Sparks wrote: »
    Hello Thomas Edison, circa 1880.
    Your future industry is probably going to be run by the Nikola Teslas though (ie. people with specific training and degrees in the field). And social pressure plays a large part in this - when your light bulbs can explode, setting fire to your house in the process if they were plugged in at the time, people start demanding that practitioners be trained or they don't trust them. That's why we went from the days of Faraday (completely self-taught and worked as a scientist - ie. one-offs, experiments) to the days of Edison (self-taught and worked as an industrialist getting the systems in place) to the days of Tesla (specifically trained and approached things from the theory side to the practical and thus leapfrogged the technical abilities of Edison, who emphasised large-scale trial and error (and stealing designs) over theoretical work).

    This sounds interesting - have you got an article or book that talks about this, and uses these examples? Sounds like theres an interesting essay in there - has it been written?


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    fergalr wrote: »
    I don't believe they had any medical qualifications - or anything other than a sharp set of knives - at the time.
    Pretty scary stuff, really.
    Sharp knives and fast hands. Literally, that was all - and the fast hands were as important as the sharp knives because the faster they got things over with, the higher your odds of survival. Look up how they got rid of kidneystones sometime if you want to squirm for a good five minutes :eek:
    Or rather, it does indicate some minimum standard; but that minimum standard is below the required standard, and as such the title isn't that useful.
    And, furthermore, you lose some efficiency, by denying people alternate routes to become competent developers.
    I wonder about that.
    Definitely, in the early years of a field, field-specific degrees aren't any advantage (and may not even be available), but as it matures, that stops being the case gradually. You see it in the history of every profession and every branch of engineering, and the random one-in-a-million geniuses who frankly could turn their minds to anything and do groundbreaking work regardless of circumstances tend to become the actual one-in-a-million exceptions to the rule.
    I don't think we're quite there yet for software, but you can just about see it from here.
    Like, I think this is a major problem even in medicine at the moment, in this country: There's only a handful of ways to become a doctor, and I'm not sure they select the best people. A great medical scientist, say, might do a better job than some less good doctors, in certain specialist roles - but they aren't allowed do them. Psychiatry, as another example, requires becoming a trained doctor first - but does this system really result in the best practising psychiatrists?
    I honestly couldn't say - and that to me, kindof proves the point of the people who set up that system :)
    I guess, ultimately, there is an information asymmetry between the provider of the service, and the person paying for the service. The provider knows how good they are, and the buyer doesn't.
    Titles are one way to mitigate this asymmetry; but they come at a cost. Maybe in future, a state wide, crowd sourced, review system would be better?
    So, ratemysolicitor.com rather than the Bar?
    Hmmm.
    Can't quite go with that idea myself to be honest. The whole point of minimum standards is that there's an accountability trail. If your solicitor is incompetent and you lose your house because they muck up the conveyancing or if you doctor is incompetent and you get sick as a result, you have legal remedies to pursue. With a crowdsourcing solution, you get a ranking system, but no accountability trail, you'd be right back to caveat emptor.
    Yes; and you've got to be overseen by an existing C.Eng. and you've got to pay money for CPD courses, and membership dues to the body, etc.
    Its a bit of a club...
    You're missing the international standards there. And I don't think "club" really covers it. Unless you consider undergrad degrees in the same way...
    Are the guarantees that titles give, in the end, really worth it?
    If something goes wrong, yes.
    If you die because someone stuffs up your tonsillectomy, your next of kin get the proceeds from the medical malpractice suit, which means they're cared for. That kind of thing is important, not just for individuals but for society in general because it drives up the level of medical care in the long term so that everyone benefits.
    And similar to the PhD system, too. (for better and worse)
    Well, sortof, yes, but for good reason. The modern C.Eng in Ireland would be analogous to what the original M.A.I. would have been in the 1800s, and the PhD system grew out of those roots.
    This sounds interesting - have you got an article or book that talks about this, and uses these examples? Sounds like theres an interesting essay in there - has it been written?
    It must have been, it's too juicy not to have been written up, but I can't think of a specific citation. The examples are unfortunate as all three characters are historically significant and notorious for their own reasons (the Tesla/Edison current wars and their fallout) which clouds the analogy.


  • Closed Accounts Posts: 40 ITguy2


    Another thing I don’t understand, is the training that a lot of Software Engineers received. For instance they seem to have BSc’s / BA’s etc. in everything from Computer Science, Information Technology, Software Engineering – and even some people with degrees in Engineering, Mathematics etc. can apply for a job with the description ‘Software Engineer’.

    To become an Electrical, Mechanical or Civil Engineer for instance you go through 4 full years of an engineering education in Electrical Engineering, Mechanical Engineering or Civil Engineering, and receive a BEng certified degree at the end of it. There doesn’t seem to be anywhere near the same amount of training to be an engineer in the software world.


  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    ITguy2 wrote: »
    Another thing I don’t understand, is the training that a lot of Software Engineers received. For instance they seem to have BSc’s / BA’s etc. in everything from Computer Science, Information Technology, Software Engineering – and even some people with degrees in Engineering, Mathematics etc. can apply for a job with the description ‘Software Engineer’.

    To become an Electrical, Mechanical or Civil Engineer for instance you go through 4 full years of an engineering education in Electrical Engineering, Mechanical Engineering or Civil Engineering, and receive a BEng certified degree at the end of it. There doesn’t seem to be anywhere near the same amount of training to be an engineer in the software world.

    It's very much a work in progress. There are some BEng courses in Ireland, but many will be BSc.

    SWEBOK is the IEEE attempt to define what software engineering entails. What are peoples thoughts on this document?


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    ITguy2 wrote: »
    Is it the same as Computer Science/ programming, or is it a branch of Computer Engineering? Also, what's the difference between (a) a programmer, (b) a software developer and (c) a software engineer?
    Computer Science is an academic field. The only place someone's 'job title' is a computer scientist is a university or college.

    As to programmer, developer, engineer, these are largely interchangeable terms because the profession is not regulated in the same manner as law, medicine and the other fields of engineering. Indeed, I've often wondered if it strictly speaking is a field of engineering, as while related to electronic engineering, any overlap between the two generally ends in college.

    Calling yourself an engineer may borrow some gravitas from the professional title of engineer (in Italy people literally use the term ingegnere in the same way as they would use dottore or professore). It's also a term you'll find more with those who work with embedded systems and more low level languages, rather than the Web.

    Developer, perhaps, is a slightly looser term as I've come across people with absolutely no programming skills (they rely on templates and WYSIWYG's) using the term.

    As an addendum, architect and analyst are certainly different roles. Architects may design a software solution, but do not actually develop it. Analysis are more a bridge between the stakeholders, effectively acting as both translator and filter between them.

    Both generally start off as developers/programmers/engineers (and often continue coding, especially where resources are limited), with the more technical gravitating towards the architecture roll and the more social gravitating towards the analyst roll, given enough experience.


  • Closed Accounts Posts: 2,616 ✭✭✭8k2q1gfcz9s5d4


    Liam Byrne wrote: »
    Nowhere near the truth.

    A software engineer is the equivalent of an architect, while a programmer is the equivalent of the blocklayer.

    I would disagree, a business analysist is more of an architect. architects are not block layers, Not all business analysists are programmers, where as all software engineers are programmers.

    software engineer/programmer/software developer are all just titles in my opinion, they mean different things in different companies. I have a degree in "Software developemnt", a masters in "Software Engineering" and my job title where I work is "Programmer" :D


  • Closed Accounts Posts: 25 iDigian


    This particular discussion is almost impossible to pin down as there are so many parameters. My tupence worth would be that having a college education and an inadvertant title doesn't mean you know what you are doing given that 90% of college courses focus on the regurgitation of text books. I have seen doctors qualify who couldn't take blood, computer scientists who couldn't write an application which could actually be used by anyone. IMHO, titles mean absolutely nothing in any industry and the only real way to measure a person is by sitting down and asking the right questions however this is not always time compliant and hence titles must be used to whittle down potential candidates provided daddy isn't pulling the strings that is :)


  • Advertisement
  • Registered Users Posts: 3,299 ✭✭✭irishguy


    From quite a few of the responses its obvious some people havent a clue what they are talking about and dont work in a commercial environment. They are interchangeable terms there is no difference only a job title.


Advertisement