Software Engineering at Avos
Technology
We aim to use modern yet tried and true technologies across our projects. While we endeavour to keep our technology stack lean and simple, when the project calls for it we will reach out to bleeding edge and emerging technologies. Software engineers can expect to encounter all of the below and more over time at Avos, with support and training in new technologies applied judiciously.
Being a startup, we are product focussed; we aim to ship features early and often. At the same time we care deeply about quality and applying sound engineering principles. To that end we invest in writing unit tests and integration tests, in using continuous integration, code review, peer programming, collaborative design, and other modern software engineering processes.
Cloud and Backend
- Programming language: Golang
- Cloud provider: Microsoft Azure
- Infrastructure as code: Terraform
Web Frontend
- Programming language: Typescript
- Framework: React
Android Devices
- Programming language: Kotlin
Example Projects
As a new company there is a large amount of greenfield software design and implementation. Below we share a small selection of projects giving some idea to the variety and range of problems we face day to day.
High-FPS, low latency screen capture and remote touch/gesture input on embedded Android devices. This project utilised Kotlin, Android APIs for media and input, and networking to send compressed video between devices.
Greenfield cloud development: bring-up of new components on Azure using infrastructure as code (Terraform) and design and implementation of new backend services. New components, modules, and applications are often being added in this area as we build our product portfolio. Interesting challenges arise in distributed systems design, availability and robustness, and more. Most commonly systems are implemented in Golang with a Postgres data backend.
Part of our mission is to explore modern technologies and their application to our product space. For example utilising AI models from OpenAI and AssemblyAI to provide real-time AI services to novel scenarios on Android-based devices. The first products based on this will be combined Android applications, our own cloud services, and third-party providers.
Graduate Training Scheme
We are excited to offer a comprehensive and structured program designed to help you develop the skills and experience you need to become a successful software engineer. Our program includes the following key components:
Mentorship
Each graduate software engineer will be assigned a dedicated mentor, who will provide guidance, support, and feedback throughout the program. Your mentor will be an experienced software engineer who is able to offer practical advice and share their knowledge and experience.
Weekly lunch and learns
These sessions provide an opportunity for graduate software engineers to learn from and network with their peers, as well as to hear from industry experts and guest speakers. Topics will include technical skills, soft skills, and industry trends.
Guided access to training courses
We will provide access to relevant training courses and resources, such as online tutorials, MOOCs, and books. You will be encouraged to take advantage of these resources and to share what you have learned with your peers.
Project-based learning
You will have the opportunity to work on real-world projects alongside experienced software engineers, in order to develop practical skills and experience.
Career development
Our scheme includes opportunities for career development such as performance reviews and goal setting, to help you plan your career path, and understand the expectations and requirements to advance within the company.
Networking
We provide opportunities for graduates to network with their peers, as well as with industry professionals, such as attending conferences, networking events, and industry meetups.
Flexibility
The scheme is flexible, to accommodate the individual needs and goals of each graduate software engineer.
Feedback
You will be provided with regular feedback on your progress and performance, and given opportunities to discuss your progress with your mentor and other members of the team.
Competitive compensation package and benefits
Our company provides a competitive compensation package and benefits to attract and retain top talent.
A fun and collaborative working environment
We foster a positive and collaborative working environment, where you can learn, grow and thrive.
We are committed to providing you with the support and resources you need to succeed as a graduate software engineer. If you are interested in applying to our program, please contact us to learn more and to submit your application. We look forward to hearing from you!