Join us today for an exciting adventure with Mauro Chojrin, a technical coach, PHP trainer, consultant, and former IT manager and tech lead. With a career spanning over 20 years in the sector since 2000, Mauro’s journey is a testament to his growth and adaptability.
Discover how his passion for learning and technology propelled him from overseeing IT operations to becoming a renowned authority in PHP training and consulting since 2003. Gain valuable insights from Mauro’s experience about the latest trends and challenges in PHP programming, empowering developers to excel in the ever-evolving digital landscape.
Let’s get this started!
Areeba: Hi Mauro, it’s a pleasure to connect with you. Before we delve into your impressive journey in the tech industry, please share a bit about yourself how you first discovered your passion for technology, and how you’ve evolved over the years.
Mauro: Hi! Thanks for having me, I’m excited to have the opportunity to share my journey with you. For me, it all started as a hobby. My father bought my first computer around 1985 (A Commodore 64) and I immediately got hooked on it. Right at the beginning, I was sent to a coding academy though, in full honesty… I didn’t learn much, so I was only using my computer to play video games.
It wasn’t until a few years later that a friend of mine introduced me to the world of Basic and, from there it was a one-way ticket.
Get exclusive access to all things tech-savvy, and be the first to receive
the latest updates directly in your inbox.
Later on, I went to a technical school where I learned a lot more about programming and how computers work on the inside and my passion grew along.
I got to code my first website around 2000 using ASP 3 and about a year later I took my first bite at php. When I first learned the basics of it I have to say I didn’t like it, too many strange symbols compared to the neatness of Visual Basic, plus we’re talking about php 3 so… things were quite different from what we have today. Anyway, another project came along, then another, and… all of a sudden I found myself going deeper and deeper into PHP. Most of my career has revolved around teaching programming, databases, and such but I’ve also been a team leader and IT manager for different companies, both small and large.
Nowadays, as a technical coach, I help development team leaders improve their team’s performance by leveraging industry best practices.
Areeba: In your current role at Codurance, you help development teams build reliable and maintainable software by adopting industry best practices. What key practices do you emphasize, and how do you implement them effectively?
Mauro: In my current position, I mainly help tech leaders introduce the principles and practices of extreme programming to their teams (Pair Programming, TDD, BDD, Refactoring, Clean Code, etc…).
The way I do it:
- Together with team leadership, define a vision for how the team should be performing (How often should they be delivering working software, how many errors are too many, what the time-to-market for new features be, etc…)
- I run an assessment of the team’s technical skills and ways of working
- I put together a training plan
- I run workshops to introduce new practices
- I oversee the team’s adoption of the new practices
- Together with team leadership evaluate progress and make adjustments if necessary.
Areeba: You’ve also been involved in teaching web development courses on platforms like Udemy and Platzi. What do you find most rewarding about teaching, and how do you ensure that your students have a valuable learning experience?
Mauro: The most rewarding aspect of teaching for me is the opportunity to share what I’ve learned over the years. In particular, I love putting together presentations and other training materials. I try to be very detailed and not assume too much about the knowledge the students already have.
To ensure my students have a valuable learning experience, I always prefer a practical approach over a theoretical one. The way I see it, to learn you need to get your hands dirty, so I encourage students to try different things in a controlled environment so they get first-hand experience as soon as possible.
Areeba: Your experience includes working as a PHP Trainer and Consultant, where you’ve helped individuals transition from junior to senior developers. What advice do you typically offer to developers looking to advance in their careers?
![](https://cyberpanel.net/wp-content/uploads/2024/01/developer-laptop.png)
Mauro: My first advice to anyone who wants to advance their career is to learn object-oriented programming. Learn OOP. It’s not enough to know the mechanics of it, you need to learn how to design using SOLID and other good practices.
Right after that, or perhaps in parallel, learn about automated testing.
Those for me are the first steps in the way to achieving the Senior level.
Areeba: Could you share some insights into your approach to technical coaching and mentoring? How do you tailor your guidance to meet the specific needs of each individual or team?
Mauro: The first step in every coaching or mentoring process is to understand the student’s goals, starting point, and preferred learning approach. Some students prefer videos, others prefer books or blog posts and that is very important to understand at the very beginning.
Once that’s established, a learning path needs to be defined and only then the sessions can be run.
Also, it’s important to establish regular checkpoints to re-assess the goals and progress to make the necessary changes as soon as possible.
Other than that, it’s very important to keep a close eye on the human aspect. Coaching and/or mentoring is about building a strong relationship. A relationship is based on trust and mutual respect and, to that end, it is very important to approach it with humility and empathy.
Areeba: In your freelance work, you’ve written courses on topics like web services, MongoDB vs MySQL, and introduction to functional programming with PHP. What inspired you to create these courses, and what do you hope learners take away from them?
Mauro: Those topics were, most of the time, particular requests some clients made. As in any other material of my creation, my goal was to help people get a good starting point and poke their curiosity.
I hope that people who use my material end up with a clear understanding of the underlying concepts behind the tools they use so they can make the most out of them as well as be ready for new market developments.
Areeba: As a former IT Manager and Tech Lead, you’ve been responsible for overseeing development teams and ensuring the successful delivery of projects. What strategies do you employ to foster collaboration and productivity within your teams?
Mauro: For me, it’s very important to get to know and understand every single person on the team. Not everyone is driven by the same incentives so, to get the best out of everyone you need to be very much aware of their individual needs.
When it comes to fostering collaboration, I am a firm believer in the power of pair programming.
Also, having regular knowledge-sharing sessions, and making documentation an important part of the job is key to achieving collective ownership of the developed products.
And for productivity, I try to keep meetings to a minimum and let everyone use their preferred tools. Oh, and I made a very conscious effort to create an onboarding experience that was as streamlined as possible.
Areeba: Your experience spans across different countries and industries, from Argentina to Spain and the United States. How have these diverse environments shaped your approach to software development and technical education?.
Mauro: It’s interesting to interact with people from different backgrounds as they come with different expectations and baselines.
The main challenge is to understand those little differences between cultures and work with them. For instance, the way people communicate is very different depending on where they come from.
Some people will make a big effort to accommodate others even if that means they get behind in their learning, others will be extremely critical, some will be more respectful than others… the important thing is to understand that nothing is personal and your mission is to help everyone be in a better place than where they started.
I try to use humor to make my lectures more enjoyable but sometimes this can be tricky as some people are more sensitive to some issues than others.
All and all, I think it’s very important to realize that software development (or software development education for that matter) is a human-intensive endeavor and people put a lot of themselves in the products they create, so the line between the person and the product can sometimes become blurry. Keep that in mind when you need to observe a colleague’s (or a student’s!) work and you’ll have an easier time.
Areeba: Your experience includes technical writing on topics like OAuth, debugging in PHP, and Docker containers. How do you ensure that your technical content remains relevant and accessible to your audience?
Mauro: That is a challenge. Given the rapid pace of our industry, things can become outdated pretty quickly.
The way I try to cope with this reality is to focus on the principles behind the technology which, although also change, do it much slower than the implementations.
In any case, I try to update my materials with the feedback I get from my audience and take offline those pieces that no longer make sense whenever I can.
Areeba: With your background in mentoring and coaching developers, what strategies do you employ to support their professional growth and development?
Mauro: There are two aspects to professional growth: the technical and human. My coaching approach covers both.
Some sessions will be devoted to purely technical challenges while others will be focused on dealing with real-life situations the students might be facing, like what to put on their LinkedIn profiles or how to make the most out of networking opportunities.
Also, I like to offer my network as a side benefit to the students I coach. As you might imagine, I get asked a lot to refer people for job openings and I always prioritize my students over anyone else, primarily because I know them well enough to determine whether they’d be a good fit for a particular opportunity or not.
Areeba: As someone who has worked internationally, how do you adapt to different cultural and professional contexts when collaborating with teams from diverse backgrounds?
Mauro: I guess it all starts with getting to know your place and the people around you. It’s always a good idea to start slow and try to learn as much as you can about the way things are done when you’re new to a place.
In general, I try to keep conversations as objective as possible. Even if I disagree with someone else’s point of view, I try to present the facts that support my opinion. Many times when someone expresses strong opinions they don’t have all the information, so bringing a fresh perspective can help them re-evaluate their own.
Then again, it all comes down to what I said earlier: not everybody has the same background so it’s important to understand what each person values and how they’re expected to behave given their culture. It’s not about mimicking them necessarily but understanding where they come from to take things personally and create friction where there isn’t.
Areeba: Looking ahead, what emerging technologies or trends in the software development industry do you believe will have the most significant impact, and how are you preparing for them?
Mauro: To be honest, I don’t follow the trends too closely. If I did I’d probably have ditched PHP a long time ago 🙂.
My point is I see a sort of disconnect between tech professionals’ likes and market reality sometimes. While all like to try new toys, for a company to use them is both risky and expensive, so I think it’s more convenient to stay a little bit behind if you want to be relevant. Of course, this doesn’t mean completely ignoring what’s going on, but you don’t want to be too eager about adopting new technology.
For instance, I’ve been very intrigued with Blockchain from the very beginning (Not crypto but Blockchain) but, at the moment at least, I haven’t seen the massive adoption I expected by 2024. Should I have pursued a specialization around it I’d probably be in trouble right now.
The new shiny object today is AI. Everybody wants to have a piece of it somehow in their applications and there certainly are really interesting tools coming out. Will this have a significant impact on our work? I don’t know. My approach is to wait and see. My experience told me there’s probably a long way before Excel goes extinct regardless of what new developments see the light in the coming years.
Perhaps I’m getting old, but the way I see it, the fundamental principles of computing have been the same since Von Neuman, the only thing that changed is that computers got a lot faster and memory became cheap and abundant. Perhaps quantum computing will change that… should it ever become a day-to-day reality.
In summary, I don’t see a game-changer around the corner but, just in case, it’s important to keep yourself informed and try new things on the side to keep your skills sharp.
Rapid Fire
S. no | Areeba | Mauro |
1. | What’s your go-to debugging tool (Chrome DevTools or Firebug) | I mainly use Chrome DevTools for frontend debugging and XDebug for PHP |
2. | Watching a Movie or Going for a walk? | Either one can work for me, mostly depending on the weather. |
Thank you Mauro for your precious time and expert opinion!