Meaningless Drivel is fun!*
The moose likes Agile and Other Processes and the fly likes Difference between Programmer, S/W Developer and S/W Engineer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Difference between Programmer, S/W Developer and S/W Engineer" Watch "Difference between Programmer, S/W Developer and S/W Engineer" New topic
Author

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

Ashik Uzzaman
Ranch Hand

Joined: Jul 05, 2001
Posts: 2370

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?


Ashik Uzzaman
Senior Member of Technical Staff, Salesforce.com, San Francisco, CA, USA.
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
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.


Read about me at frankcarver.me ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
http://c2.com/cgi/wiki?JustaProgrammer contains some interesting points on the topic...


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
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.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Ashik Uzzaman
Ranch Hand

Joined: Jul 05, 2001
Posts: 2370

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 ]
    HS Thomas
    Ranch Hand

    Joined: May 15, 2002
    Posts: 3404

    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
    Sheriff

    Joined: Jul 11, 2001
    Posts: 14112
    Originally posted by HS Thomas:

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

    ???
    HS Thomas
    Ranch Hand

    Joined: May 15, 2002
    Posts: 3404
    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
    Nazmul Huda Sarkar
    Ranch Hand

    Joined: Feb 01, 2002
    Posts: 317

    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


    Nazmul<br />SCJP,SCWCD,IBM OOAD with UML
    Ilja Preuss
    author
    Sheriff

    Joined: Jul 11, 2001
    Posts: 14112
    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)
    Ranch Hand

    Joined: Jan 29, 2003
    Posts: 8791
    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!
    Marshall Fu
    Greenhorn

    Joined: Oct 03, 2004
    Posts: 1
    I have one more thing, how about the programmer/analyst, business analyst and system analyst?
    Stan James
    (instanceof Sidekick)
    Ranch Hand

    Joined: Jan 29, 2003
    Posts: 8791
    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.
     
    jQuery in Action, 2nd edition
     
    subject: Difference between Programmer, S/W Developer and S/W Engineer
     
    Similar Threads
    Pick up lines: by Software Developer
    Programmer vs. Developer
    different designations meanings???
    Contemporary Salaries
    Software Engineer