The Ideal Systems Architect. Who is that?
We have a deep knowledge of modern software architecture principles, as well as design and behavioural patterns, along with proven experience in cloud solutions such as AWS, Digital Ocean and Google Cloud. We also have a solid understanding of the Java platform in general and its major Web specifications; here is a short list of these:
- Reactive Streams
- Java Messaging Services
Along with the specifications we are proficient at:
- Main Web frameworks such as Spring (including Webflux) or Play, along with the testing framework jUnit 5 paired with Mockito.
- Creating infrastructure in general, following the «Infrastructure as Code» approach with Terraform accompanied by a variety of DevOps tools for software provisioning, configuration management, and application-deployment (e.g. Ansible).
- Load balancing and securing web systems using Haproxy or Nginx.
- Dev/build tools such as Maven or Gradle.
- Message brokers RabbitMQ or ActiveMQ.
- Modern web servers such as Netty or Jetty.
We are able to design and create containerized web apps from scratch with CI/CD flow (e.g. Circle CI, Travis CI, Jenkins) powered by Bash/Python scripting, as well as hands-on experience with both SQL and NoSQL databases such as MySQL or MongoDB. Additionally we have experience of creating accompanied log management and health monitoring systems.
Front End Development
We use the same approach we take with the backend infrastructure design when we analyse what is required by a business from the UI point of view. Creating the front end architecture and connecting the application with continuous integration and continuous delivery systems is a very important set of tasks; the result of which directly affects the future codebase maintenance costs. We are proud to be able to use the best dev industry practices and we plan for the future based on a deep analysis and understanding of your business needs.
Mobile Applications Development
The idea of creating a mobile app for your business is not new.
With a mobile application you can fully transform a client's experience of communicating with your business and keep strategically reminding them about your services. From the other side - you can have full control of your system’s processes through the dashboard, at the tip of your fingers, using your mobile phone.
Due to the long list of goals that can be solved by mobile applications, it is important to use the right approach to development. We are very lucky to have a super talented team of native mobile application developers, who have experience
with both iOS and Android devices.