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.

I spend a fair amount of time reading programming blogs, and it seems to be a popular belief that having business knowledge adds value to a programmer. I can see the reasoning for this:

  • Understanding the business helps programmers make wise decisions
  • Might encourage less "taking too long making everything perfect" and more "getting things done"
  • etc.

I'm currently an intern at a major company. I've learned loads of great technical things during my time here and I've definitely developed as a programmer. However, I feel like I don't understand my team's place in the ecosystem as well as I understand the technical stuff I'm actually doing. To remedy this problem, I'm planning a meeting with my manager. This seems like a great opportunity to learn about my company/team and become a more valuable contributor.

I'm trying to come up with a list of questions to ask. So far I'm thinking of things like:

  • Who are all of our customers?
  • Could you describe our company's relationship with other companies?

I want to make the most of this time to learn about the company and my team's role in it. So, what "business aspects" of my team are most important for me to learn about? What kinds of things should I ask about?

Notes about my team:

  • Much of my team's work is for internal use in the company
  • Not a "customer oriented" team in that sense, though our customers are other teams in the company
  • Much of my team's work consists of enhancing tools (adding features rather than developing whole new products)

p.s - this question is similar to this question, but is different in the sense that I'm not asking what I need to know about business in general, but what I should learn about my specific company and team

share|improve this question

closed as too broad by gnat, Bart van Ingen Schenau, GlenH7, MichaelT, Giorgio Dec 1 '13 at 20:13

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

    
You could take two semesters of German, or you could live and breath German while living there for a year. There are positions called 'pre-sales engineer'. You do not really understand business until you have interacted with the sales. Another good way to learn 'the business' is to start your very own 1-man web development/consulting company or working for a small start-up. You want to be so close to the money that you can smell it. Then, after a while, you will sort of 'get it'. –  Job Aug 26 '11 at 1:46
add comment

4 Answers

Some questions I'd ask: How does your company get new business? How does your project do customer relations? What are the factors that guide things like deciding what business to try for or when to say yes or no to a customer? How are contractor and consultant decisions made?

share|improve this answer
add comment

Firstly can I say - kudos to you for thinking about this.

For me it's about the question 'Why do we have this deliverable?'

Say you deliver a product (or a service, or some docs or whatever).

Ask yourself these questions:

What does it contain and Why?

  • Who is the target Audience?
  • What are their concerns?
  • What language (think of their business areas, e.g. retail banking Accounts/Loans/Deposits etc ) do they use to express their ideas?
  • Why are their concerns important?
  • How do they (generally) make money?

Next think about your company

  • Which of the above does it care about?
  • Which areas of the company cover the customers concerns?
  • How do they do it - products/services/something else?
  • Which of the other parts of your company are involved in this process (say marketing or sales or support)
  • Do they make money directly? How? If not - why are they still important?
  • Which concerns do your team concern itself with?

Now think about the team

  • Which concerns are important to the audience and which are important to your team?
  • Are they the same? If not why not? Do you serve many masters?
  • Who are key people in your team?
  • Are these people stakeholders/owners of the respective audience/team concerns? Sometimes more than one person owns problem areas.

By now you're building a map of what and why the business is. You can keep redoing this over and over to get more meat on the bones. Think about how much easier it will be participate in technical discussions when you have this knowledge.

This should give you the some questions you can ask your manager and perhaps get them to maybe introduce you to other people in other parts of the organisation who may be happy to help.

share|improve this answer
add comment

Focus on how customers are obtained and ways you can create technology to help make it easier for them to buy from your company. Avoid the temptation to separate developers from customers. Get to know them. Sit in on conference calls or visit their sites if possible. Even if you just manage to simplify billing. Ask the questions to enable you to do this.

share|improve this answer
add comment

I have found the most valuable thing about knowledge of the business is knowing what they will ask before they ask it. There is nothing more satisfying than to have them say "Now we need it in blue, how soon can you do that?"....and telling them you can have it done quickly.
After a while you get to see where a product or initiative or sales idea will be going and you can program accordingly. The beauty of it is that by using good programming practices like modular code, well defined classes and overloading you can look brilliant while just doing the right thing.

share|improve this answer
add comment

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