Please introduce your company and give a brief about your role within the company.
Geomotiv is a software development company. We specialize in delivering web and mobile apps, as well as enterprise and SaaS solutions.
It’s worth mentioning that at the same time, we have deep niche expertise in such verticals as AdTech and Streaming Video (OTT services). We also actively develop our software development expertise in the Healthcare domain.
At this stage, I am mainly responsible for strategic planning and the company’s advancement in general. Although, at various stages of the company’s growth, I had the opportunity to work in different capacities - as an engineer, a business consultant, and even a DevOps.
Now the company is growing, and we always welcome new people aboard. My priority is to provide every newcomer access to the knowledge accumulated by me through the years of working on different projects. New employees should also accept the values that have emerged within our company. That is why, among other things, I dedicate much attention to the optimization of internal processes and communication with top managers.
What was the idea behind starting this organization?
We came into AdTech with a small team with successful experience in high-load application development and Big Data. It was a deliberate decision, as we wanted not only to develop software but to solve specific problems of our clients in the first place. We evaluated our technical expertise, contrasted it to the list of industries where it would have the highest worth, and went for AdTech. And so we’ve been tightly linked with the industry for seven years already.
Although we had developed software before, this is the exact moment I consider the dawn of Geomotiv.
What is your company’s business model–in-house team or third party vendors/ outsourcing?
We keep our specialists with niche expertise only in-house. Depending on the needs of a particular client, we often apply a perfect blend: in-house plus contracted resources, and of course, we take into account the individual wishes of our clients. For some of them, co-located teams are essential, so we don’t offer contracted resources in that case. Other clients prioritize the ETA of ramping up the team and launching the project over other things. In this case, the clients usually approve of having remote engineers on the team. As one of our clients says, “I don’t care where the engineers come from as long as you guys do it fast and in a cost-effective way.” Which we do, haha.
How is your business model beneficial from a value addition perspective to the clients compared to other companies’ models?
If a client is after one of our expert areas, our advantage is the necessary expertise. Many other companies don’t have a distinct specialization and take on every project in a row. We, in our turn, have deep knowledge in AdTech and several other industries, which has become our added value.
What industries do you generally cater to? Do you have loyal customers?
As I’ve already outlined the major industries we cater to, let me add here that we also have sound experience in MarTech, Logistics, Hospitality, and FinTech.
Yes, we do have loyal customers, and we value them a lot. 90% of our customers have been working with us for more than two years. Some of them even switched the companies for which they worked and continued collaborating with us on new projects.
Mention the objectives or the parameters critical in determining the time frame of developing software.
Initially, it is necessary to define clearly the project objectives. Everyone should be on the same page about project goals. I mean both the engineers and also clients. Sometimes it can be difficult for the client to formulate the project objectives on their own.
For example, we had a client come to us and state that they needed to have a DSP developed. Later it turned out that 90% of their inventory was used in direct campaigns. So the real problem was to manage campaigns efficiently, not to buy traffic from third-party resellers. It's not a problem. Our solution consultant can help solve it. Sometimes we also ask our clients to involve other key stakeholders in the discussion in order not to skip important details.
Having determined the project goals, our business analyst starts working on project requirements. Together with the solution consultant, they define the architectural and functional aspects of the future application and pick the tech stack.
At this stage, the functional specification is the deliverable, which we provide to the client for further approval. We work with the client on their feedback and adjust the spec.
Next, when applicable, we propose design options to the client and prepare prototypes of the future solution.
All these stages are critical for a correct estimation. And they have to be conducted before starting the implementation. Our goal is to help the client and, at the same time, to speed up the process and reduce potential future friction.
It is also worth mentioning that we often deal with complex and long-term projects (usually north of 1 year), and they entail some hefty development! In this case, we tend to provide a preliminary estimate of the scope of work for each phase separately.
How much effort in terms of time does it go into developing the front end and back end of software?
It mainly depends on the project’s target audience.
If it's an internal project, for example, an enterprise software platform, then we can invest less time in the front end. This is because when a customer implements a new solution in the organization, they usually can train the staff to use the new system. So the scenarios in which the user doesn’t utilize the functionality properly can be avoided. This doesn’t mean that UI/UX don't matter here. My point is that you don’t need to design for numerous use cases, which can be highly unlikely.
Quite the opposite situation is when we deal with software products such as B2C web/mobile applications or B2B SaaS platforms. In these cases, front end development can take up to 70% of the effort. We need to design for multi-variant use cases to meet the expectations of the user base. This is crucial as it dramatically affects the user-to-customer conversion rate. If the user finds the application counterintuitive to use, they are more likely to turn to your competitors. That is why such projects usually require more effort for the UX and front end.
To sum up, both front and back end parts are of the same importance for the project.
What are the key parameters to be considered before selecting the right framework for developing software?
It depends primarily on the project itself and what we deal with from the start.
If we talk about developing from scratch, then we select the technologies taking into account future software features and the individual wishes of the customer, such as the time to market, scalability, load, data processing, and so on.
Apart from that, we try to choose technologies with established ecosystems like community, frameworks, libraries, and tools. Thus, we do our best to protect the customer from potential future issues. New technologies don’t always stay afloat for a long time. The trends come and go, but the software built on that technology remains and has to be supported. As a result, it may be difficult and expensive to find specialists for maintaining and improving such solutions.
Sometimes the clients approach us with existing software and ask to implement new features or optimize the legacy code. In such cases, we can’t ignore the original tech stack.
And some clients are just looking for specialists with experience in particular technologies.
Which languages and frameworks do you prefer to use in the development of software?
Although we have a fairly extensive tech stack, I would like to highlight the following: Backend - Java(Spring), NodeJS, Python (Django, Flask), PHP;
For Big Data processing, we use Scala and Python as well as the Spark and Hadoop ecosystems.
What are the key factors that you consider before deciding the cost of the software?
Though we are guided by tried and true methods to assess effort and pricing, we often have to explain to our customers that the cost to develop the same project can vary from $10,000, $50,000, to $150,000. I mean, you can get the same set of functionality at each price level, but the quality and completeness will differ significantly. And I have to stress that it won't be a flaw on the vendor side. Cheap, fast, qualitative -- choose any two, as they say.
That said, there is generally nothing strange or unnatural when your prospective vendor asks you about the project budget. Knowing this allows managing the client’s expectations appropriately.
If we talk specifically about project estimation, we take into account the following: the target platform (web/mobile), focus (enterprise/SaaS), expected load, UI/UX impact with regard to the list of features, business priorities, external constraints, for example, the release date set by the top management and so on.
What kind of payment structure do you follow to bill your clients?
We bill the clients mainly on the T&M and Dedicated Team models. With T&M, there's a monthly LAR and invoice that the client reviews and pays. With a Dedicated Team, every specialist has a fixed monthly rate.
Do you take in projects which meet your basic budget requirement? If yes, what is the minimum requirement? If no, what was a minimum budget you have worked with?
In this respect, we don’t adhere to strict rules. Before deciding on a potential new venture, we prefer to hear out the idea or the need of the client. After all, the project may be small-scale at the start, but exciting and promising in the future.
What was the price range (min and max) of the projects that you catered to in 2018?
Back then, the cost of a project ranged from $50,000 to $500,000.