- 0.1 M&P is a digital startup builder which create web & mobile applications and turn them into successful businesses with our partners. We had an occasion to speak with Silvan Mühlemann Co-Founder and CTO about about work, technologies and the team.
- 1 What technologies are you moving into the company?
- 2 How does the software development process look like in your company?
- 3 What is your idea for scaling your team and organization while retaining top 5. talent who often like to be individuals?
- 4 How does the recruitment for the company look like from the CTO perspective? What competencies and skills do you value most?
- 5 Which upcoming technological and social/business changes do you think will most impact Company’s business, and how?
- 6 What blogs do you read regularly? Or is there a book that has been particularly memorable for you recently?
- 7 Check out job offers at Muehlemann & Popp
M&P is a digital startup builder which create web & mobile applications and turn them into successful businesses with our partners. We had an occasion to speak with Silvan Mühlemann Co-Founder and CTO about about work, technologies and the team.
What technologies are you moving into the company?
In the frontend, VueJS with TypeScript. In the backend, it’s Python, because of its strength in the data science domain which we use in various industries: Civil engineering, real estate, marketing. For data storage we’re using PostgreSQL, Clickhouse as an OLAP database and just recently we started a project with Google BigQuery.
The infrastructure is provided by the Google Cloud Platform: Either using Kubernetes or a serverless approach.
So it’s all modern technologies at M&P. With one exception: Our corporate website muehlemann-popp.ch is still running on PHP5.6 since 2015. Why’s that? We just are getting enough business. So marketing activities like our corporate website just don’t have a high priority. Our engineers don’t need to worry about this though: I am doing the maintenance during my free evenings 😁
How does the software development process look like in your company?
To maintain high quality at the tech level we’re using the following approaches:
● A mandatory unit test coverage of at least 80% in the backend code
● Automated quality checks using MyPy, Pylint, EsLint, SonarCloud tied into the CI/CD pipelines of Gitlab.
● Mandatory code reviews.
We’re aiming to have mixed-experience teams: Senior level engineers pairing with less experienced ones. So the seniors can train their leadership and mentoring skills, while the juniors have someone they can learn from.
The professional exchange among seniors across team boundaries is happening in tech guilds that have regular meet-ups and their Slack channel.
What is your idea for scaling your team and organization while retaining top 5. talent who often like to be individuals?
Being an engineer myself I know what motivates: Freedom. Freedom to choose my own solutions instead of having them dictated by the boss. Freedom to choose my own technologies instead of always using the same stack. That’s what we’re offering to our engineer.
This freedom has manifested itself in the tech stack of M&P: Python and VueJS were all suggested by the engineers – those who are closest to the machine. And chosen via a survey. We try to follow the Swiss “direct democracy” tradition also in Business.
How does the recruitment for the company look like from the CTO perspective? What competencies and skills do you value most?
Let’s assume that we have two candidates, Anton and Jan.
Anton has just started with IT one year ago. But he has a positive attitude, is willing to learn, has interesting hobbies in technical areas, where he came up with creative solutions, and has already learned many things in his career.
Jan is 35 and has been in IT for 15 years. But he makes statements like “No, I don’t need to learn anything anymore. I am experienced enough” or “The only useful programming language is Python”.
In that case, we would hire Anton. Because he has the attitude that will lead to innovation and performance. Even if it takes a couple of years until his performance is that of Jan. Besides that, he will spread positive energy in the team.
So back to your question: We hire for attitude and train for skills.
Tools that automate coding like Tabnine (AI-supported code completion) will remove the repetitive work out of a developer’s job and make the low-skilled software-development work obsolete. The tasks developer has to perform will become increasingly complex. And so is the description of the tasks. This will require good communication skills to understand what needs to be done. And creativity to find the best possible solution. AI engines can be trained. But they will just repeat what they have been trained for and don’t come up with their own approaches. That’s the engineer’s job.
What blogs do you read regularly? Or is there a book that has been particularly memorable for you recently?
I love to read the discussions on Hacker News (https://news.ycombinator.com/): Highly talented people having a cultivated discussion on current topics around technology and science.
For books, there are the classics I recommend every software engineer needs to read: Clean Code, Clean Architecture, the Pragmatic Programmer, and the Hitchhiker’s Guide to the Galaxy 😁