 Hello everyone, I think this is working. Yes, so my topic today is growing pains of WordPress agency My name is Yaku Alajoki, and I'm a CTO at ever made I'm also one of the founder founders of the company and also a full stack developer So this presentation will be about like from my point of view So as a developer point of view of growing Let's start from the beginning 2011 we founded the company back then we had four guys and two developers today. We have 20 people and ten developers so and like most of the growth has happened in past three years So it is pretty obvious that things are not as they used to be when we were pretty small and We had had a lot of issues Not a lot of that issues and we have also found some Solutions with that as well. So I hope that this presentation gives some ideas to if someone is having something similar and These are based on my experience, but also from the feedback I got from our team so rule number one number one is focus When we started the company we did basically everything from photography to print design to websites to USB drivers and After two years of doing that we decided that Wait a minute. This is not the best way to do it So we decided to focus on marketing websites built on WordPress and basically immediately after that decision We started to grow So like focusing has been one of the biggest thing we have done like in fast and Everyone knows that hey focus is important Like we knew it, but it's still pretty difficult to do in real life like You have already have clients you need to say no to some of them you need to say no to the new business And that's actually pretty difficult So when we started to hire more developers, we soon realized that Everyone was working in their own way like every project was started from scratch and A lot of different tools are used That's pretty stupid like It's a waste of money and a waste of resources You cannot like swap developers within projects Maintaining is very difficult so like We defined our way of working like how should we do stuff and For us it was just enough to create some kind of boiler plates, so we have a Like a base project base theme base everything So when you start working you take the base and that kind of already guides you to the right direction And what we also did like we had a lot of issues with different Kind of development environments, so we decided that we all need to have like equal Development environment so nowadays like all of our developers have Virtual machine on the cloud and it's very heavily our environment is very heavily built on Docker and Everyone is using exactly the same environment and like if someone is having an issue I can just log in to his machine and like help him immediately and Felt having an issue on on some people we know that Others are going to have the same issue. So like having unified development environment Has saved a lot of time in the past so the next problem is When we have all that How to share the knowledge like inside the team if you have two people you can just sit together and discuss But when you have ten people it's not enough We have people working remotely and and that kind of stuff So how do we make sure that everyone knows like what is the way our way of working? Of course documentation is important and That doesn't mean anything super heavy because like there's a lot of people who don't like to read documentation. So we have Pretty good read me files for all of our tools and that has been for this point has been enough documentation We also have these developer meetings. So once in a while We gather together all all developers in our team and we sit down and Usually like one or two hours and discuss about changes. We have made to our internal tools and stuff What I have noticed that We cannot make decisions on developer meetings like it's too many people for making actual decisions. We are making decisions in Smaller groups, but once in a while we sit together and share that knowledge we also have of course we have retrospective of projects, but we also have this Development review after projects where we sit down with the like usually me project team and some external guy and Discuss about how the project went from like the development point of view and we make sure that all our guidelines off the load and Also, like for me, it's a moment when I can gather and feedback from individuals like how our tools are working and then How not to lose freedom because like we are saying that hey come to ever made you can do whatever you want But at the same time we have this pretty strict way of doing projects. So how do we balance between being free and Being strict, I Don't know like I don't know How to define it, but we aren't trying not to be too strict. We have the base, but you can do the Like a lot of solutions by yourself Also, you need to remember that Your stuff is never ready. So like there's always ideas coming in Like new tools you should start to use and you like libraries and plugins and stuff that kind of stuff so You need to have some kind of process of getting those ideas in and applying those to your workflow so that everyone else can use them as well That's maybe one of the biggest issues we're having like We are in a hectic project business deadlines coming in like new projects starting and Profit margins are at huge, but still we need to find the time for internal development from somewhere And Like that is the maybe number one topic. We are discussing with our team that hey, we need to do this but we never had time to do this and I think there's no solution for that since the nature of the business we are in but What we're trying to do we are trying to include the work into our budgets. So if we have some internal like development idea we're trying to Think if there's some project where we can actually like we can spend that budget if that's related to that project So that usually helps Helps us to move forward Also, like you need to consider your internal work as work So it needs to be planned Estimated it's scheduled which make it's like easier to Everyone understand that that's okay. We have the slot there and we have the slot there so we can use that for internal development also We are usually like Because summertime is for example, it's very quiet. So we can use that time for Internal stuff. So we have usually a long backlog of things we would like to do When during July when it's very quiet, but we still have the guys at the office. We can Work on the internal stuff stuff them and sometimes like it's very difficult to define any business goals for our internals internal work for example like refactoring your CSS based Libraries like it's very hard to define what is a business value of that work, but it's still something you need to do That's a tough one I've interviewed like hundreds of people and I've realized that Like developers in general are hard to find But especially that I think WordPress developers are very difficult to find and I Think this is because of the nature of the WordPress. It's not a Like software development platform. It's the CMS made with PHP But at the same time like in your projects, you need full-stack skills, especially on a complex projects and I've noticed that many like real developer don't want to work with WordPress and I Think like because there's already a short shortage of developers That now narrows down the possible candidates to very low like hopefully Unfortunately, WordPress is progressing nicely and it's getting more popular. So I have a feeling that this is getting better Has got better in the past It's still difficult and this is actually my last slide and This is kind of open thing Floating here. So like as I said, we have 10 developers at the moment right now our Hayaki is completely flat and We know that it's not enough like after some point there needs to be some structure I don't know what it is But I know that we're going to have that issue at some point and we need to solve this somehow but that's something like like If you have any ideas how you have done this in your company just come and Grab my shirt and let's discuss about this Sam stop laughing Okay, that was my last slide I'm going to write the blog post about this stuff and put that into my blog there So and also these slides will be available and I will be here the whole day. So if you have any questions Don't hesitate to ask Thanks