In my career I have been playing different roles, which allows me for looking at software development from different perspectives. First, I was an Eclipse support engineer working for IBM. This allowed me to learn about internals of Eclipse SDK and see how software development looks from a support line point of view. Later, I was a Scrum Master and a developer of image recognition technology in a startup company. This taught me how to form a team which works with Scrum and how to deal with rapidly changing requirements. After that, for couple months I was solely a Scrum Master working with several (often distributed) Scrum teams. This allowed me to validate in practice many agile concepts and learn a lot about traps and good practices concerning Scrum and agile in general. Currently, I'm a Java Technical Lead in Rule Financial where we develop Java-based systems for investment banks from all over the world. Here I code in Java and lead the agile team. After my regular working hours I was doing research in the area of software engineering, focused on requirements analysis, agile methodologies and software quality. This led to publishing some research papers, participation and speaking at many conferences and lately obtaining a PhD degree. In terms of conferences I had a chance to speak at GeeCon 2014 and 2010, EmpiRE 2012 (International Workshop on Empirical Requirements Engineering),Javarsovia 2008, Business Information Systems 2007 and some local meetings.. Moreover, I taught Software Engineering at Poznan University of Technology and did several trainings in the area of software engineering.