Do Business Analysts Need Computer Programmer Skills?

Business Analysts Learn Computer Programming
Business Analysts Learn Computer Programming

Are database development, computer programming, data analysis or web development required skills for Business Analysts?

Perhaps you’ve seen, heard about or applied for jobs asking for a broad or seemingly impossible range of skill sets?

Like those job descriptions for business analysts requiring computer programming skills or those for PMP Certified Project Managers with 5 years of software development experience!

This post addresses “how to bridge the gap between business analyst skills and unfair job descriptions written-up by Information Technology (IT) departments”

Bridging The Gap Between Business And Information Technology (IT) Careers

I would like to know if Business analysts are expected to know more about programming.

I attended a job interview last week and the interviewer was hesitant to consider me for the post of business analyst (BA) as i have no coding experience.

Do i need to know about database design, structure etc for me to be a good BA?

All along in my previous projects the database design, architecture and technology were decided by the technical team and DBA’s and i come into the picture as BA only after everything has been finalized.

But i was a Junior (jr.) BA and now im applying for the position of senior BA and people point out my lack of coding experience.

“Here is the answer to the challenges created by business analyst job descriptions which are worded to include programming and database skills”!

  1. Looking from the business analysts (job seekers) perspective, you may be tempted to say NO.

    You may also argue that computer programming tasks should be left ONLY to software developer job descriptions.

  2. Looking from the perspective of employers, recruiters or hiring managers, you may say YES because business analyst job descriptions are just a means to an end!

    For employers or hiring managers, the end is always the same (the job that needs to be done) … and job descriptions are just a means to achieving that!

So, which of these two perspectives (the employers or the job seekers) is the right one?

  1. The employer who only cares about getting work done and will use any job description to achieve that end or …

  2. The business analyst who feels overwhelmed by requirements for computer programming skills on business analyst job descriptions?

To this question correctly, we need to understand the roots of the conflict! So, let’s take a look at the source of gaps between IT Job Descriptions and Business Analyst Careers.

Introducing The IT Business Analyst

  • The Information Technology (IT) Business Analyst Role Is Slowly Coming To Maturity

    As the roles of the computer programmer, database developer and systems analyst matured, the “IT Business Analyst” role evolved to fill analysis and requirements tasks left out of software development roles.

  • The Accidental Business Analyst?

    As software development teams improve their requirements management or software development processes, some computer programmers begin picking up the requirements gathering and analysis tasks left undone by their team members.

    These Accidental Business Analysts are usually computer programmers or systems analysts with strong people, communication, business and requirements management skills who transition into or assume the role of the IT Business Analyst.

Some employers have not achieved a separation between “IT Business Analyst Roles” and “Computer Programmer Roles” in their minds.

For these employers, the distinctions between IT Business Analysts and Computer Programmers are a superficial play on words … hence the business analyst job description written-up to include computer programming languages!

So, back again to the question; “should a business analyst learn computer programming languages or acquire database development skills”?

21 Responses to "Do Business Analysts Need Computer Programmer Skills?"

  1. Sandeep   February 2, 2010 at 3:51 am


    I am B.E.(Computers) from university of Mumbai, India.

    I have my credentials evaluated at IEE, North Carolina.

    I have wasted a lot of my time doing jobs not related to my field.

    I have a strong desire to get into my own field which is software development. I can put any effort required to get in.

    I have done some Java programming about 5 yrs back. Kindly advise. Your advice would be invaluable and immensely appreciated.

    Please tll me how and where to begin. I can join courses.

    I can study on my own.

    I can put in 10-12 hrs a day in my making. There will be no dearth of effort.



    • IT Career Coach   February 2, 2010 at 5:00 am

      #java: you can become a java developer considering with a B.E. (Computers) and IEE credentials.

      I am not sure of the reason why you are working jobs you don’t like! That shouldn’t happen considering that you are a skilled IT professional.

      The primary reason for situations such as yours is that you are working with the wrong recruiter(s) or you are not proactive enough at marketing yourself.

      You may also consider learning a new programming language such as Microsoft .NET and C# which is similar to Java in Syntax.

      Either way with your ability and ambition to put in 10 to 12 hours of study per day, I believe that you will be able to get a good job … soon.

      Either way, let me know if you are ready and we can work on creating a customized career action plan for you, oK?

  2. allensbar   January 16, 2010 at 6:51 am

    Interesting discussion and lots of good points.

    It is becoming increasingly evident the role ‘Business Analyst’ is heading down two tracks – one being a junior level and pay grade the other being senior level and higher pay.

    The difference is the technology skillset, if you bring to the table data analyst, data warehouse, programming or niche software experience you will be attractive as a senior level business analyst.

    • IT Career Coach   January 31, 2010 at 10:19 pm

      Business Analysts need to pay attention to the demands by employers for a wider range of skill sets.

      Just like you are mentioning, there are business analyst jobs that require data analysis or data warehousing or database development or software development backgrounds and experience and a business analysts who just want pure business analysis jobs … may end up limiting themselves.

  3. Nishant   September 14, 2009 at 11:48 am

    Scott and Debbie, I could agree with you as a rare breed in those projects which do not require the BA to have come from a business user background.

    I have worked on projects with a large shipping organisation, where CTO (acting as Enterprise Architect) and Principal Consultant (as leed consultant) were challenged during the requirements’ capture sessions.

    Even, the client’s IT department didn’t have a clue as to how the business is done. So it was a complete fallout.

    The other reality I would like to mention is the highly regarded “Top MBA” degrees.

    The business schools offering such degrees help in getting jobs more by means of industry network rather than by teaching what the person would have learnt only by staying in job.

    • IT Career Coach   January 31, 2010 at 10:24 pm

      Highly Regarded “Top MBA” degrees are great but they do not turn candidates into business analysts.

      The business analyst profession or career is an information technology discipline that is typically not taught in colleges.

      Even if they were taught in colleges … employers still require that business analysts have a strong traditional background gained by hands-on experience in the industry rather than by education.

  4. Nishant   September 14, 2009 at 11:37 am

    Non-IT BAs committing on the deadline is a dangerous effort. This should be decided together by the Principal Consultant and the Project Manager.

    BAs should focus on requirements analysis, preparation of RFI/ RFPs, development of business scenarios, business process mapping and reengineering.

    Guys, do pardon me but I am critical of the job descriptions in discussion.

    I am an IT aware person rather than an IT educated one and provide BA services to a very niche domain i.e., shipping.

    I would like to agree that an a Principal Consultant, you would need to know technology as well as business.

    However, I would like to ask those IT organisations who want a person coming from line management to grow projects, it would be unjust to expect the IT skills from the person as he/she hasn’t mentioned them in the cv anyway before he got hired.

  5. Winston   September 7, 2009 at 5:39 pm

    I would like to see the Business Analyst more focused on understanding the business and Business Process Re-engineering.

    I would prefer BA’s ensure that the capabilities are delivered, and be less focused on the technical solution, that’s what the technical people do best.

    The techo’s are unlikely to be able to influence business processes which is where the BA’s come into their own.

    Having an understanding of how the proposed solution fits into the business model and how the processes can use the new capabilities to improve efficiencies and drive down costs I feel would be of more value than having BA’s performing work of developers.

  6. Sid   September 7, 2009 at 5:37 pm

    As a Business Analyst, I think that this article presents an interesting merging of two schools of thought.

    Many work environments dictate that the programmers must do the coding and the analysts work with the programmers to define the requirements and the business logic.

    I feel that the business analyst role should morph into a business programmer/analyst role.

    By training analysts to do some of or most of the programming on a project, they are better armed to guide and assist their customers in how to solve their business process issues.

    The key here is that organizations have to be willing to change – provide BAs with the programming training and tools to merge these two job functions.

  7. Eugen   September 7, 2009 at 5:36 pm

    Interesting topic indeed

    We think to separate in 2 ways : business analyst role and software analyst role

    If these 2 roles are going to come together , definitely this BA must have software skills; otherwise it is an asset but not a must; why ? because a BA (not an SA) must be very closely to the customer needs and prepare RFP very well

    Indeed , if a BA has software development skills is better , because he/she can understand what a software developer needs

    In the end, it is important the success of the project and team working



  8. Sandra   September 7, 2009 at 5:33 pm

    To address Winston’s post, I think the key lies in the strengths of the individual and potentially whether they started out as a BA or a Developer!

    I trained as a BA, then PM, but have always made it my business to know as much as I can about the technical side to the solution(s) involved in the project.

    My current role is in a very small operation in comparison to the companies I have worked for in the past, and this means I am now a quasi programmer (report writing in SSRS) as well as BA as well as Project Manager. This suits me fine, and I think it is rounding out my skills and presenting the business with the best value for their money!

    To Scott’s comments, what kind of BA would make promises to clients on deadlines without first liaising with the PM, programmers, suppliers or other external parties to ensure those deadlines could be achieved?

    My advice to them would be that they will gain the respect not only of the business, but the entire project team if they take into consideration all factors prior to making any commitments – even if it means a delay to the business’ expectations.

  9. Winston   September 7, 2009 at 5:32 pm

    I find this to be an interesting topic. Having worked with many BA’s that do not have a programming background, or very limited, I would like to buck the trend to this discussion somewhat.

    The more “technical” the BA is the more they think in solution mode rather than analytical mode.

    I have seen a few BA’s look at the technical solution, where they come from a strong technical background, and loose site of analysing the business and determining the appropriate capabilities the business needs.

    I have seen a trend over the last 5 or so years that in small operations the “developers” do a lot of the BA work rather than vice versa. As the Developers seem to have to develop a grasp for liaising with Business Users to clarify requirements, they are making more inroads into the BA world.

    @Scott, I agree that the BA’s create significant problems when they try to dictate solutions and timeframes. As they say, a little bit of knowledge is dangerous.

    @Brian, I agree that most BA’s these days have a good conceptual understanding of technology like databases.

    I also agree that in small operations it is more likely to result in a better outcome using a competent developer than getting a BA to program.

    We need to have BA’s do what they do best, analyse the business. Get the ideas and requirements out of people’s heads and down on paper so they can be understood, scrutinized, and evaluated.

    It should then be up to the technical people to then produce a solution and an appropriate timeframe to deliver.

    I’d like to hear from any BA’s on this topic.

  10. scott   September 7, 2009 at 5:30 pm

    Absolutely, to many times I have seen BA’s make decisions and then force a rediculous turn around time on a programmer (or agree to something that just cannot be delivered as requested).

    Only BA’s that either were a programmer or have at least some programmer skills, can adequately know what it takes to get it done. BA’s also need to know the business, the tools necessary, etc.

    I have been through where contract BA’s were brought in and the project was a failure because they did not know the business dynamics or the systems that were going to be involved.

    they just met with the client, agreed what was needed, gave a deadline date and then handed it to a programmer and said here is the task – meet it by this date.

    Resulted in many meetings on why something could not be delivered as requested or in the time that was agreed to. everyone looked bad in the end, but the BA took it out on the programmer for not being able to meet the need as agreed.

    Luckily now I work at a place where I am dealing with the client directly and have good support through our developers.

  11. Brian   September 7, 2009 at 5:27 pm

    I suppose it depends in large part on the complexity of the project and the size of the team.

    In simpler projects, a competent developer will have to interact directly with the business users.

    The developer is typically required to bridge the terminology gap, although a good user will pick up a technical idea or two.

    As the project grows in scope, more titles will appear. If the team has a Project Manager, Business Analyst, Architect, and Lead Developer it would not be necessary for the BA to have detailed programming experience. In fact, it might be counterproductive.

    Its the mid-level projects, with people wearing multiple hats, where blending of skills makes more sense. Even so, I would probably err on the side of using a more competent developer than expecting a BA to have programmed.

    Good Business Analysts will have a reasonable understanding of databases, interfaces, and especially processes — the sort of items found in UML diagrams.

    Some of the best, that I have worked with, seem to come from an accounting background probably because they have to work with data, analysis, and processes.

  12. Jeff   September 7, 2009 at 5:26 pm

    I would agree as well. Business intelligence tools have improved significantly in the last several years enabling sophisticated decision support.

    Business analysts need to leverage these tools to adapt to changes in decision making rapidly.

    This means cutting out the inefficient business analyst to developer cycle where you have a non-technical analyst with the business knowledge and a developer without the necessary business knowledge working out a necessary change.

    At the same time the BI tools and programming languages like .NET have made programming tasks much easier than they have in the past.

  13. Joel   September 7, 2009 at 5:25 pm

    Most definitely.

    How can a strong BA do their job and offer effective processes and/or clean working solutions to a client, without having some level of technical expertise?

    Information technology has been bridging the gaps between the end user and the true detail level programmer for the past several years.

    There is now, more than ever, a blending of the skills that must be achieved for one to survive within the current IT landscape.

  14. Debbie   September 2, 2009 at 1:11 am

    Good article.
    I now understand what I have been missing with BA job descriptions.

    I thought that I BA went along with the PMO groups.

    And Scott I am in your court as a rare breed as well.

    I have over 15 years of IT experience, but chose to get my degree in Business and Marketing since I think that is where the world will eventually move to.

  15. Lowell   September 2, 2009 at 1:09 am

    Good article overall.

    Here are a few thoughts:

    -some employers are combining role descriptions / functions KNOWINGLY in order to squeeze two people’s work out of one job slot.

    Others, as in the article, do so out of not understanding what the roles actually are.

    -In some cases it makes sense to add the particular skill but it may also take a year or more to come up to adequate proficiency (not expert!) in a language … which is cost in money and time many job seekers do not have.

    I’d only pursue that route if you want / need the skill otherwise and/or can afford the and/or can get the employer to help yo bridge that gap… which is possible but less likely in a very competitive job market.

  16. scott   September 2, 2009 at 12:59 am

    Of the people I know, I haven’t seen anyone (management level and above) with an education in business.

    I have both – a technical degree (IT) and an MBA. I guess that makes me a rare breed.

  17. Jackie McCurdy   August 28, 2009 at 11:43 pm

    Unfortunately in today’s market you are in the minority. More and more employers are including deep development knowledge of their business analysts which may be a reaction to the economy and the need to combine job functions. In my job search I haven’t found many employers looking for a BA whose role is only to discover and gather requirements, develop processes and ensure quality assurance.

  18. John Conley   August 27, 2009 at 9:12 am

    It is ideal to keep the task of business analysis separate from software development as the two should work in parallel (iteratively in an agile manner).

    If the employer wants a techinically savvy business analyst, then the employer should be more specific and ask for a BA who can review pre-existing legacy code in order to abstract and reverse engineer business logic.

    or the employer should hire an architect-level technical person who also still codes.

    i personally do not think BAs need to be software developers/programmers as they should be focused on mining knowledge about business processes and actors, and software features needed to support those processes.


Leave a Reply

Your email address will not be published.