Monday, June 2, 2014

Choosing your interest

Hello All,

Though my attempt here is to discuss about SAP Business Objects, I would like to go in deep about the software field and how to choose the platform that suits your interest. My intention is, that any person with little or no knowledge on IT(Information Technology) field should be able to understand what exactly happens in there right from basics.

After completing my graduation, I started to think on what technology should I choose. Believe me, that was the toughest ever task in my life. Started taking advises from friends and family. Everyone suggested a different technology. There were many suggestions like Java, .Net, SQL, Oracle, Testing tools, Data Warehousing tools, SAP, Peoplesoft etc etc etc., Finally, I wanted to do some research on what are the various technologies available and where do they fit and how do they work.

In my research, I discovered a lot of things which were new to me then and excited me a lot. As I said, I was a fresh college grad and have absolutely no knowledge on which technology to choose from. I found out that, to choose a technology, I have to choose the software path first. The path I mean here is the Software type.

I would explain this by taking a company's day to day activities as an example. Take a company ABC. When the company first started, there would be very few employees. To manage the day to day activities, they need to keep a log of what's happening in all the departments. If that was in olden days, we used to have files and ledgers with written data. As this is Computer age everything is being replaced by a computer or some sort of auto storage device (I am talking here about company data). 

Our ABC company is an online goods seller. People log into their website to purchase goods and the company ship them to the customers. Say, our company has few departments.

  • Management
  • HR (Human Resources) 
  • Stock
  • Packing
  • Shipping
  • Customer Service
As our company is just started, there would not be many orders from the customers (Here, the company is using a third party website provider to market themselves). Fulfilling few orders was not a tough task as they have enough man power. Here comes the main scenario. The company wanted to get the log of what's happening in each department to track the company's progress. The management wanted to know about the functioning of the company, HR department wanted to know about how the employees are doing, Stock department wanted to know the stock in the company etc etc., To access all this information, they have to have a sharable file. They choose Microsoft Excel to start with, as the company is still in the budding stage.

MS Excel is a spreadsheet with grids that allows you to store information. They started storing all the information regarding their employees, stock they bought, stock in the warehouse, number of orders till date, customer satisfaction levels and their contact information. Then, started their first issue. It was very hard for them to share the excel files among themselves as there is only one excel file for each department. Sometimes, one department wants to access information from other departments like, the management wants to see the number of employees and their salaries so that they can estimate the profits. In the same way, the customer service department wants to  access the file from stock department to see if they can help customers in placing new orders based on stock availability. So, they came up with a concept of using the shared folder. Anyone can drag and drop the excel spreadsheets into that folder so that it would be accessed by other departments.

As the days passed, they are doing business very well and it was becoming tough for them to manage data using excel sheets. Here comes the idea of using a Database. As the name says, database is a place or location where all the data about the company is stored electronically. Like we store information on excel sheets and then store them in a computer, Information in the databases is stored on Tables. The physical device on which these databases are built is called a Server. One to multiple databases can be built on the Server based on its capacity. There are many databases available in the market today. Few of them are like below..

  • SQL (can be read as SQL or Sequel)
  • Oracle
  • MS Access
  • Sybase etc.,
The data on to these databases are stored in tables. In our example, take the customer service department. As the number of customers are growing, they can't store all the information about the customers in just one table. For the ease of access, they have to split the data into multiple tables like Customer information on one table, Customer orders history on one table, Customer payment information on one table etc., In the same way, all the departments should split the data onto multiple tables for the ease of access, making it a database with say 100 tables with different information from the entire company.

As we understood how to store data onto the tables in the database, we also have to have a process to retrieve the information from the tables. Its not possible like in an excel sheet to open some file and click on the data in the database to retrieve it. We have to use a query language to retrieve the information. Few query languages available in the market are...


  • SQL
  • Oracle
  • mySQL etc.,
Using the appropriate query language for your database, you can retrieve the data in many ways. Sometimes you have to get information from multiple tables and also you might need to implement calculations on the data. All these can be achieved using a query language. By this time, I hope you got an idea on what database is and the way to retrieve information from it. The people who work on these databases are called Database developers.

As our company is growing, they wanted to have their own website. Here comes the concept of Programming language. This programming language has no connection with the above mentioned query language. Programming language can be used to give visual representation of your ideas. When you are creating a website, you might get hundreds or even thousands of ideas on how to create, what to include, how to maintain the website. All these can be achieved using a programming language. Few programming languages available in the market are


  • JAVA
  • .Net etc.,
The developers working on these languages write millions of lines of code to achieve the company's goal in  building a website. Who ever has a creative brain and is willing to work on coding can choose their path as a code developer.

The things I mentioned till here are for developers who create everything from scratch. Coming back to our example, we have the need to load the databases with data. Here comes the concept of Database tools. Database tools can be of any type like ETL (Extract, Transform and Load) tools, Reporting tools, Testing tools etc.,

As I said earlier, all the basic information is stored in excel sheets, these kind of files with the raw data are called Flat files. Flat files can be of any type like excel, note pad, Comma Separated Value (.CSV) files etc., The raw data is stored on these files before moving on to the database tables using an ETL tool. As the name says, these tools extract the data, transform them in the required way and finally load them onto the databases. The people working on these tools are not exactly building anything from scratch but just using the tool to make changes on the data. Few tools available in the market are...


  • SSIS (SQL Server Integration Service)
  • SAP BI (SAP Business Intelligence)
  • Informatica
  • Ab Initio etc.,
Now we understood how the database is created, how the data is loaded on to that, the way to retrieve data and the various varieties available in the market to use these.

Now our top bosses wants to know what's happening in the company. They would like to know the business happening at different locations of theirs and the amount they are earning against their spending. You can't ask them to go and retrieve the information from the database directly. To achieve their task, we have to use the concept of Reporting tools. These reporting tools are used on top of the databases to get the information required by the management in graphical representation. You can show your reports in the form of tables, charts, pie diagrams, guages, heat wave diagrams etc., Depending on the tool, you can even show the reports to the management on their mobile devices like cell phones and tablets as well. Few reporting tools in the market are...


  • SAP BO/SAP BOBJ (SAP Business Objects)
  • SSRS (SQL Server Reporting Services)
  • Tableau
  • Microstrategy etc.,
These reporting tools provides us with tonnes of options to customize the reports as per the business requirement. Finally, I mentioned about SAP BO for which I have started this blog for.

The next one is Testing tools. As the name tells, they are used to test the applications, reports, websites etc., Once a developer completes his/her development, it is the role of the tester to test the application if it's running properly. They test the application with a lot of dummy data to see if all the functionality is good. There are few ways of using testing tools...


  • Manual testing
  • Automated testing
These testers are also called as QAs (Quality Analysts). Once they pass the application, it is all set to go to the customer for daily live use.

By now, I believe most of you got an idea of how exactly an IT system functions and all the pillars beneath it. This can be used in many combinations like an Informatica ETL tool can be used to load a SQL database and on top of which SAP BO reporting tool can be used to get the reports and can be verified by manual testing before reaching the customers. Each of these softwares/technologies are developed by different companies and a combination of all these can be used for the day to day activities in our ABC company.

On top of these, few companies came with concepts called ERP (Enterprise Resource Planning) Packages where end to end process can be brought under one umbrella. These ERPs gives the companies the advantage of using a single package with many modules in it, which helps in right from building the databases through testing. Few ERPs available in the market are...


  • SAP (Systems Analysis and Products)
  • Peoplesoft
  • Oracle etc.,
These companies provide users with multiple modules from their packages which can be used in various parts of the companies like HR, Finance, Customer relations etc., They even provide the users with final user interface from where they can access almost everything they want with few clicks. As these ERPs provide many uses, they also come with a hefty price tag. Only the companies with thousands of employees and millions of dollars as turnover lean towards these.

I hope you now understood how the IT industry functions and the various fields available. As I said, this is my humble attempt to help those who are confused in selecting an IT field. Also note that I limited the usage of number of technologies as there are a tonne available in the market. I encourage you to do some research on them. My only idea here is to distinguish them but not to provide the list of available technologies. So, please decide which suits you the best. All the best!!!

Comments are welcome. Please correct me if I had any mistakes. Thanks!!



1 comment:

  1. Awesome snapshot into the world of IT and IT Technologies available. Thanks Sandeep.

    ReplyDelete