As a Lead Link of Talent Acquisition Circle, I am responsible for fulfiling the XSolve recruitment plan. My goal is to hire people of the greatest talents and culture fit to our team. I care about the most valuable recruitment process for all the candidates as well. See you at the interview!
Machine Learning is now the No. 1 topic in the world of AI-oriented technologies. What makes this subject so interesting? How will its progress influence the way we work and what value will it bring to the business? And how can software developers be involved to make use of it?
At XSolve, we opened the Machine Learning Chapter as a space for intensive learning and experiments within this technology. How does this look in practice? We’ve asked this question to our Senior Software Developer, one of Machine Learning pioneers in our organization – Paweł Krynicki.
Where did the idea to develop Machine Learning at XSolve originate from?
In my opinion, Machine Learning is the only right direction as far as software development companies are concerned. Our technology development strategy is going to be based on it in the upcoming years. There are already prototypes of systems based on artificial intelligence that are able to generate HTML or CSS code.
You can expect that in no more than twenty years, or maybe even sooner, Machine Learning technologies will replace most of developers’ work and this profession – as we know it today – will cease to exist.
Vladimir Alekseichenko has had a great take on this topic in his presentation: Programista 2.0, where he points out what is happening today and what might happen tomorrow.
Well, isn’t it like sawing off the branch you’re sitting on?
Of course it is, but there’s yet a long way before we get to that level. Anyway, it’s not like everything can be substituted by machines, developers will always be needed to make those machines. Still, probably all programmers will have to take a step in that direction and become at least a little interested in Machine Learning.
Automation is present almost everywhere nowadays. It’s been predicted that by 2020 artificial intelligence will “eliminate” about 1.8M jobs from the market but it will create 2.3 M brand new professions instead.
You must remember that this field of science is still in nappies; Anthony Stevens, Technical Offering Manager at IBM has spoken about it in a very interesting way in his opening speech at the Sphere.IT conference.
Okay, so where do we begin?
Companies differ in their attitudes to how to develop new branches and directions in technology. Frequently, they employ a specialist in the field who then shares his or her knowledge with others.
We chose a double-track approach: apart from the open recruitment process for the position of Python/Machine Learning Developer, we learn and teach ourselves. This is why the Machine Learning Team has been created at XSolve.
Where do you get your knowledge from?
Primarily, we wanted to find out what the modern approach to Machine Learning problems is like, how to build such projects, what tools to use. The eight-week course in Practical Machine Learning was the solution: starting from the first module, we focused on solving real-life business problems.
We learned how to use modern and popular solutions in practice: Keras, XGBoost, scikit-learn, and others, mainly based on Python.
Apart from that, we meet every week to learn and discover new things and level up the knowledge in our teams. We also support the Business Team when it comes to searching for new commercial projects and running consultations with clients.
What project have you done so far?
We started by analyzing SaaS technologies, which were supposed to solve our business problems. One of these was automated photo analysis. First, we created Symfony Face Validator, an open source project allowing automatic face recognition in photos. We wanted to become acquainted with the tool and the ready-made solutions this way and see how they could be of use to us in the future.
We used the knowledge obtained this way by solving our client’s problem. We developed a system based on Amazon Web Services, which automatically analyzes product data added by users on an e-commerce platform. The project has already been implemented to the production environment, we keep collecting data and improving the efficiency of our model.
What is the business value of this solution to the client?
Automatic moderation of the products added. If, for instance, the compatibility threshold is set at 95% and the system receives a prediction from an Machine Learning model informing that the product is correct with the probability over 95%, the system will accept it automatically.
This way, we save hours of admins’ work who normally have to analyze all the products themselves, checking whether the values are correct. Thanks to this, they can concentrate on more important tasks that cannot be automated yet. The business value is obvious.
What was the greatest challenge for you while getting to know Machine Learning?
Becoming familiar with an area I had nothing to do with before, e.g. the Python language, which I learned from scratch. Another challenge was the very preparation of data, the library for graph drawing and data analysis. That’s what’s usually most difficult.
And for the rest of the team and the company?
Leveling up our knowledge – each of us draws information from different sources: books, courses, studies. We handle this by organizing regular meetings in the team. But we have another response to this problem coming ahead. We’re planning to run our internal company Hackathon, where all of us can meet and cooperate to solve a real-life problem.
We will implement Machine Learning models and make predictions to present them later to the user. Hence, we’re going to need front-end and back-end developers’ support as well as designers and business analysts. We’re trying to involve more and more people from outside our circle.
What next? What are your plans for future development?
We are about to begin new commercial projects. Therefore, in the future we’re going to focus on knowledge exchange between projects and engaging people from outside our circle to make it easier for them to get into the topic of Machine Learning.
It’s not rocket science, you just need to learn the basics and be ready to implement first models.
What would constitute a dream commercial project for you?
An ideal project would be one that solves an interesting problem and is not just art for art’s sake. It would be a solution that could actually make people’s lives easier. One of the latest ideas of our potential client is to build a project that will optimize energy consumption.
So, on the one hand, we save our client’s money, and on the other – we help protect the environment. That’s a perfect project!
And what about the perfect team for that project? Who do you need there?
Besides Machine Learning experts, who are able to create an optimized model, the team would need an analyst who could download, clean, and prepare the data.
At XSolve, we work in interdisciplinary teams that deliver complex solutions. So, both back-end and front-end developers would join the team to be able to concentrate on integrating the predictions delivered by the Machine Learning model with the existing client’s systems.
Ultimately, the team could not only build the model but also solve a specific business problem and deliver a real increment.
If you’re fascinated with the topic of Machine Learning and want to develop this area with us, lets talk! Take a look at our career website and keep in touch.