If you have already applied for a job at Allegro or would like to ask about further steps read on to get more insight on the Allegro Tech recruitment process.
As a home assignment you are to write a simple REST service that meets given requirements. Task difficulty has been calibrated so that it can be completed in 4 to 5 hours of work, with a total of a few hundred lines of code. You submit the task in form of a pull request reviewed by an Allegro engineer. This reflects our daily practices when working with code and gives you the chance to explain the design or even apply some fixes based on our engineer’s suggestions.
During this part of the interview process we focus on skills used in day-to-day work on a single microservice. We talk about good development practices, programming languages and known frameworks. We care not only about software quality, but also performance, reliability and metrics of our services, thus expect questions about making things fast or implementation details of your platform of choice. You might be asked to perform code review focused purely on good practices (i.e. no hunting for syntax mistakes or code parsing).
„Algorithms and architecture” is a conversation about more abstract and high-level aspects of programming. Our starting point is designing a system which adds a new feature to Allegro (proposed by the interviewer). We pay attention to problem-solving skills and ability to think about the whole system from both user and technical perspective. Knowledge of specific technologies, while a welcome addition, is not as important as those abilities. We ask questions about scalability, performance and fault-tolerance of designed system.
During this interview, we evaluate a candidate’s soft skills, including communication and teamwork skills, focus on usability, analytical thinking and work motivation. Moreover, we assess a candidate’s cultural fit in the workplace and to the team – whether they share similar values and are able to align to our work standards. It is likely that the candidate’s future boss will take part in this meeting as well.
The Allegro Tech team consists of nearly 500 skilled and ambitious engineers who work in 5 locations: Poznań, Warsaw, Kraków, Toruń and Wrocław. It's highly probable that you have already met some of them at meetups or conferences in Poland or abroad. Moreover, there's a chance that you are going to have a chat with them during our recruitment process. Find out what they think about Allegro as a workplace, and what drives them.
I joined Allegro right before the microservice revolution. From this perspective I can see how much has changed and how lucky I am to be part of that process. Currently I’m leading a team responsible for services that are fundamental to our new architecture. My job is to make life of all our developers easier and ensure that the infrastructure is ready to meet their demands. Despite exciting technologies and the huge scale, the most important thing at Allegro are the people I work with, engineers and managers from whom I still have a lot to learn.
Since my first days at Allegro I have had the opportunity to setup and work on many exciting projects. As a System Engineer I was building infrastructural services like a log aggregation system. Later, as a Solutions Architect, I was involved in migrating our platform to Service Oriented Architecture. Now I'm engaged in a Hadoop data governance project and building our BigData stack. It proves that Allegro is a great place where you never get bored because there are always inspiring projects going on.
I spent half of my life programming (for the last decade professionally in Java land). I'm disappointed with the quality of software written these days (so often by myself!). I believe that computers were invented so that developers could automate boring and repetitive tasks. I am involved in open source and used to be very active on StackOverflow. Author, trainer, conference speaker, technical reviewer, and runner. I claim that code not tested automatically is not a feature but just a rumour. Working on Allegro, a system of such great scale, is both challenging and fascinating. But I'm happy to be part of an amazing engineering team, people who I have a lot to learn from.
My adventure at Allegro started in April 2012. Back then I was working on a ground-breaking Open Source project – Ralph. It is a system for managing Data Center infrastructure that helped us automate work of thousands of servers and optimize the maintenance cost.
I lead a team that develops software for managing servers, databases and microservices. Every day, we look for solutions that allow us to use the resources of our two Data Centers to their maximum, lower the cost and conveniently automate tasks performed in Data Centers. Our goal is to provide absolute scalability and ensure that Allegro developers can deploy new functionalities for our users in no time. Working with our infrastructure is far from mundane. When integrating various systems you have to deal with many programming languages such as Python, Go, Java and even Swift. Moreover, the scale of Allegro provides exciting challenges, where every 1% makes a difference.
Over 20 years in software engineering. After the years I have spent as a development manager and chief architect searching for what drives organisations to a "death march", I am again close to the heart of every modern organization – brave software engineers, who know when to break the rules and when to follow good practices. I am all about JVM, and Allegro is a place where my garbage collection, just in time compilation and concurrency primitives skills are pushed beyond limits. However, I also play with Python and Ansible from time to time. Because I can use any tool that fits the job, I don't have to shape the job to match the tool. Mix it with challenging and competitive business of e-commerce, and you will understand why Allegro is a perfect place. What else do I need? I can feed my addiction (conference junkie!) and the organization helps me find perfect balance between work and my hobby – public speaking and shaping the agenda of two major tech conferences in Poland.
I have worked with Java related technologies since 2004, and I joined Allegro search team about 3 years ago. Developing the largest e-commerce search engine in Poland is both challenging and fun. Working as a full stack search developer can be demanding as it requires a unique blend of software development, devops and Big Data skills. I enjoy the atmosphere of restless technical curiosity which I experience at Allegro. I've never had a chance to work with such passionate developers before! You learn something interesting in terms of software and product development all the time. Moreover, I support Java community in Poznań as one of the leaders of Poznań JUG and as a co-organizer of GeeCON conference. I am a happy father of three, and a lucky man who married a very patient woman.
For the last 14 years I worked in software houses and large enterprises creating dedicated applications for external and internal customers in languages like Groovy, Java, C#, PHP, and using plethora of technologies. In my current role at Allegro I have a perfect blend of everyday hands-on coding, mentoring programmers, managing a team and driving development of a few products. My main interests are in Domain Driven Design and Test/Behaviour Driven Development, which I’ve been practicing since 2005. I have given a lot of talks on conferences and workshops, and written some articles. I love Software Craftsmanship – serious, responsible, scientific and pragmatic approach to development.