TechLead-Story: Behzad Abdollahikhameneh, Technical Lead bei Infineon Technologies
How big is your Dev-Team? Into what functional sub-teams is it divided?
Infineon has many locations across Austria. The headquarter is located in Villach, most of the teams keeping the IT infrastructure are in Klagenfurt and Linz and Graz are two of the R&D locations working on state-of-the-art technologies that will power our future electronics, from cars to mobile phones and smart home appliances.
We are a team of 5-7 software engineers/soon to be software engineers (aka students) that provide internal supporting software to other teams. For example, engineers working on the next generation of automotive Radar use our measurement automation and reporting software suite (called MAVE) to measure, verify and document the chip that might power your next car’s autonomous driving assistance systems. Another example is an electronics laboratory organization web application (called LabManager) that started as my bachelor thesis. From the beginning, we designed LabManager so flexible that not only can fit the organizational needs here in Linz, but the whole Infineon R&D sites worldwide. We were expecting to get some attention from other labs, but our expectations were shattered when we started to get requests from almost every laboratory, even those who were using well stablished software solutions like SAP. Today many of the Infineon R&D laboratories in Japan, Malaysia, Austria, Germany, Italy, France, Romania and USA are using LabManager to achieve a better organization and higher transparency and agility.
How is your development team organized and what reasons led you to organize in that particular way? What are the advantages and disadvantages?
Our current software team in Linz consist of 3 full time employees and 4 part time students. Our team is divided in two groups. One for MAVE and the other for LabManager. The separation is mainly caused because of the different natures of the projects. The core technology used in MAVE is MATLAB and we use Java and Play Framework for LabManager.
Both teams are organized in a way that we can keep our agility and support the R&D engineers with high availability. For example, our MAVE software is very dynamic in its nature. It is used by engineers to automatically communicate with the laboratory equipment. Due to vast range of complex equipment, we cannot offer all of the possible functionalities out of the box. We get new feature requests on a daily basis and therefore have to make sure that our team can respond quickly. We have to make sure that at least one student is available on a daily basis for support.
What makes your team – in comparison with other teams – special?
Having part-time students in our team brings a lot of challenges. With the right mindset, these challenges are turned to advantage.
Biggest advantage of working with students is that they tend to think fresh, bring new ideas and are eager to learn! It is also fascinating when you sit back and think about their individual progress over months and years! Each person is individual and we try to offer them the level of support that fits them until they are experienced enough to take more responsibilities.
What do you look for in addition to technical qualifications when you are looking for a new developer?
Looking at the recent years, our software team has always consisted of graduates who were working with us during their studies. We are proud to say that most of the students will remain within the company after graduation. Some like myself remain in the same software team and continue the path, some find their passion elsewhere and join another group. Our team has a history of supplying our site with passionate software engineers that are already well integrated into Infineon’s culture.
We are steadily growing. Tools developed by us are getting recognition from other Infineon sites and we are planning some new exciting cross-site projects. To keep up with the growth, we will soon look for new software engineers!
What technical challenges are you facing?
Regarding MAVE, we are currently in a harmonization phase within Infineon Austria and Infineon Romania. Since more than a year our team and similar software teams from Villach, Graz and Bucharest come together regularly to define standard processes and structures. In the beginning it felt like an impossible task because teams use different tools, work on different products and have tight project milestones to achieve. It was hard to find the optimal common ground but fortunately we have come a long way and made great progress. Right now, we have a standard data structure that is flexible enough to fits everyone’s needs and also in cooperation with Infineon’s IT infrastructure teams we were able to utilize the power of cloud for our data storage needs. The sheer amount of raw data produced by our laboratories has always been a challenge. Now we have reached the point that all these teams can generate their data using our standard data structure and use our cloud infrastructure for the storage.
Regarding LabManager, we wanted to give the users new ways of interaction with the tool in addition to the web interface. We decided to utilize QR codes. Users can use mobile phones and scan equipment to perform tasks like booking, returning and so on. Our biggest challenge was to find a solution that can be realized in a short time. I took this challenge upon myself and used the flexibility that a progressive web application offers and made a web-based QR scanner solution with offline capabilities.
Which technologies do you work with?
Back in 2014 when LabManager was still in the inception phase, we were facing the question if we should go with a technology that is already established within Infineon, or go with something new and more radical that will give us more flexibility in the long run. I had to do a lot of convincing and finally we decided to go with Play Framework. Play gave us a familiar Java environment that is also an all-in-one stateless web framework built on Akka.
How have the technologies you use changed since your founding?
MAVE is built on MATLAB. MATLAB has always been like an old but wise grandfather that we all love and respect but never dare to question! It offers a familiar yet powerful environment for the engineers from R&D teams that use it. It is easy to work with and even some colleagues who might not be the master of object-oriented programming can quickly get up to speed.
The capabilities of MAVE were always constrained by what MATLAB offers in its latest version. In the recent years they’ve added a lot of new functionalities for GUI generation, so my colleague Stefan Prückl took this opportunity and redone the whole plotting and reporting components using the new MATLAB libraries. He didn’t stop with the new GUI and enhanced everything so much that we decided to offer them as a standalone app called Plotty! Plotty is currently on the rise and Stefan is doing a great job, expanding it to more and more R&D sites.