Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Note: If you want the gist of this post, skip to the last two paragraphs.

Before expanding on the question, just a short preamble:

  • I figured that the Programmers Q&A network was a better place to ask this question than StackOverflow. I might be wrong.

  • This is cross-post of a question I asked on Quora some time ago. The general gist of the answers was that, even though it might not necessarily help you to actually land a job in programming, experience in business analysis will most likely benefit a programmer. Main reasons for this included:

    • the "ability to understand and empathise with the business side of [a] company's operations";
    • the idea that the business analysis skill and mindset "might map pretty well to [programming] and help you pick up skills more quickly"; and
    • that "analytical skills are critical to being a good programmer".
  • Someone elsewhere on this network asked whether "[i]s it more important to focus on a business domain or programming stack/technology". This question resonates with one element of my question, as it asks about whether to focus on specific domain knowledge (e.g. beer brewing) versus specific technology stacks (e.g. barrel ageing, double dropping, etc.). The other element contained in my question (additional to the value of specific domain knowledge) is the value of general analytical thinking (that can be applied to any business domain) for a programmer.

  • Another guy on this network (sorry, can't paste the hyper-link as I'm already capped at 2 per post at my current reputation level) asked "[h]ow much system and business analysis should a programmer be reasonably expected to do?". He states that in most jobs he held there were no formal business or systems analysis roles. The programmers were expected to play those roles. Consequently, he would often "lose out to guys who may be average programmers but have a much better understanding of the business processes". I guess that, by merit of asking the question, the asker already contributed toward answering mine - business analysis knowledge (i.e. both general analytical thinking skills as well as specific business domain knowledge) and experience ("embracing and internalising a customer-oriented approach" as stated in one answer) is useful to a programmer.

So here's my question in a bit more detail:

I currently work as a consultant for a consulting house. I primarily do business analysis work in the financial industry (to get a good idea about what it is I actually do, consider looking at what the International Institute of Business Analysis has to say). I have been at it now for one and a half years, straight out of university, where I obtained a degree in informatics (which is a fancy word for business analysis).

I am considering a career move into programming. The question: will my qualification in business analysis, and one and a half years of experience working as a business analyst, add any value to a prospective career in software development.

Another question that naturally follows: I do realise that, as pointed out by the answers on Quora, that it might not actually help me to land a job in programming. So what would? (Obviously I do have a plan, but I'm keen to hear what the community has to say.)

Feel free to ask questions or recommend edits to the question, and thanks in advance!

share|improve this question
2  
Yes... But where I am Business Analysts get a better rate than Programmers so why would you want to? –  mcottle Jul 28 '11 at 10:24
add comment

4 Answers

up vote 4 down vote accepted

Yes experience in Business Analysis would be useful.

Broadly speaking anything that gives you experience of the wider context of an IT project is going to be helpful. In addition business analysis tends to encourage and develop communication skills, questioning and structured thinking and problem solving, all of which are useful as a programmer as is the basic experience of working in any commercial / corporate environment.

What you do need to think about is how you sell it as part of your applications. Some people will automatically see it as useful but others won't so you need to make sure you can explain it.

You also need to look at what else you can show that makes you suitable for a career as a programmer - ideally some hobbiest experience writing code or at the very least a good hands-on interest in technology. That's not to say you need huge amounts of experience - you should be selling yourself on your broad skills rather than deep programming skills - but being able to show an interest at least is vital.

share|improve this answer
    
Thanks Jon, this is golden. –  emilesilvis Jul 28 '11 at 9:24
add comment

In the company I work for I've managed to introduce a requirement for hiring programmers: they must have experienced in the field as a user and/or consultant working with and knowing the user.

Imho the ideal programmer would be the person who once was the user we develop applications for. How can you develop for someone if you don't know how that person thinks and experiences applications.

My background: I've been programming since the eighties, but at first it was just a hobby. That meant I could experiment a lot and so find out the best techniques to do something. Meanwhile I first worked for 10 years as a bookkeeper using ERP applications, then as a consultant for 11 years implementing ERP applications. All that time my official function in the company wasn't a developer but I still made several "tools" that made my and my colleagues daily work easier.

So before I actually did become a full-time developer (now for 5 years) I was "in the field". I know the customer, I know how they think, what they believe is right, why it's more important to deliver a product fast instead of making it technically perfect, etc etc.

I find "field" experience much more important than a great from-school programmer who may know all the fancy and highly complicated programming techniques, but simply doesn't know how to think as a customer and how to communicate with them.

It's better to have a B- programmer with much field experience, than a A+ programmer with no or little field experience. Of course, the "B- programmer" must have the talent to eventually become a A+ programmer. In our experience it just pays of. We have very satisfied customers. Almost every product we deliver is immediately right like the customer expected it to be. Not every programmer succeeds in that. You have to be experienced.

So yes, every non-developer experience you have makes you a better programmer.

share|improve this answer
    
Thanks Marcus, this is encouraging. –  emilesilvis Jul 28 '11 at 10:37
add comment

Most programmers have little to no business accument. As a programmer, it does not really matter except projects always run over time, over budget, are often over engineered by experts that don't care about business goals.

You are in a stonger position to balance those business requirements against technical excellence, particularly when you move from basic programmer to team lead/ technical lead roles. For that reason, I believe you would make a very valuable addition to any programming team (assuming you can actually program OK)......

share|improve this answer
    
No business acumen doesn't matter? I disagree. I wouldn't say it's an absolute barrier but if you don't have a basic understanding of the wider business context you operate in, your ability to prioritise, interpret data and make decisions is severely limited and those things impact your ability to be a productive developer. –  Jon Hopkins Jul 28 '11 at 9:08
    
@Jon In smaller, agile type environments where you have some say in what, when and how much, you are absolutely right. However, in too many organizations programmers are the modern version of the typing pool of the 1950. Also I distinguish between the job of programmer and developer. –  mattnz Jul 28 '11 at 21:10
add comment

What programming have you done? How have you shown that you're interested in moving to programming?

I came into programming via a degree in modern European languages so in reality your formal qualification while important can be worked around. But you need to show an interest in technology, how it can benefit a business and how you could make it benefit a business. And some programming skills.

share|improve this answer
    
I've done a solid year worth of .NET and ASP.NET programming (base and MVC), plus some stuff in straight SQL, as part of my degree. I've also been playing around with Ruby and Rails in my spare time. And some other fun stuff: Processing, Yahoo! Pipes, and the like. I've grown up with computers and the Web, I've always been technically inclined, I identify with the culture. I like to see myself as a "natural logic monster" as Igor Clark said on Quora, and I do "enjoy taking gadgets apart and putting them back together again". I think the biggest reason, however, is that I love to build things. –  emilesilvis Jul 28 '11 at 9:21
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.