The Journey from Python Developer to Python Company Owner
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Dziergwa, Maciej
Maciej Dziergwa - The Journey from Python Developer to Python Company Owner I would like to indicate main keys to success, factors and features that help a developer to find himself on an independent career path. How to create employee-friendly work environment for Python developers? Which business model gives a chance to attract and keep more than 100 Python enthusiast? I will also gladly share some lessons learned working with dozens of clients, dozens of Python frameworks, and lots, lots of great developers. - Ten years ago I became a big Python fan, but at the time there were no jobs for Python developers in Poland. So, I decided to start my own Python company. Today, ten years later, this company employs more than 100 Python Developers in four cities. There are a lot of Python enthusiasts in the world, many of them more skilled than I was at that time, but clearly not anyone can become a „Python Business Developer”. In this talk I would like to indicate main keys to success, factors and features that help a developer to find himself on an independent career path. My goal is to answear these questions: How to create employee-friendly work environment for Python developers? Which business model gives a chance to attract and keep more than 100 Python enthusiast? I will also gladly share some lessons learned while working with dozens of clients, dozens of Python frameworks, and lots, lots of great developers.
 Hello. Our next presenter is Machiek Jekpa. Sorry for the pronunciation. He's CEO at STXnext, and he will present from Python developer to company owner, Avanti Road to success. APPLAUSE Good morning, everybody. Can you hear me in the back? Everybody can hear me? Is it better now? Yes. OK, that's good. Thank you. So, good morning one more. Again, I'm Machiek Jekpa, and I would like to share with you my story. My story of becoming CEO of STXnext Software House. The story that from the developer to company owner. This is the story of 11 years of transformation from the developer, student, later developer, manager, and today CEO of quite a big company. I reached the point where the company has almost 250 people, and in fact it has a market leader position in the Python software houses in Europe. First one, find your special something. It all started really during my studies at the University of Technology. It was something like 13 years ago. That time you have to be aware that I was starting coding with Pascal and Java, and Python was just emerging especially in Poland. During one of the holidays, I was a member of Java user group, local Java community, and I volunteered to implement discussion board in Java. It took me two months of very hard coding with Java, of learning different libraries, working with Apache, Jakarta frameworks, etc. And just before the end of holidays, my project was almost finished, very simple discussion board was working. And then I met a friend who introduced me to Python. In fact, he introduced me to CMF, and he told me to give it a try. I just took a quick glimpse. I said, why not? I'm still the student, I have a lot of free time during holidays. So I spent a weekend trying to implement the similar discussion board with Java. I think it was Jakarta framework that time. And what I discovered, after two days of work, I had exactly the same functionality, or even more, using Python and CMFplon, very similar functionality to the project I finished in Java. And this is how my love to Python began, and this is how I abandoned Java, Pascal,.NET was, I think, just emerging at that time. I never give a big try to PHP, so I just skip this phase, I think. So this is where I really found something that I want to devote my professional career. And when it lets me, so just after holidays, I was looking for the job. And of course, I wanted to be a Python developer. And you have to understand, guys, that the times have been much more different. It was 11 years ago, Poland was not in European Union that time. And Python, well, there was no Python jobs at all in Poland. Can you imagine the time when there is no Python job openings on the local market? Because this is how the times have been that time. I know it's, for some of you, it's impossible to imagine it, but it was like that. So I, you know, started to looking for job, and I find Python opening in the Netherlands. What I did, I just made the call, then send a couple of, exchange a couple of emails, and after a couple of, I think, a week or two, I had the first real job as a Python developer, but I had to move to the Netherlands. And of course, I did. I met the guy who was, before I only talked to, on the phone, the guy, his name was Peter. He really, I had a real lack because he became my friend. He really took care of me in the foraging country for me. So I spent a couple of months as a Python developer in the Netherlands, but then I started to feel lonely. I didn't know anybody, I didn't speak Dutch, so I still don't. So I wanted to go back, you know. It is the time when you are 25, 26, you know, you are about to start a family, et cetera. So it was difficult to socialize for me in the Netherlands. So what to do, because I still wanted to do Python, and Python still was not emerging in Poland. So I started to talk to him and ask him, well, maybe we can open an office in Poland, and we start, there is a lot of smart people in Poland, really. Sorry, some technical, a lot of smart people and look for developers. And he agreed after a couple of years in the pub, we came to the agreement how we would structure an office. And then I came back, a half a year, and I came back to Poland and opened S.T.A.X. Next, today's name. It was in 2015. So, and it was Python. It was a Python solar house. We started to hire Python developers in Poland, of course, no Python developers in Poland, so we had to hire any developers and make them Python developers there. And I have a question, guys, for you. Can you guess how many years, not a month, not a day, how many years it took me to grow company up to eight people? Who can guess? How many years? How many years? How many fights? And the other guesses. 39. So, we have some small gifts, company gifts here. Guys, it took me around four years to grow up to eight people. Just to tell you what is happening today, I just took a quick look at the data and today we hire on average eight people a month. And then the beginning was hiring eight, we grew up to eight people after four years of running company and all of this stuff. This is how it changed. We still use Python, of course, we don't hire eight Python developers a month, but eight people because company is much bigger today. But this is how it was. I was really focused on Python, wanted to do Python. I built the first, I would say, first Python company in Poland. We start to educate market. It was difficult to find people that time. But defining the niche, because for me, Python in Poland was really a niche, allowed me to be a leader in many areas, of course, in the niche. So, for example, a couple of examples. A company I created was the first Polish company sponsored Python in US. And I think it's still the only one. The same for Europe Python. We are already, I think, second time we sponsored Europe Python in Europe. And I still think we are the only Polish company that ever was the sponsor. What I can say, we are the biggest Python software house in Europe. I don't know any other Python company in Europe that has more than 100 Python developers and we do. I was the first one to organize World Plan Day in Poland many, many years ago. So, defining the niche, defining the specialty, allows you really to become a leader in your niche and become an expert and grow quite big. So, my advice to you is, guys, do what you really love. But define this something, special something for you and try to grow in your niche. It's much more easier and you can achieve the success much, much more sooner than you can imagine. Because I always wanted to, you know, the biggest Python software house in the world. You don't need to have thousands of people to be the biggest Python software house in the world because, in fact, there is not many Python software houses in the world. So, you just need 200 people and you can say, you are the biggest one. And this is very nice. Guys, another quick quiz. Somebody told to me one day, many, many years ago, don't go to Netherlands, find a job in Poland. Who do you think said it? Yes, it was my mother. So, when I announced my mother just graduating the studies, I remember we have been not in Europe, you know, in Poland, Polish people were not allowed to travel without, I think, without visa to the Netherlands, but we were not in the Schengen, so you had to have a passport, all of this stuff. So, when I informed my mother, my mom, I'm going, I'm leaving to the Netherlands, she was really shocked and was trying to do everything to stop me. Fortunately, I didn't listen to her. I really believed that I wanted to do Python when I can achieve a lot going abroad. And I decided to go. It was, I think, one of the key decisions in my life. I always dreamed about going worldwide to do much bigger stuff than on the local market. And of course, I wanted this to be Python. Never a big decision that brought me to the place where I am today was after a couple of years later. So, a couple of months later, when I was discussing opening the stakes next in Poland, at the same time I was offered quite a good job in London, in UK, but doubled my salary. And then I had to choose. So, try to imagine that somebody is offering double salary to what you have, you just need to move to London. Or opening office. If you move to London, that's just like organizing. I didn't know that at that time. I never been to London. Polish people were not allowed to go to London without the visa at that time. So, we have huge Polish immigration right now to London. But it was 11 years ago. It was different, much more different. I could, each month, in London, I could earn more than my parents earned in two or three years. So, this was the differences one that day. But I really had a feeling that I can do much more opening company, very soon I, of course, become the management board in the company. So, I chose to go back to Poland. And one of the key decisions was that I really was thinking about starting family. So, I thought that it would be easier to find a wife in Poland. And I succeeded in that. So, this was from my point of view, really big decision. I had to decide what to do, this or not. And one more big thing happened a couple of years later. So, I wanted to grow a company. But the Dutch people suddenly say, well, we would like to take money back from the company. I wanted to reinvest in growth. What I did, I found a new parent company in Poland and persuaded the Dutch people just to sell their shares to the parent company. It was also a difficult decision, a risky decision to me because the parent company from Poland was almost 100 people. So, it was not a very what can happen. What happened, guys, in fact, that they took us over and what happened is that they gave us a lot of work. So, in the next couple of years, we were able to do projects for the banks and we were quite small, eight people at that time. And gained a lot of experience in fintech, in banking, in processes, etc. Where it led us, today, we are more than twice as big as our parent company. So, we don't do much work for them. We really went worldwide and we do mostly Python, a little bit of Dubai. We were able to really overgrow our company. The company that was doing projects for the banks in Poland, very big projects for the banks, and we are just Python developers. But we were able to really grow a lot here. Guys, first crisis, this is very important lesson to learn. So, it was just after I started my company, I received a call from the angry client, I think it was during the night. He called me, the system doesn't work, it was supposed to work different. Something about it. I, of course, investigated, I talked to my developers, what they say, said to me, this is something that they always said. It's not very fault, it is the bug that was already in the system, we just discovered it right now. Or, of course, our clients communicate to us something different. So, it's not a fault, let the client pay for it, let him wait, he should communicate much more better. What I did, my reply to this one is always different. I always ask myself, think like the client, put yourself in the client situation. So, the first thing I always do is first to fix the problem, then really to do an extra mile, so stay long night during the weekend, whatever, just to really fix the problem. And then, I always later try to retrospect and fix the problem. Usually, what I do, I cover the cost of this first crisis by myself. So, not even if it's client fault, I always try to not make clients even more angry. So, I said, yes, it's our fault, we should think better. We invested it. And what it taught me, so whenever it is how you behave in the crisis, this is how you build trust with the client. So, if you really do an extra mile during the crisis situation, you can be sure that it will pay back to you. This is how we build long-term relationship with people, with clients, with companies, by showing how we behave during the crisis situation. So, advice, if you ever build a company or you have angry client on the other side of the line, do your best to really fix the problem, not to try to blame the client for it, even thought it's his fault. Try to really help and you can be sure that whenever there is another crisis, your client will be more open to listen to you and to build the long-term relation. Scaling. There will be the time that you will have to decide about if you want or how you want to scale. I think it was around in the seventh year of running the company. It was really a breaking point for me. So, a company I built grew from around 30 people to 70 people. So, more than 100% growth in the year. What happened in me? How I felt that time? What have changed in me? You have to be aware of these kind of things. So, it was a year when, from a developer, I became a manager. It was the last year I committed the code to the repository. It was not given that time, it was as VN, CVS, etc. But later developers found out that it was the last part of the code I ever committed. I even printed it on my wall. So, this was the year it happened. The next thing was my mindset has to change. I changed from the mode of doing to the mode of developing. This allowed me to really scale up the company. It was the year when I hired my first assistant. Because for the first seven years I thought I don't need an assistant. I can do everything myself. Of course I can. But usually an assistant can do it better and faster and more efficient. I had my first recruiter before I had been recruiting people myself. I hired the first salesperson. So, I learned that year how to delegate to other people. The other thing that happened to me, from the colleague, I became the boss. In the past, I was one of them, one of the team members, one of the developers, one of the person that is committing the code. Later, I became one of the bosses manager. So, he is not our guy anymore. He is demanding, he is delegating to us. He is asking to do some work. He is not doing the work with us. This is the mental change that happened to me and this is what I observed. So, well, they don't invite me to have beer together. They don't invite me to have quick discussion in the team. So, this is something that really changed. I had to go through this process that was in fact not that easy for me. And of course, I started to think in the process way. So, managing dozens of people requires you to think, to implement different processes to be able to manage it. My advice, guys, to you is that you will have to do this mindset change if you want to really scale up. Managing working hours. I remember the most important and most expensive lesson I ever learned. So, at the beginning of the company, we have been... Our developers have been reporting time somewhere in Excel, in spreadsheets, etc. I discovered after three months that one of the developers didn't report the time because he just said he forgot. It cost us three months of client not paying for this work. It was really, really difficult for me for the very small company that's time. It was a huge amount of money for us. But this is the time where I implemented the time tracking system. And I became... I made the core system of managing people. And I think it was a very good, very lesson for me because this system is working up to date. And today, I'm having really flat structure. I'm able to control, to manage 40,000 hours a month. And I have a company, this is the amount of we report on monthly basis. Without really controlling people directly sitting on their shoulders and checking what they do. They just report time. It allows us to be very flexible about managing time, etc. It also allows us to make invoices to the clients very fast. So in the past, it took me 10 days, really 10 days of each month to prepare reports and invoice clients. Today, my accountancy is doing it in maximum two days. And invoicing is very, very important for the company. Like a service company. Be big and stay big. So running almost 250 companies is a big challenge. A big challenge to build long term relation of the client. What I learned, what I believe that motivates people, developers to stay in the company, to be motivated. First of all, this is what I think is the most important, this is a project. So if you have interesting project, then people will be motivated. You don't need all this agent stuff, etc. And this is what we try to have find good projects, nice projects for our developers. And this is how to motivate. The other thing I think motivates people is people they work with. Except for the project, for developers, not only it is important with whom they are going to work. So I say good people attract good people to your company. At the end, I would point something like work organization and also the brand of the company attracts people. But this two most important thing is project, new technology, challenging project, challenging technology client, how you communicate with him. And then people you spend 8 hours every day in the room. The biggest challenge is to come. So before I talk to this, let me show you some two stories about what I think about guessing what will happen in future. It was the time when on the market there was only internal explorer number 6. Not sure if you are familiar with this one, but it was a big version that time. Firefox was about to born quite soon, nobody thought about Chrome browser. That time JavaScript was already on the market showing up and I said that time JavaScript is not the future, it is going to die pretty soon. And you can see how mistaken I was. But this is what I thought. Well, Python is going to be the number one language at JavaScript. Well, who is going to use JavaScript? Nobody, it is Microsoft, it was connected to Microsoft that time. This is not the language for developers. The other thing was about Django. I am still a big fan of the CMM. That time Django was about to born when I started with Python. Django was born. I thought Django is a really simple framework without advancing and doesn't require a lot of skills. Python and some other Pyramid frameworks are going to become the future. I discovered quite soon that I was very, very mistaken and today 90% of work we do, my developers doing the company was Django. So, you know, what I will say, what I think about future, just it can change. It is the huge change, huge change that will not happen. So maybe do other way around. So what I can see on the market, because we do a lot of projects, Python is getting more enterprise, so I can see more and more big companies are using Python. That is why also you have a chance to grow easier. But what I noticed, so I think we are quite secured with Python for the next couple of years. So I am not afraid that Python will be gone or something. I think it will be very popularized, very major. But what I can see, world is changing very, very fast and I see a huge potential, huge change in JavaScript. And what I would advise to you, focus on JavaScript and focus on versatility. So I advise my developers not to, you know, change to JavaScript, but just to learn JavaScript and do both Python and JavaScript depending on what they think is important, good for the project that I work with. And I must say that we have plenty of, I think, more than 50-70% of our Python developers already are using JavaScript with different frameworks, still using Python in the back end. So I also see the potential of new languages like Haskell, Igo. You have to be open to it, but you don't need to switch to it just like this. Just learn it and use it in your daily work. And I'm not able to say, you know, what will happen. What I can advise you about the future and this is what I have been doing all the time, is just to justify, customize to what is happening. Somebody told me a couple years ago, what do you do if Python will disappear from the market? My reply was that it will not happen in one year and I will be able to switch to some new language, to some new technology. So I'm very open to what is going on, observing and just changing myself. The same way I changed from the CMF plan to Django and we are now using on the Django, many Django here. Just have open eyes and don't be open to the change and to reply quickly to this one. This is it, this is what I wanted to share with you. I think we have still five minutes to your questions, so I'm very, very willingly to open to answer your questions. Thank you very much. We have some questions there. Hi and thank you for your talk. I had a few questions. Did you have a PyPy project? PyPy project, Python project with PyPy interpreter? PyPy, no, we don't have PyPy and we don't have OpenStack. So this we don't, we have all the others. Do you have remote employees? No, maybe one, but working very close. I really believed from the beginning in that team spirit. So I structured the office that all one team is sitting in one room, no open space. I believe in the close communication that I believe one plus one in case of people is more than two. So all our people are in office, we don't work remotely, we have only clients that work remotely. And it really pays off. Okay, and final question. You said that you believe that in JavaScript as a use potential, are you transitioning to a model where you have Python as backend with a rest API and front end with JavaScript, any framework, React.js? This is the architecture decision and depends really on the project. We do startups, we do enterprise. So it's up to the team very often or up to senior developer architect to decide how it should be. Sometimes there is only JavaScript, we have also JavaScript developers and so we have both JavaScript and in front and in backend. Most of the cases we have Python in backend, JavaScript in front end and of course going into microservices approach. Thank you very much. Thank you for your explanation, for inspirational speech by the way. And my question is why you become a sponsor of EuroPytons and local metabs technical? So for many years I was participant in many conferences. So I think because we are very big company, it's time to pay back a little bit and of course the other topic is really employer branding. It's very important for our developers and we have more than 100 Python developers in Poland for us to build the brand so we are proud that they can work in the company that is recognized in the community. So one thing I learned a lot during the Python conferences, many different Python conferences. So it's a little bit, I would say, time to pay back. And the other thing is building the brand here, brand awareness. Hi, thank you for your talk. How do you build your teams? So the people and structure of it? So it's usually up to the client. So the client is asking for the size of the team and we try to investigate what is the project and what kind of competences are required and build the team. What I believe usually we should have in the team around four Python developers, one Java front-end developer, at least one manual tester and maybe depending on the project, automated tester. Of course we go in the direction to have Scrum Master and very, very important first of all product owner or proxy product owner on our side. This is the perfect team composition that works for us. And we try to find people that fit with competences, so to have at least one senior, to have some regular guys, maybe junior, because it's not good to be team only from the senior developers because it can end up with a lot of quarrels, internal tension in the team. Thanks for sharing your story. Can you say something about marketing and sales, how you find customers, especially in the beginning? Especially for the first six, seven years of running company, I was doing sales myself. So remember I was really Python developer, so I was doing a little bit of sending emails, but then we have been growing on the references. So we have been growing on existing clients, client scale up, adding another team. And you have to remember also we had a parent company, so it allows us to really grow up to 50 people on the parent company because they have the project for the banks. Later I was just trying to connect also on the events, networking events like Europe Icon, but also other events, watching what's going on, trying to build the network with other CEOs or management in big companies. Today we have the sales team that is doing a lot of this stuff for me, but I'm still involved in all the, let's say, closing deals, so I also talk to clients, I do projects, we invite potential clients to visit our office where we really can impress people because you can imagine when you invite clients to your office and you have 100 people in our headquarter with something like 80 Python developers, then they are really amazed about how good we are structured, how the process works. So I believe this is the best way how to win our clients, just to invite them. If we invite client, if he agrees to visit our office, usually he becomes our client. We have 90% chance that it will happen and it's happening like this. And we have on average right now one visit every month or every two weeks. Any more questions? We have time for one more question. Okay. Okay, I have a new question. When you talk about when you have a client problem during a project, even if it's client fault, what happens when it's one of your employees who is at fault, who made a mistake, anything? How do you deal with that? My approach is always the same. I admit it's our fault. Really, I always say sorry, it's our fault, we made a mistake, let us fix it. And what I learned on it, the feedback from the client is very good because it builds trust. I really see today that crisis situations are the best opportunity to win your client for the long-term partnership. One of the key success of my career is that I build long-term relations with the client. Our projects last for three, four, five years. That's why we don't need to do a lot of sales. When we start to work with the client, we work with this client for many years, just having only maybe one team, sometimes growing up to five, six teams. And I believe it's because we are open and transparent to the client. For example, he has access to our time tracking system that allows to build trust. He can see what developers are doing. He has a feeling of the control of the sprints we are delivering. So when it's the back, I say sorry, we also make mistakes. My question was more about the employees. Do you have your management techniques to use your performance of your own players? No, we don't have an instructor here. I believe that the team is fixing it itself. So we have an agile, we have Scram Master that we do retrospective after each of the sprints. And this is how we try to improve and solve problems and improve for the future. Of course, we have some management, small management board level, just to service delivery managers, keeping an eye and giving feedback half a year or really feedback to developers. Okay, thank you. Thank you. One quick. Could you please recommend some books which helps to start off with something for beginners in a business? Books. You are asking about books, yes? Yes, books are any kind of resources which could help. One of the books that inspired me the most is Seven Habits of Effective People from Steve Covey. This is Seven Habits of Effective People. And this is really about the mindset, about communication. The other one is for effectiveness, I really encourage getting things done and implemented in some way. I think more precisely because I remember on the Polish titles, you can visit me at our booth and I will be able to probably share more books with you. But this is the Seven Habits of Effective People really made me a manager and I read it when I was still a student. Okay, thank you very much.
 Hello. Our next presenter is Machiek Jekpa.  Sorry for the pronunciation.  He's CEO at STXnext,  and he will present from Python developer  to company owner, Avanti Road to success.  APPLAUSE  Good morning, everybody. Can you hear me in the back?  Everybody can hear me?  Is it better now?  Yes.  OK, that's good. Thank you.  So, good morning one more.  Again, I'm Machiek Jekpa, and I would like to  share with you my story.  My story of becoming  CEO of STXnext Software House.  The story that from the developer  to company owner.  This is the story of 11 years of transformation  from the developer, student, later developer,  manager, and today CEO of quite a big company.  I reached the point where the company has almost 250 people,  and in fact it has a market leader position  in the Python software houses in Europe.  First one, find your special something.  It all started really during my studies  at the University of Technology.  It was something like 13 years ago.  That time you have to be aware that I was starting  coding with Pascal and Java,  and Python was just emerging especially in Poland.  During one of the holidays,  I was a member of Java user group,  local Java community, and I volunteered to  implement discussion board in Java.  It took me two months of very hard coding  with Java, of learning different libraries,  working with Apache, Jakarta frameworks, etc.  And just before the end of holidays,  my project was almost finished, very simple discussion board  was working.  And then I met a friend who introduced me to Python.  In fact, he introduced me to CMF,  and he told me to give it a try.  I just took a quick glimpse.  I said, why not?  I'm still the student, I have a lot of free time during holidays.  So I spent a weekend trying to implement  the similar discussion board with Java.  I think it was Jakarta framework that time.  And what I discovered, after two days of work,  I had exactly the same functionality,  or even more, using Python and CMFplon,  very similar functionality to the project I finished in Java.  And this is how my love to Python began,  and this is how I abandoned Java, Pascal, .NET was, I think, just emerging at that time.  I never give a big try to PHP,  so I just skip this phase, I think.  So this is where I really found something  that I want to devote my professional career.  And when it lets me,  so just after holidays, I was looking for the job.  And of course, I wanted to be a Python developer.  And you have to understand, guys,  that the times have been much more different.  It was 11 years ago, Poland was not in European Union that time.  And Python, well, there was no Python jobs at all in Poland.  Can you imagine the time when there is no Python job openings  on the local market?  Because this is how the times have been that time.  I know it's, for some of you, it's impossible to imagine it,  but it was like that.  So I, you know, started to looking for job,  and I find Python opening in the Netherlands.  What I did, I just made the call,  then send a couple of, exchange a couple of emails,  and after a couple of, I think, a week or two,  I had the first real job as a Python developer,  but I had to move to the Netherlands.  And of course, I did.  I met the guy who was, before I only talked to, on the phone,  the guy, his name was Peter.  He really, I had a real lack because he became my friend.  He really took care of me in the foraging country for me.  So I spent a couple of months as a Python developer in the Netherlands,  but then I started to feel lonely.  I didn't know anybody, I didn't speak Dutch, so I still don't.  So I wanted to go back, you know.  It is the time when you are 25, 26,  you know, you are about to start a family, et cetera.  So it was difficult to socialize for me in the Netherlands.  So what to do, because I still wanted to do Python,  and Python still was not emerging in Poland.  So I started to talk to him and ask him,  well, maybe we can open an office in Poland,  and we start, there is a lot of smart people in Poland, really.  Sorry, some technical, a lot of smart people  and look for developers.  And he agreed after a couple of years in the pub,  we came to the agreement how we would structure an office.  And then I came back, a half a year,  and I came back to Poland and opened S.T.A.X. Next, today's name.  It was in 2015.  So, and it was Python. It was a Python solar house.  We started to hire Python developers in Poland,  of course, no Python developers in Poland,  so we had to hire any developers  and make them Python developers there.  And I have a question, guys, for you.  Can you guess how many years, not a month, not a day,  how many years it took me to grow company up to eight people?  Who can guess? How many years?  How many years?  How many fights?  And the other guesses.  39.  So, we have some small gifts, company gifts here.  Guys, it took me around four years to grow up to eight people.  Just to tell you what is happening today,  I just took a quick look at the data  and today we hire on average eight people a month.  And then the beginning was hiring eight,  we grew up to eight people after four years of running company  and all of this stuff.  This is how it changed.  We still use Python, of course,  we don't hire eight Python developers a month,  but eight people because company is much bigger today.  But this is how it was.  I was really focused on Python, wanted to do Python.  I built the first, I would say, first Python company in Poland.  We start to educate market.  It was difficult to find people that time.  But defining the niche, because for me,  Python in Poland was really a niche,  allowed me to be a leader in many areas, of course, in the niche.  So, for example, a couple of examples.  A company I created was the first Polish company  sponsored Python in US.  And I think it's still the only one.  The same for Europe Python.  We are already, I think,  second time we sponsored Europe Python in Europe.  And I still think we are the only Polish company  that ever was the sponsor.  What I can say, we are the biggest Python software house in Europe.  I don't know any other Python company in Europe  that has more than 100 Python developers and we do.  I was the first one to organize World Plan Day in Poland  many, many years ago.  So, defining the niche, defining the specialty,  allows you really to become a leader in your niche  and become an expert and grow quite big.  So, my advice to you is, guys, do what you really love.  But define this something, special something for you  and try to grow in your niche.  It's much more easier and you can achieve the success  much, much more sooner than you can imagine.  Because I always wanted to, you know,  the biggest Python software house in the world.  You don't need to have thousands of people  to be the biggest Python software house in the world  because, in fact, there is not many Python software houses in the world.  So, you just need 200 people and you can say,  you are the biggest one.  And this is very nice.  Guys, another quick quiz.  Somebody told to me one day, many, many years ago,  don't go to Netherlands, find a job in Poland.  Who do you think said it?  Yes, it was my mother.  So, when I announced my mother just graduating the studies,  I remember we have been not in Europe, you know, in Poland,  Polish people were not allowed to travel without,  I think, without visa to the Netherlands,  but we were not in the Schengen,  so you had to have a passport, all of this stuff.  So, when I informed my mother, my mom,  I'm going, I'm leaving to the Netherlands,  she was really shocked and was trying to do everything to stop me.  Fortunately, I didn't listen to her.  I really believed that I wanted to do Python  when I can achieve a lot going abroad.  And I decided to go.  It was, I think, one of the key decisions in my life.  I always dreamed about going worldwide  to do much bigger stuff than on the local market.  And of course, I wanted this to be Python.  Never a big decision that brought me to the place  where I am today was after a couple of years later.  So, a couple of months later,  when I was discussing opening the stakes next in Poland,  at the same time I was offered quite a good job in London, in UK,  but doubled my salary.  And then I had to choose.  So, try to imagine that somebody is offering double salary  to what you have, you just need to move to London.  Or opening office.  If you move to London, that's just like organizing.  I didn't know that at that time.  I never been to London.  Polish people were not allowed to go to London without the visa at that time.  So, we have huge Polish immigration right now to London.  But it was 11 years ago.  It was different, much more different.  I could, each month, in London, I could earn more  than my parents earned in two or three years.  So, this was the differences one that day.  But I really had a feeling that I can do much more opening company,  very soon I, of course, become the management board in the company.  So, I chose to go back to Poland.  And one of the key decisions was that I really was thinking about starting family.  So, I thought that it would be easier to find a wife in Poland.  And I succeeded in that.  So, this was from my point of view, really big decision.  I had to decide what to do, this or not.  And one more big thing happened a couple of years later.  So, I wanted to grow a company.  But the Dutch people suddenly say,  well, we would like to take money back from the company.  I wanted to reinvest in growth.  What I did, I found a new parent company in Poland  and persuaded the Dutch people just to sell their shares to the parent company.  It was also a difficult decision, a risky decision to me  because the parent company from Poland was almost 100 people.  So, it was not a very what can happen.  What happened, guys, in fact, that they took us over  and what happened is that they gave us a lot of work.  So, in the next couple of years, we were able to do projects for the banks  and we were quite small, eight people at that time.  And gained a lot of experience in fintech, in banking, in processes, etc.  Where it led us, today, we are more than twice as big as our parent company.  So, we don't do much work for them.  We really went worldwide and we do mostly Python, a little bit of Dubai.  We were able to really overgrow our company.  The company that was doing projects for the banks in Poland,  very big projects for the banks, and we are just Python developers.  But we were able to really grow a lot here.  Guys, first crisis, this is very important lesson to learn.  So, it was just after I started my company,  I received a call from the angry client, I think it was during the night.  He called me, the system doesn't work, it was supposed to work different.  Something about it.  I, of course, investigated, I talked to my developers, what they say, said to me,  this is something that they always said.  It's not very fault, it is the bug that was already in the system,  we just discovered it right now.  Or, of course, our clients communicate to us something different.  So, it's not a fault, let the client pay for it, let him wait,  he should communicate much more better.  What I did, my reply to this one is always different.  I always ask myself, think like the client, put yourself in the client situation.  So, the first thing I always do is first to fix the problem,  then really to do an extra mile, so stay long night during the weekend, whatever,  just to really fix the problem.  And then, I always later try to retrospect and fix the problem.  Usually, what I do, I cover the cost of this first crisis by myself.  So, not even if it's client fault, I always try to not make clients even more angry.  So, I said, yes, it's our fault, we should think better.  We invested it.  And what it taught me, so whenever it is how you behave in the crisis,  this is how you build trust with the client.  So, if you really do an extra mile during the crisis situation,  you can be sure that it will pay back to you.  This is how we build long-term relationship with people, with clients, with companies,  by showing how we behave during the crisis situation.  So, advice, if you ever build a company or you have angry client  on the other side of the line, do your best to really fix the problem,  not to try to blame the client for it, even thought it's his fault.  Try to really help and you can be sure that whenever there is another crisis,  your client will be more open to listen to you and to build the long-term relation.  Scaling.  There will be the time that you will have to decide about if you want or how you want to scale.  I think it was around in the seventh year of running the company.  It was really a breaking point for me.  So, a company I built grew from around 30 people to 70 people.  So, more than 100% growth in the year.  What happened in me? How I felt that time? What have changed in me?  You have to be aware of these kind of things.  So, it was a year when, from a developer, I became a manager.  It was the last year I committed the code to the repository.  It was not given that time, it was as VN, CVS, etc.  But later developers found out that it was the last part of the code I ever committed.  I even printed it on my wall.  So, this was the year it happened.  The next thing was my mindset has to change.  I changed from the mode of doing to the mode of developing.  This allowed me to really scale up the company.  It was the year when I hired my first assistant.  Because for the first seven years I thought I don't need an assistant.  I can do everything myself. Of course I can.  But usually an assistant can do it better and faster and more efficient.  I had my first recruiter before I had been recruiting people myself.  I hired the first salesperson.  So, I learned that year how to delegate to other people.  The other thing that happened to me, from the colleague, I became the boss.  In the past, I was one of them, one of the team members, one of the developers,  one of the person that is committing the code.  Later, I became one of the bosses manager.  So, he is not our guy anymore.  He is demanding, he is delegating to us.  He is asking to do some work. He is not doing the work with us.  This is the mental change that happened to me and this is what I observed.  So, well, they don't invite me to have beer together.  They don't invite me to have quick discussion in the team.  So, this is something that really changed.  I had to go through this process that was in fact not that easy for me.  And of course, I started to think in the process way.  So, managing dozens of people requires you to think, to implement different processes  to be able to manage it.  My advice, guys, to you is that you will have to do this mindset change  if you want to really scale up.  Managing working hours.  I remember the most important and most expensive lesson I ever learned.  So, at the beginning of the company, we have been...  Our developers have been reporting time somewhere in Excel, in spreadsheets, etc.  I discovered after three months that one of the developers didn't report the time  because he just said he forgot.  It cost us three months of client not paying for this work.  It was really, really difficult for me for the very small company that's time.  It was a huge amount of money for us.  But this is the time where I implemented the time tracking system.  And I became...  I made the core system of managing people.  And I think it was a very good, very lesson for me  because this system is working up to date.  And today, I'm having really flat structure.  I'm able to control, to manage 40,000 hours a month.  And I have a company, this is the amount of we report on monthly basis.  Without really controlling people directly sitting on their shoulders  and checking what they do.  They just report time.  It allows us to be very flexible about managing time, etc.  It also allows us to make invoices to the clients very fast.  So in the past, it took me 10 days, really 10 days of each month  to prepare reports and invoice clients.  Today, my accountancy is doing it in maximum two days.  And invoicing is very, very important for the company.  Like a service company.  Be big and stay big.  So running almost 250 companies is a big challenge.  A big challenge to build long term relation of the client.  What I learned, what I believe that motivates people, developers to stay in the company,  to be motivated.  First of all, this is what I think is the most important, this is a project.  So if you have interesting project, then people will be motivated.  You don't need all this agent stuff, etc.  And this is what we try to have find good projects, nice projects for our developers.  And this is how to motivate.  The other thing I think motivates people is people they work with.  Except for the project, for developers, not only it is important with whom they are going to work.  So I say good people attract good people to your company.  At the end, I would point something like work organization and also the brand of the company attracts people.  But this two most important thing is project, new technology, challenging project, challenging technology client,  how you communicate with him.  And then people you spend 8 hours every day in the room.  The biggest challenge is to come.  So before I talk to this, let me show you some two stories about what I think about guessing what will happen in future.  It was the time when on the market there was only internal explorer number 6.  Not sure if you are familiar with this one, but it was a big version that time.  Firefox was about to born quite soon, nobody thought about Chrome browser.  That time JavaScript was already on the market showing up and I said that time JavaScript is not the future,  it is going to die pretty soon.  And you can see how mistaken I was.  But this is what I thought.  Well, Python is going to be the number one language at JavaScript.  Well, who is going to use JavaScript?  Nobody, it is Microsoft, it was connected to Microsoft that time.  This is not the language for developers.  The other thing was about Django.  I am still a big fan of the CMM.  That time Django was about to born when I started with Python.  Django was born.  I thought Django is a really simple framework without advancing and doesn't require a lot of skills.  Python and some other Pyramid frameworks are going to become the future.  I discovered quite soon that I was very, very mistaken and today 90% of work we do,  my developers doing the company was Django.  So, you know, what I will say, what I think about future, just it can change.  It is the huge change, huge change that will not happen.  So maybe do other way around.  So what I can see on the market, because we do a lot of projects,  Python is getting more enterprise, so I can see more and more big companies are using Python.  That is why also you have a chance to grow easier.  But what I noticed, so I think we are quite secured with Python for the next couple of years.  So I am not afraid that Python will be gone or something.  I think it will be very popularized, very major.  But what I can see, world is changing very, very fast and I see a huge potential, huge change in JavaScript.  And what I would advise to you, focus on JavaScript and focus on versatility.  So I advise my developers not to, you know, change to JavaScript,  but just to learn JavaScript and do both Python and JavaScript depending on what they think is important,  good for the project that I work with.  And I must say that we have plenty of, I think, more than 50-70% of our Python developers already are using JavaScript  with different frameworks, still using Python in the back end.  So I also see the potential of new languages like Haskell, Igo.  You have to be open to it, but you don't need to switch to it just like this.  Just learn it and use it in your daily work.  And I'm not able to say, you know, what will happen.  What I can advise you about the future and this is what I have been doing all the time,  is just to justify, customize to what is happening.  Somebody told me a couple years ago, what do you do if Python will disappear from the market?  My reply was that it will not happen in one year and I will be able to switch to some new language, to some new technology.  So I'm very open to what is going on, observing and just changing myself.  The same way I changed from the CMF plan to Django and we are now using on the Django, many Django here.  Just have open eyes and don't be open to the change and to reply quickly to this one.  This is it, this is what I wanted to share with you.  I think we have still five minutes to your questions, so I'm very, very willingly to open to answer your questions.  Thank you very much.  We have some questions there.  Hi and thank you for your talk. I had a few questions.  Did you have a PyPy project?  PyPy project, Python project with PyPy interpreter?  PyPy, no, we don't have PyPy and we don't have OpenStack.  So this we don't, we have all the others.  Do you have remote employees?  No, maybe one, but working very close. I really believed from the beginning in that team spirit.  So I structured the office that all one team is sitting in one room, no open space.  I believe in the close communication that I believe one plus one in case of people is more than two.  So all our people are in office, we don't work remotely, we have only clients that work remotely.  And it really pays off.  Okay, and final question. You said that you believe that in JavaScript as a use potential,  are you transitioning to a model where you have Python as backend with a rest API  and front end with JavaScript, any framework, React.js?  This is the architecture decision and depends really on the project.  We do startups, we do enterprise.  So it's up to the team very often or up to senior developer architect to decide how it should be.  Sometimes there is only JavaScript, we have also JavaScript developers  and so we have both JavaScript and in front and in backend.  Most of the cases we have Python in backend, JavaScript in front end  and of course going into microservices approach.  Thank you very much.  Thank you for your explanation, for inspirational speech by the way.  And my question is why you become a sponsor of EuroPytons and local metabs technical?  So for many years I was participant in many conferences.  So I think because we are very big company, it's time to pay back a little bit  and of course the other topic is really employer branding.  It's very important for our developers and we have more than 100 Python developers in Poland  for us to build the brand so we are proud that they can work in the company that is recognized in the community.  So one thing I learned a lot during the Python conferences, many different Python conferences.  So it's a little bit, I would say, time to pay back.  And the other thing is building the brand here, brand awareness.  Hi, thank you for your talk. How do you build your teams?  So the people and structure of it?  So it's usually up to the client.  So the client is asking for the size of the team and we try to investigate what is the project  and what kind of competences are required and build the team.  What I believe usually we should have in the team around four Python developers,  one Java front-end developer, at least one manual tester and maybe depending on the project,  automated tester. Of course we go in the direction to have Scrum Master  and very, very important first of all product owner or proxy product owner on our side.  This is the perfect team composition that works for us.  And we try to find people that fit with competences, so to have at least one senior,  to have some regular guys, maybe junior, because it's not good to be team only from the senior developers  because it can end up with a lot of quarrels, internal tension in the team.  Thanks for sharing your story. Can you say something about marketing and sales,  how you find customers, especially in the beginning?  Especially for the first six, seven years of running company, I was doing sales myself.  So remember I was really Python developer, so I was doing a little bit of sending emails,  but then we have been growing on the references.  So we have been growing on existing clients, client scale up, adding another team.  And you have to remember also we had a parent company, so it allows us to really grow up to 50 people  on the parent company because they have the project for the banks.  Later I was just trying to connect also on the events, networking events like Europe Icon,  but also other events, watching what's going on, trying to build the network with other CEOs  or management in big companies.  Today we have the sales team that is doing a lot of this stuff for me,  but I'm still involved in all the, let's say, closing deals, so I also talk to clients,  I do projects, we invite potential clients to visit our office where we really can impress people  because you can imagine when you invite clients to your office and you have 100 people in our headquarter  with something like 80 Python developers, then they are really amazed about how good we are structured,  how the process works.  So I believe this is the best way how to win our clients, just to invite them.  If we invite client, if he agrees to visit our office, usually he becomes our client.  We have 90% chance that it will happen and it's happening like this.  And we have on average right now one visit every month or every two weeks.  Any more questions?  We have time for one more question.  Okay.  Okay, I have a new question.  When you talk about when you have a client problem during a project,  even if it's client fault, what happens when it's one of your employees who is at fault,  who made a mistake, anything?  How do you deal with that?  My approach is always the same.  I admit it's our fault.  Really, I always say sorry, it's our fault, we made a mistake, let us fix it.  And what I learned on it, the feedback from the client is very good because it builds trust.  I really see today that crisis situations are the best opportunity to win your client for the long-term partnership.  One of the key success of my career is that I build long-term relations with the client.  Our projects last for three, four, five years.  That's why we don't need to do a lot of sales.  When we start to work with the client, we work with this client for many years,  just having only maybe one team, sometimes growing up to five, six teams.  And I believe it's because we are open and transparent to the client.  For example, he has access to our time tracking system that allows to build trust.  He can see what developers are doing.  He has a feeling of the control of the sprints we are delivering.  So when it's the back, I say sorry, we also make mistakes.  My question was more about the employees.  Do you have your management techniques to use your performance of your own players?  No, we don't have an instructor here.  I believe that the team is fixing it itself.  So we have an agile, we have Scram Master that we do retrospective after each of the sprints.  And this is how we try to improve and solve problems and improve for the future.  Of course, we have some management, small management board level,  just to service delivery managers, keeping an eye and giving feedback half a year  or really feedback to developers.  Okay, thank you.  Thank you.  One quick.  Could you please recommend some books which helps to start off with something for beginners in a business?  Books. You are asking about books, yes?  Yes, books are any kind of resources which could help.  One of the books that inspired me the most is Seven Habits of Effective People from Steve Covey.  This is Seven Habits of Effective People.  And this is really about the mindset, about communication.  The other one is for effectiveness, I really encourage getting things done and implemented in some way.  I think more precisely because I remember on the Polish titles,  you can visit me at our booth and I will be able to probably share more books with you.  But this is the Seven Habits of Effective People really made me a manager  and I read it when I was still a student.  Okay, thank you very much.
Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_0_167.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_168_539.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_540_779.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_780_863.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_864_923.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_924_1067.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_1068_2159.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_2160_2243.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_2244_8159.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_8160_8207.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_8208_8255.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_8256_9815.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_9816_10499.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_10500_10559.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_10560_11567.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_11568_11903.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_11904_13199.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_13200_13643.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_13644_14135.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_14136_14339.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_14340_20303.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_20304_20351.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_20352_21155.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_21156_21239.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_21240_23795.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_23796_24371.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_24372_25187.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_25188_25331.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_25332_31475.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_31476_32375.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_32376_32543.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_32544_34847.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_34848_36743.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_36744_37451.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_37452_37607.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_37608_37715.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_37716_39767.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_39768_41027.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_41028_41123.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_41124_41711.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_41712_41759.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_41760_41819.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_41820_49271.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_49272_50915.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_50916_50963.png Maciej_Dziergwa_-_The_Journey_from_Python_Developer_to_Python_Company_Owner_50964_56301.png