This may be a better question for /r/cscareerquestions/ or another sub but I’m not sure.
I have degrees in computer science, electronics, and business. I work for a US engineering company that provides engineering consulting and manufacturing automation services. I’ve been working for this company for nearly a decade. We have less than 500 employees.
Our company hasn’t been very focused on software development. When we do provide dev services, we typically sell this as T&E or fixed price consulting services where our customer ends up owning the code we develop. No licensing, no support fees. I would say in less than 5% of these cases does the customer actually maintain make any changes to the code base or switch to another consulting company and ask them to maintain the code. Considering our industry, our code tends to be more advanced than our competition (I’ve lost track of how many times I’ve been asked “what’s a pointer?”). Usually after we deliver a product or service, we don’t hear from the customer again because the product works and they are happy. If we do hear from them, it’s because they want a new feature or found a bug, or have a new idea they’d like us to work on.
We have more and more customers asking us to provide development services, but we currently don’t have the staffing to support the requests. To this end, management is considering grouping us internal employees who have CS backgrounds together. Since I also have a business background and have been with the company for a while, I have a chance to present options to the company and shape the path forward. If we are successful as a group and standardize more on practices and SOPs, we could start hiring more staff to market the service.
The main motivation for corporate decisions like this for us is profits. Making a move, new department, whatever needs to be profitable. I don’t have marketing statistics on what our customers could consider buying, what they would be comfortable with, etc. I can make some assumptions but still need to demonstrate some business models to prove we could be successful.
I’m seeking advice. For those of you working in more standard software development consulting companies, how do your companies generate revenue? I’m not asking for you to write a business plan for us, but I’m interested to find out what tactics have worked for you, and what ones have not.
Some ideas I’m playing with include:
- Developing a suite of applications that we treat as software products, and sell to our existing new customers. Maybe these could be site or user license/CAL-based. Customers pay for a license – not to own the code.
- Provide offerings that require a subscription. Many of our own vendors do this now. Capital Expenses can be treated as Operating Expenses, and the subscription also covers bug fixes or minor additional feature requests (which right now for us would be a new consulting job and a large additional cost for the customer).
- Continuing to offer our standard consulting option where we develop custom products to meet a customer’s specific needs – but somehow sell this as a license model, perhaps at a lower cost compared to straight up time and expense – to try and avoid the customer owning a copy of the code.
- Our standard offering, but with a higher hourly cost. I’ve heard that companies like SAP require $250/hr minimum for consulting time. We could raise our rates and still be well under this fee.
Like I said, I’m not sure of one of these will work, all, some combination, etc. Since I’ve been in my company for a while, I’m not sure what is standard for other firms that aren’t Microsoft or Google or SAP or large behemoths.