Fog Creek Software
Discussion Board




What is an "Analyst"?

In another thread, people are speculating what an "Analyst" might be, suggesting that it is hopelessly vague.  I think "analyst" has a fairly clear meaning.

"Analyst" is the accepted term for someone who combined programming skills with business analysis expertise.  Whereas programmers spend their time coding and essentially solving a problem that has been largely defined by other people (their managers), analysts are trained to analyze business processes themselves to determine what the problem is -- and find ways to use technology to solve it.

The analyst, then, is someone whose duties go beyond coding, someone who is expert at analyzing business processes -- so their duties will involve much more contact with the business side of their field or workplace.  But analysts DO have programming skills.  They just can't expect as much uninterrupted coding time, because their duties go way beyond that.

I realize that many people who are called programmers could appropriately be called analysts.  But I believe I am right about the basic distinction.

programmer
Monday, March 10, 2003

Why is it that software professionals are always so adamant in, when defining roles, insisting that whatever else one does, one of course ALSO codes?

It seems almost religious.

Is one somehow less a person if one doesn't code? Or is software development really only coding, but you have to have some of that other stuff as well to fit in a bit?

Practical Geezer
Monday, March 10, 2003

Oh, and by the way, your attempt is certainly a good one. Except that problem definition (as opposed to solution) is not particular to business processes.

Any discipline has their share of analysts. Hinting that being an analyst isn't defined so much by the amount of knowledge you have about the solution space, or even the problem space, but even more so by the abilities you have to investigate.

Practical Geezer
Monday, March 10, 2003

programmer wrote, "In another thread, people are speculating what an "Analyst" might be, suggesting that it is hopelessly vague.  I think "analyst" has a fairly clear meaning."

Most people (including me) have strong opinions on various software development issues (how it should be conducted, role definitions, etc.).  However, unless you are a project manager (or higher up in the food chain) with some political clout your opinion usually doesn't count.

Industry consensus on various software development issues seems to be a big issue for many developers (including me), however, nobody seems to agree on how to accomplish such a feat.

While the accounting industry has FASB (Financial Accounting Standards Board) companies are not required to comply with the standards that FASB comes up with. The reality is that most industries have no authoritative standards that must be followed.

So what point am I trying to make?  An "Analyst" can mean anything a particular company or a particular person wants it to mean (i.e. someone who is expert at analyzing business processes, a coder with business analysis expertise, etc.).

One Programmer's Opinion
Monday, March 10, 2003

I worked for a company where you were promoted from "Programmer" to "Analyst Programmer ". Despite all the best intentions in the world, it was just a title meant to imply status that you'd moved up.

Job titles are whatever people want them to be and will likely vary from company to company.

Joel Goodwin
Monday, March 10, 2003

>>
Job titles are whatever people want them to be and will likely vary from company to company.
>>
Very true. A previous boss of mine was budget limited in raises. So he gave out titles. We had 7 "managers" in a group of nine. Talk about meaningless titles.

sgf
Monday, March 10, 2003

Hell, I'm "Director of Development". You would think that means I run a team of developers. You would think so anyway..... :)


Monday, March 10, 2003

Man, I thought I was the only 'Director of Development' with no staff.  Small world, eh?

Craig
Monday, March 10, 2003

Another example...Bill Gates is now Chief Software Architect at Microsoft I believe. Yeah right!

John Topley
Monday, March 10, 2003

At one point, my title was "IT Analyst" even though I was really nothing more than an AS/400 Operator.

I think there are a lot of places that will use the title Analyst just because it sounds better than "Button Pusher"

ZiggaDigga
Monday, March 10, 2003

Yeah.  Titles are funny at startups especially.  I remember one meeting, right after I was first put in charge of any development staff.  We soon realized there that I was the only person "with peons" as the tongue-in-cheek expression went, and also the only one whose title *wasn't* Manager, Director, or Vice President of something.

I never did become one either, or even get a title above programmer on the record.  Took more BS than I had in me, I suppose.  My current job calls me "Senior Developer," to distinguish me from the just-graduated wonders I suppose, which brings us back to the other question of where the gray hairs on us "senior" folk are.

Mikayla
Monday, March 10, 2003

Analyst is a title used in large user corporations such as banks. It dates back to the time when programming was more stratified than now. Analysts were experienced programmers who would define the business requirements, which programmers would then implement, usually in Cobol.

The title persists in various poorly defined ways and is often used to mean analysis quite detached from programming. Also, software development has become more complex, so the idea of separating analysis from development is not so popular, or effective.

So the meaning of Analyst is not so much what the person does, but where he works.

Must be a manager
Tuesday, March 11, 2003

practical geezer wrote : "... Why is it that software professionals are always so adamant in, when defining roles, insisting that whatever else one does, one of course ALSO codes?

It seems almost religious.  ..."

Because if you don't code or haven't coded, then you don't really understand it all. There is a whole slew of things you have to understand in order to do coding, that fall below the radar on a CV, but are otherwise quite important to the job. Things like source control systems, bug tracking systems, the importance of document/code/ information centralisation.

You mentioned software professionals and defining roles in the same sentence, something that in my experience rarely happens. Though if a software professional must work with a new candidate, development experience is a lingua franca. A UI designer who has written windows/web/whatever GUIs in the past, can form an effective working relationship with the coders who will implement the details. A tester with coding experience is better armed in the search for awkward bugs (knows how to break unfinished code, with overflows etc.).

My argument for past code experience for non-developers is strong, present code experience is weaker. I guess some roles like the flexiblility. The non-development role may only have a temporary need, and some employers may like to be able to move you into a related coding role (e.g. UI testing -> UI prototyping).

I have certainly founf that the auxilliary non-coding roles are the first to get thinned out when funding dries up. Maybe thats part of the mindset too, but then again job specifications are getting a little ridiculous anyway. Half the stuff on my job spec I have never used. Maybe its just kitchen sink thinking.

Richard
Thursday, March 13, 2003

*  Recent Topics

*  Fog Creek Home