Technological innovation at Advian largely entails the development of location-aware Edge AI applications with software engineering, geospatial product development, and machine learning.
At the forefront, our experts do software engineering that consists of development work with either a clear idea and execution plan or completely from scratch. In cases without an idea or a plan, the team needs to get experimental by testing different creative approaches for producing new models and designing architectures.
"Like once said, if it would already be thought out and solved, it would be called software construction and not software development." – Rambo, Lead Technical Advisor at Advian
Another focus area is geospatial product development. This requires a lot of back-end research to automate quality assurance as much as possible. Since the technologies used are completely new, a big part of the work goes to research activities. Omar, the team's Machine Learning Engineer, tells more about the team's work:
"The most interesting parts about developing innovative products are related to geospatial data analysis, developing APIs, and making visualisation tools. Furthermore, its always nice and motivating to receive positive feedback from our customers." – Omar
Additionally, the team deals with machine learning and machine vision in unprecedented ways, for example in anomaly detection, which means that there is a lot of development and research to be done. In machine learning projects, it all boils down to the iteration of different models – Making AI models work in some smart, functioning and manageable software that takes into account Advian's templates, coding standards, best practices, automated tests, continuous integrations and deliveries. The goal is to utilise advanced technology for novel use cases that enable our customers to do their work easier and with higher efficiency.
Below, you can read about a project that was the result of innovation development and included the use of thermal images to detect leaks in a district heating system:
4 tips for innovation development
Advian's team of experts listed some of the core guidelines they follow every day and tips for efficient innovation development.
1 Version control
In software development, it’s important to track and manage changes to software code over time. To make sure that the cooperation within our team works smoothly, we need to have a good version control and a proper tool for it.
2 Coding standards & Best practices
Another fundamental activity is to live up to the common coding standards and best practices. This way we minimise errors and create cleaner, more readable and efficient code together. We use Python type hinting in strict mode to ensure a good code quality, which has made everyone’s day-to-day work easier.
We believe in automating processes, such as the maintenance of quality levels and tests as far as possible. This also applies to automated unit and integration testing and having as good of a test coverage as possible.
4 Works on my machine syndrome
“Works on my machine syndrome” is unacceptable. In all innovation and development projects, we require the team to provide a Dockerfile that allows anyone to have a working environment up and running with a single command.
Challenges in innovation development
A lot of the development work is often related to something that hasn't been done before, and the issues that the team faces are very challenging:
“Our team gets to solve a lot of difficult problems, but that’s of course the most interesting to me. Let’s say that if the work we do would be easy, someone else would do it cheaper,” Rambo comments.
Likewise, Arsi the team's Data Architect, reflects on how solving and overcoming challenges is rewarding with a talented team:
"It's super exciting too see and experience a vision of a product shape up into a working solution as we go on. Also, working in a group of smart and humble people sharing a goal and passionately working towards it is a great experience." – Arsi
A continuous challenge that the team faces is updating and changing code that has been untouched or idle for a long time. Of course, version control and a Docker can help to some degree, but it’s still a challenge to keep everything up to date – Although critical from a data security point of view.
In software development, working with project templates also provides challenges as they need to be adaptable and changeable. It's critical to also have them updated frequently according to needs.
What's on the horizon?
The future of Advian's innovation development will focus on product development to strengthen the automation levels and develop the quality of our data analytics process. As for other parts of innovation, the team will continue with machine vision projects with many interesting elements:
"I'm mostly excited about getting to work with 3D and robotics in our future machine vision projects", Rambo concludes.
Of course maintaining and developing everyday best practices and tools for streamlining the team's work is also always on the agenda.
For you who want to work with innovation
Innovation development requires a host of hard technical skills and soft skills to truly succeed. In general, it helps if you are creative and imaginative with a problem-solving mindset, since you either develop already known things or do a lot of unknown experimenting. Most likely you'll stumble upon unusual or even weird problems. But for many co-Advians, the learning process is the best part:
"The most exciting thing in general is learning something new everyday." - Nadir, Machine Learning Engineer, geospatial product development
"It's exciting to work at the crossroads of edge and cloud, with the solution running both on user devices and in cloud services utilizing a modern tech stack." – Arsi, Data Architect
Advian's team recommends you to know the following technologies:
In software development you should know Python well and be familiar with Python type hinting, since it's a highly used language in the field. If you are interested, it also helps learning Rust, C++, and C for tackling performance issues. Knowledge and proficiency in other technologies are always a plus.
On the data science side you benefit from mastering R and Machine Learning (basically pure Python) that includes a lot of different frameworks like TensorFlow and PyTorch.
Overall, innovation development calls for patience and a general interest towards research to find innovative ways of solving critical issues. It's key to stay up-to-date with the latest industry updates since new, smarter, and more efficient ways of working emerge constantly!
Are you interested in joining our team?
You can send us an open application in the link below.👇