One of these moments when you find out that the company is not seen as I want it to be seen. Compared to generic software engineering companies, we have the advantage of creating software that is capable of processing more data.
For years we have promoted this unique advantage, for which we use OpenCL, CUDA, HIP and several other languages. Always having full projects in mind, but unfortunately not clearly communicating this.
During discussions with several existing and new customers, it became suddenly clear that we are seen as a company that fixes code, not one that builds the full code.
It became most clear that when was suggested to let us collaborate with another party, where our role would be to make sure they would not make mistakes regarding performance and code-quality.
- Customer: You can work with a team we hired before.
- Us: We also do full projects.
- Customer: Really?
This would mean we would be the seniors in the group, but not own the project – a suboptimal situation, as important design decisions could be ignored.
We have done several full projects and have designed the internal structure for it. We have defined these roles within the company:
What was most surprising to our current customers is that our rate of the software/performance engineer is very comparable what they were used to. When we fix software, it is all done by analysts, algorithm designers and performance architects – those have a higher rate.
We’re trained in understanding complex problems quickly and to come up with new ideas. When we fix software, we isolate code, redesign its architecture and rewrite where needed. When we build new software we do this right the first time, reducing time and costs.