Software development requires knowledge of many other engineering disciplines i.e. electrical, mechanical, chemical, medical, banking, finance, telecom and others. This makes software science a blend of many sciences. Even if you have completed your graduation or Masters in any other discipline other than software, you can still be a part of a software house.
Who can You Work For?
You can join any company which either produces software as a product or which produces a product with software being used for its creation.
Majority of the software houses have their office in the 3 big cities – Lahore, Karachi & Islamabad. You can find 2 types of software houses in Pakistan:
- A small software house.
- A Big software house (or a software company).
A Small Software House
Compared with big companies, their count is much higher but office strength is much lower. They are located in houses, streets, commercial plazas and some in the software technology parks. The mentality of a small company is to look for a rapid growth and do things for attaining quick profits.
In a small company you won’t just be writing code, you will be engaged in several other things. Whatever and wherever your performance reflects your quality of work, it will be fully highlighted. The impact of your work will be clearly visible.
You may not end up doing only software development here but also software testing, interacting with customers, providing support to customers, writing documentation and at times end up fixing computer network issues yourself.
Here climbing the corporate ladder is far easier, working here is like a pure business. If the company goes successful, you will be rewarded high, you will be promoted. If it goes down, you will be in a drowning ship. Its simple really. Loss and profit are both directly proportional to the investment and depends on the risk. Business postulate says “ the higher the risk, higher the reward.” And that’s what you get to play around with.
Working for a small company is like a lottery game – you might hit Big someday or that day may never come.
A Big Software House (or a Software Company)
They have been here for quite some time now. In Pakistan, their average age is around 12 to 15+ years and their office strength exceeds 100. Work here and most of the time you will only be telling people that “ I work in a multinational company.”
In layman’s terms, a Multinational company is one that is operating in several countries. Majority of the big software companies in Pakistan don’t have much strength offshore. Their presence in the Middle East, Europe or in USA can be generally explained away as legal paperwork. Your work results in a software product which will be exported to the countries where it’s in demand.
In Pakistan, Big software companies are making profit. Yet they remain still far away from the Fortune 500 list. They are stable, pace is slower compared with small software houses. Your contribution is not very important for company’s survival, since they can hire replacements. They will keep adding resources and will have many in a pool as your replacement in case you quit.
Processes are well defined here, with many departments happy to help you out so that you don’t need to do all the things on your own. Their division within office includes departments like software development, software testing, Admin, Human Resource, professional services, Technical support, Network support, Finance, Sales, User Documentation and Trainings, Marketing and configuration management. In most cases only the strength of office boys of big company outnumbers the total strength of a small software house.
At times, working here is frustrating, and you may end up feeling that individual contributions don’t matter. You are working on a very small part of a very big product. You will often be informed, from time to time that your contribution do matter, but the reality is that you can’t get your hands into all aspects of a software.
You may not be working on what you like. You will often be requesting your boss for a team shuffle so that you can work in the area you like. Only to find out after a year or 2 that what’s new is boring again. You can’t get the environment of your choice, the work of your choice and the salary of your choice here. Be ready to do a compromise here. You may not be asked to work extra hours which may come at a price of you not being pushed to your maximum potential or job satisfaction .
If somehow, you can climb the corporate ladder here you can expect to get very high salary and benefits. However this may not be the case for everyone here.
Pros and cons of Big and Small Software Companies
Lets take a look at the pros and cons of working at a Small Software Company.
- Flexible roles, exciting work.
- Good salary (yes they won’t have salary cap).
- Higher impact of work.
- Bonus and payment for additional work hours.
- Job satisfaction on producing quality stuff.
- Potential to grow.
- You remain up-to-date with new technologies.
- Challenging work.
- Low stability.
- Big risk.
- You can’t hide your faults.
- More work and pressure.
- More time in office.
- No medical insurance.
- No additional benefits, only salaries.
Next up, we take a look at the pros and cons of working at a Big Software Company.
- High Stability.
- Process, procedures and protocols.
- Training opportunities.
- Less working hours.
- Less work pressure.
- Outdoor activities and trips.
- Upper management are among the highly paid in Pakistan’s software industry.
- You may not be working on new technology (most of the time).
- Big lay-offs (when the time comes)
- Big source-code base – difficult to grasp.
- Standard SOPs rather than creativity.
- Big learning curve of domain and source code base.
- Slow pace, monotonous and boredom.
- Office politics.
- Difficult to get noticed.
- Salary caps (70% of employees are paid lower compared with their market value)
Whether small or big, before joining, its a good rule of thumb to try get the maximum information as you can about the firm.
But be ready to strike a compromise – it’s difficult to get ‘all the good stuff’ at a single place. Ask yourself, what is important for you and then choose.
The key is to think like a shopkeeper and not like a software developer. Software is what you create – it’s your product. Just like a shopkeeper who decides the plaza where he would like to open his shop.
As we end this post, ask yourself, in which software house would you like to open your store and sell your code?