• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Difference between Programmer, S/W Developer and S/W Engineer

 
Ranch Hand
Posts: 2379
MySQL Database Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Before I put my observation on the similarity and differences among the roles of Programmer, Software Developer and Software Engineer; I would like to know your opinions.
And do you play a role of one of those three?
 
Sheriff
Posts: 7001
6
Eclipse IDE Python C++ Debian Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think its important to understand that (like any job titles) these terms only mean anything in a specific context. In one company the position or role of "Software Engineer" may have certain responsibilities, and "Programmer" others. in an other company, they may be different, or some or all those roles may be included in a much more vague "Computer Guy" job.
Can you explain a bit more about how these job titles differ in your organization?
Things to look out for are issues such as who is responsible for deciding which languages and tools to use, who decides when a product is ready for a release, who is responsible for testing that things work, who is responsible for ensuring that the correct versions of things get delivered, who writes "application" code, who writes "utility" or "framework" code, who writes "test" code, who writes documentation, who explains to customers or stakeholders how things work and what is needed, who answers support questions. etc.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
http://c2.com/cgi/wiki?JustaProgrammer contains some interesting points on the topic...
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In most disciplines an engineer produces only designs, specifications, documentation. You don't find them out there welding bridges together! And thos engineers believe software development has nothing to do with engineering and resent anybody calling themselves software engineers.
 
Ashik Uzzaman
Ranch Hand
Posts: 2379
MySQL Database Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I consider the following definitions more or less applicable.
Programmer - Focus on writing code as the primary activity of software development, often attached with particular programming languages and parts of a whole software solution. In most cases, junior professionals join in a software house as a programmer (well junior programmer you know).
Software Developer - They are programmers who have expertise on developing a particular type of solution effectively and efficiently. In most cases, software developers are just programmers, may be with a better project experience. In some cases they are known indifferently as software engineers though, I don't think Software Engineers fall under these category.
Software Engineer - A software engineer is somebody who applies a formal or structured approach to the development of software. He thinks about correctness, completeness, reusability and workability that matches the end goal for the finished product. A good and short alternate definition may be - a software engineer is one employed to solve problems by the application of information technology.
To confuse a little more I'ld like to coin the following terms here as well.
  • Software Professional
  • Software Architect
  • System Analyst
  • Software Consultant
  • Software Manager
  • Project Manager
  • IT Manager
  • Chief Technology Officer


  • BTW, I know titles don't matter much, however what I consider myself can be easily found in my signature.
    [ September 10, 2003: Message edited by: Ashik uzzaman ]
     
    Ranch Hand
    Posts: 3404
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator


    And thos engineers believe software development has nothing to do with engineering and resent anybody calling themselves software engineers.


    I guess you'd be one of those, Stan.
    regards
     
    Ilja Preuss
    author
    Posts: 14112
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by HS Thomas:

    I guess you'd be one of those, Stan.


    ???
     
    HS Thomas
    Ranch Hand
    Posts: 3404
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    I think Stan likes to code also. SO by his post I'd assume he likes to be called a Software Developer rather than a Software Engineer.
    Sorry , if I didn't make it clear what I was alluding to.

    regards
     
    Ranch Hand
    Posts: 317
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Hello IT guys
    I'm here after a very long time....It's really an interesting issue....
    Well....Programmers r just coder...in a well defined boundery...
    Software Developer is a big thing....u can think them as a Analyst/Designer...coz...they develop the whole system....
    And the engineers define how the component will intarct...what technology to use.... they are the Architect...
    Thats my thought
     
    Ilja Preuss
    author
    Posts: 14112
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by HS Thomas:
    I think Stan likes to code also. SO by his post I'd assume he likes to be called a Software Developer rather than a Software Engineer.


    Oh, OK.
    I think that the writing code actually *is* designing - the source code is the blue print for the software. The actual software is then build by the compiler, based on the "blueprints".
     
    Stan James
    (instanceof Sidekick)
    Posts: 8791
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    My real job title is Systems Consultant, which is completely meaning free. On this team I'm called "architect" which unfortunately has led to very little opportunity to code. I'll be changing that with the next technology change from Forte 4GL to J2EE!
     
    Greenhorn
    Posts: 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    I have one more thing, how about the programmer/analyst, business analyst and system analyst?
     
    Stan James
    (instanceof Sidekick)
    Posts: 8791
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hey, this was a year old! Sure enough, I turned the current project into more opportunity to code, but kept the architect title. What architect means for me is mostly leader & keeper of the design, liason with other projects to define interfaces between us.

    For us, a pure business analyst is somebody outside the development team. Our BAs are in the same reporting structure up a ways, but live and work in the customer sites. Their job is to understand customer needs well enough to work with us to design systems. They're close enough to the customer to almost always answer requirements questions off the tops of their heads. They collaborate very closely with us on initial story planning, use cases, QA and user acceptance, a little less on UI design.

    Elsewhere in the company, IT teams build up their BA skills and do a bit of both.
     
    With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    reply
      Bookmark Topic Watch Topic
    • New Topic