Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Suppose you just accepted a job, writing code in an industry sector that you've never worked in before. To be effective, you want to immerse yourself in the business domain - to understand the vocabulary, issues and people you'll be working with.

Obviously the first step is to find good mentors and reading material to begin to get acquainted with the domain. After that, how do you "learn" the business? What tools, techniques and resources do you use? For instance, is a wiki a good way to capture the domain language?

share|improve this question

closed as too broad by gnat, MichaelT, Dan Pichelman, Kilian Foth, GlenH7 Jan 26 '15 at 20:25

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.

up vote 9 down vote accepted

As a consultant, I worked in various domains such as utility, telecom, aeronautics, finances, etc and I've faced your problem many times. Over time, I discovered a very simple method that works: being curious.

  1. Request a one to one introductory meeting with your supervisor which purpose is to explain the business domain (the big blocks). It should not last more than 4 hours. Prepare your questions in advance.

  2. Ask the supervisor a field visit. When I worked in the telecom, I asked to visit the server routers and transmissions rooms as well as the NOC. It helped the team have a purpose instead of blindly writing code. We knew why our stuff was useful and more importantly, who will be using it.

  3. Have frequent lunch with suits. I would say, more than with fellow programmers. They love to talk about their stuff and if you listen carefully, you will learn lot of amazing stuff. Be prepared to share amazing stuff with them too or you will be boring very quickly.

  4. When you have the occasion, visit other departments. Ex: when I had to work with a marketing responsible of a big finance institution, I asked how our applications helped them and what was her processes. By listening actively to her, I was able to find out new stuff to automatize and make her work life easier. I propose a physical visit instead of a phone call. So you can see her doing the thing and more importantly, using your application! What is obvious for you, is not for someone else.

  5. Buy books on your domain and watch youtube videos. Read your domain's information websites as well. Give priority to literature of science type of books. Too technical books could be boring or impossible to understand in the beginning. What you need is general concepts.

  6. Talk about what you do to your friends & family often. It will helps you integrate the huge number of stuff you learn. Prepare an elevator pitch, and be prepared to give details.

  7. Read all the news your company publish. Including yearly reports. In fact, the first thing to do when you are hired in a new company, is consult their website and publications.

  8. When you don't understand something, don't hesitate to ask the guy in the company (email preferred) that can answer your question. The worse thing that could happen is being told that (s)he has no time for that.

Remember this: the developer that knows the domain very well is not a simple developer anymore. He is a little more than that. So do your market value.

share|improve this answer
+1 especially for connecting with others in other roles, other departments, including the suits. – DarenW Jul 16 '11 at 18:26
+1 for curiosity. I have a background in education, so going into IT has forced me to learn something every day. – JeffO Jul 16 '11 at 22:50

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