In continuation with our tradition of having influential WordPress experts share their success stories, today we have Milana Cap, a WordPress contributor, and developer with tons of experience under her belt. Let’s hear it from her on how she got introduced to WordPress and how her success began.
Moeez: Hi Milana, it’s great to have you with us today. We would like it if you introduce yourself to our audience. Please tell us a little bit about your background and what you are working on nowadays?
Today I’m a freelance WordPress engineer at Toptal, specialized in integrations with external APIs and services. In short, making all sorts of beautiful Frankensteins.
I’m also one of the WordPress Documentation team representatives and currently leading the documentations focus for WordPress 5.8 release. In short, offering cookies to prospect contributors (biscuits if they’re from the UK).
Moeez: What was your first interaction with WordPress? When and how did you realize that WordPress should be a part of your career?
Milana: My first interaction with WordPress happened in 2009 when I was looking for a blog PHP script for a friend. At that time, I had experienced only forum PHP scripts (mostly phpBB) and was surprised to see how many blog scripts just didn’t work. WordPress was the first one I found to work well enough for putting it on the server. After that, I started following different blogs and tutorials about WordPress and replicating all of them in my local install.
WordPress became part of my career before I even started thinking about it. I was freelancing for 5 years, mostly for my friends and colleagues musicians, and still didn’t dare to call myself a developer. Only when I left my job at Serbian National Theatre and started working full time as a WordPress developer, I realized that I was, in fact, a developer.
Moeez: You were part of WordCamp Belgrade and WordCamp Europe, how was your experience? What are some of the things you learned while organizing these WordCamps?
Milana: My first WordCamp was the Belgrade one and I was a volunteer there. My loud, and generally direct, appearance must have created the illusion that I was also organizing it. I can easily see this happening.
WordCamps I helped organize were WordCamp Europe 2018 (Belgrade) and 2019 (Berlin) and WordCamp Niš. For WordCamp Europe 2019, I was leading the team responsible for Contributor Day and while doing it I was forced to learn (or burn) to ask for help.
Being a freelancer and a single mum for a long time, I didn’t really have room for relying on anyone else in any aspect of my life. Leading the team was a strange idea in my head. I thought I should be doing everything I possibly can and if there’s something I don’t know how to do, I’ll ask someone else to do it (or even better, show me how to do it myself). Luckily, I was aware of this problem of mine and had regular discussions with myself about it. Eventually, I ended up delegating every task during the event itself and leaving managing and overseeing as the only things I should be doing.
This new knowledge was very helpful later on when I started managing and overseeing different projects in the WordPress Documentation team, but also with delegating many new tasks to my daughter.
Moeez: As a WordPress developer, a part of your job must be to meet critical deadlines to deliver projects timely. What are some of the tips that you would like to share about time management for WordPress developers?
Milana: I am strongly against critical deadlines. Critical deadlines lead to fatal errors. And honestly, even if it is sometimes justified, a real need for a specific delivery date and time is very rare. What is more important is that the code does what it’s supposed to do without breaking everything else.
We can argue if the quality of code is even more important but the truth is, opportunities to write a really high-quality code, that is equally beautiful to look at, are also very rare in real-life projects. Most of the time you end up shipping a good enough code that doesn’t introduce bugs in most common scenarios. And of course, that one scene you didn’t test will show its ugly head during the first 24 hours after deployment.
This is all stressful enough especially if you’re looking at consequences like breaking the payment system and some sort of money loss, or leaking important and/or personal data. So my advice would be to avoid giving estimates at any cost. Instead, make sure that the client knows every phase of the project, what are challenges in each, and everything that can go wrong if something’s not coded and thought out properly.
If you still have to give an estimate, give yourself enough time to code, test, break, fix and breathe. Forced deadlines, for the sake of having something published next Wednesday (or God forbid, Friday), are unacceptably expensive and no one should ever experience them.
As you might imagine, I’m not management’s favorite developer.
Moeez: What are some of your favorite projects that you have worked on? What made them so great?
Milana: Any project that brings a lot of things I’ve never done before is my favorite project. I’m cursed by getting bored very easily so I always pick projects where I have no idea how to do 80 percent of it. I have also been working with companies that have an impact on important things, such as clean energy, domestic violence, and child abuse, helping local farmers, etc. These are really my pet projects and where I put my whole heart and mind.
Moeez: You and your team developed an orientation app for WordCamps when you were a lead. Tell us something about that?
Milana: As co-organizer of WordCamp Europe 2018, I was part of the Community team and our responsibility was, among other things, Contributor Day. This is the time when I realized how many obstacles new potential contributors face in order to attend Contributor Day.
First, they don’t know what it is and don’t feel invited; then they get some vague idea of what’s happening there and get the impression that it is for very good developers and experienced contributors; then, during registration for Contributor Day, they have to decide, amongst 27 of teams, which to join; then they arrive at Contributor Day, join their team, only to realize that’s not what they thought it would be. And all of this happens under the assumption they didn’t give up on the previous step.
The problem was that we were approaching new contributors from our point of view, with specific Contributor Day vocabulary, asking them questions they could never know the answers to. So I knew we had to help them on every step during the whole process, especially when deciding which team to join. We had to change the questions to something only they can answer for themselves. And that’s: what do they do with WordPress, what are their skills, what they would like to do and explore. Based on these answers we should be the ones who filter out the list of teams that match their unique sets of skills and interests.
So this was the idea born in 2018. I didn’t know how to execute it so it remained just an idea for the WordCamp in Belgrade. Then I was offered to be the next year’s Community team lead and I thought that it was a great opportunity to put that idea into something useful. During the first months of organizing WordCamp Europe 2019, the team talked a lot about it. We shaped the workflow, conditional outputs based on selected answers, and finally landed on a decision that it should be a form. First prototype was Google form and it wasn’t really working as we needed it because of limited functionality when it comes to conditional options but people started getting the idea of how it will work and we were receiving positive feedback.
So we decided to build it as a WordPress plugin and that’s what people used when choosing the team for WordCamp Europe 2019 Contributor Day. The first people who worked on it were Aleksandar Predić (development), José Freitas (workflows and user journey), Abha Thakor (marketing and test reach out), and myself (bossing around and code reviews).
Moeez: You went from being a classical musician to a WordPress developer? Tell us something about that transition? Do you still make time for music?
Milana: The transition was rather smooth. There was this specific moment when I left my job at the theatre and started working at a development agency. But that was just a change in my daily routine. I’m still giving the same amount of time to both as I did 12 years ago. It’s just a different form of doing it and the official labels for job and hobby have switched.
Before I was more involved in creating the music and never really listened to it in my spare time. Now I’m listening to almost all the time and playing piano when I need my brain to stop thinking about coding problems and start thinking about coding solutions. It’s a great way to turn it off and on again.
Moeez: Why do you think WordPress powers over 40% of the web? What are the main reasons for its popularity in your opinion?
Milana: I think the main reason is that WordPress can be successfully used by everyone. You can have a working website without ever touching the code or extending every little piece of it with custom code. It can be as simple or as complex as you want it to be. So regardless of your skills or knowledge, WordPress gives you that satisfying feeling of accomplishment, of transforming an idea into something real. That is a very powerful feeling which can and has changed people’s careers and lives.
Moeez: As someone working so close to WordPress, what do you think is the future of this CMS considering a number of competitors and alternatives are available.
Milana: I think there is enough market for everyone. Clients have so many different needs and many of them you can’t really fit into just one CMS or some other tool. I do all sorts of integrations every day and even if we had 10 more different CMSs it wouldn’t be enough to cover all ideas. So I think that everyone will keep getting their piece of cake for many years to come and every solution out there is necessary for constant improvement of all the others.
Moeez: Online or virtual events are replacing offline events and it seems like this year the story won’t change much. How has your experience been organizing and attending online events? Are they a good substitute for offline events?
Milana: Excluding a few meetups, I haven’t been organizing many online events. I found attending full online conferences to be exhausting and I even stopped submitting my talks. I was speaking at online events only when I was invited to do so and the experience was not so great. Not because the organization failed or anything like that. I’m just the kind of person who needs to see the faces during the talk.
I think online and offline events are completely different things and one can not be seen as a substitute for the other. Nothing can be substituted for accidental meetings in the hallway; for new ideas born in conversations during a lunch break; for hugs; for having a dinner with new friends in a new city; for meeting other speakers in person; for hugs; for an afterparty with everyone you saw on and off stage in past few days; for hugs.
I’m not a fan of online events. I see the benefit in the possibility to attend any event anywhere in the world. That is a huge benefit. Paired with low to no costs at all, I can see how online events can become very popular. But they’re not. They just don’t provide enough happiness which can be obtained only by a hug, off-topic conversation with a friend, and new friendly faces who already feel like a family. We need other people in person.
Start Creating Web Apps on Managed Cloud Servers NowEasy Web App Deployment for Agencies, Developers and E-Commerce Industry.
Moeez is a WordPress community manager at Cloudways. He loves to work closely with customers to understand their problems and come up with solutions that are not only beneficial but are long lasting as well. He also actively participates in the community to share his knowledge regarding Cloudways and hosting in general. In his free time he likes to watch football, workout and spend time on his PlayStation. Get in touch with him at [email protected]