From a higher level, there are two main type of companies that web or ui/ux designers can play a key role. One is a digital agency that takes on client projects and another one is a in-house software company that develop, maintain and sell a software product as a hosted service.
One major difference between these two types is how the revenue is generated. For an agency, almost all revenue comes from clients' pocket, they could bring 10-20 clients on board per year depending on the capacity and each client pay a big buck. It's completely different for software companies that their revenue is determined by the number of customers paying for a software service for anywhere between $10 to $500 monthly.
Having this remarkable difference in the revenue model has a huge impact on how differently they operate each day.
The following comparison is based on my personal experience and also based on things I hear among my network so understand this is not an absolute truth nor industry standards - it can vary even by where a company is based, what kind of clients or niche market they work for and what not.
- Every team member works towards the same goal, a positive team spirit.
- You get to experiment with things in depth because things run in iterations.
- Prototype and wireframe are the key design process and if it's your thing, you will never get bored.
- Apart from data or server issues that need an immediate cure, it's more relaxed working environment.
- Innovative software companies that value creative input pay well.
- Working for a same product all year round, sticking to a same style guide can slow you down. Innovative companies overcome this by letting designers choose what they want to work on as long as it adds value to an organisation.
- There are many slow software companies that are afraid of changes. It gets very difficult to pitch new ideas when people are not keen.
- Design is not at the centre of many software companies and there is a tendency that things get developed before usability issue is addressed, causing expensive fix at a later stage. It can be a tough job if you have to work against this.
- Variety of projects from various industry.
- You get to see projects moving fast from start to finish, keeping you motivated.
- You will become good at prioritising and managing time.
- You get to see how your work adds value to your client business and it's a rewarding feeling.
- Time management is strict and a timesheet is a big pain but you need it for backing any future invoice disputes.
- Production people tend to get micro-managed by managers because things need to be communicated back to clients.
- Time & budget pressure makes it hard to do the best work from time to time.
- Less forgiving for mistakes.
- Can create a blame culture to pay for mistakes - leading to a poor team culture.
- Everything has to be estimated and approved until actual work can happen.
Whichever type you choose, there will always be some good lessons to take away and it will become clearer which type of work you prefer once you experience yourself.