Public Speaking and Front-end Career Development with Andrés ‘El Pana’ Villanueva

Translated transcription from Spanish of episode #9 of the Angularidades podcast

Alejandro Cuba Ruiz
Angularidades

--

Listen to the entire conversation in Spanish with Andrés Villanueva on Spotify, YouTube, or other podcast platforms.

Episode #9 on YouTube

Alejandro: Hi Andrés, how are you?

Andrés: Alejandro, I’m doing very well. Happy to be here talking with you!

Alejandro: Thank you very much for accepting the invitation. And let me introduce you to the people who may not know you yet. You’re a software engineer originally from Venezuela. Currently, you reside in Buenos Aires, Argentina. And you have the distinction of being a Google Developer Expert, which Google awards to those who excel in using and programming some of their technologies. Specifically, your GDE credentials are in Angular and Firebase. But throughout your professional career, I’ve read here and there that you’ve worked with many other technologies like C#, PHP, Java, Android, NodeJS, and the not-archenemy, React.

Andrés: It’s like the cousin you didn’t like. React and Angular are like cousins who didn’t get along, but now, after growing up… No, yes, we’ve grown up; we didn’t like each other as kids. How can we like each other now? Something like that.

Alejandro: Exactly :) And they complement each other a lot because they have a lot to learn or acquire specific design patterns from each other.

Andrés: I don’t know if you grew up with a cousin who played a game better than you, and you wanted to be like them. And vice versa. And you did something that… well, they are like that. They love each other, but each in their own way. Controversial!

Alejandro: Exactly. And this has really allowed you to see software development from multiple perspectives. Nowadays, you work for HeroDevs, which is a well-known company in the Angular community because it oversees everything related to AngularJS and Protractor, and even Vue, which is another cousin from which we’ve inherited a lot from both Angular and vice versa. You’re also the founder of NG Venezuela and FirebaseVe, another example of how involved you’ve been in software developer communities for many years, something you continue to do today. And again, thank you very much for accepting this invitation. I have a series of questions for you to cover today.

Andrés: Hey, what a great introduction! I had never been presented in such detail with all the craziness I’ve done. I love it.

Alejandro: One has no idea what one is doing until someone else tells them.

Andrés: Yes, really, I have done all that, and it feels like it was just yesterday, and… How many years? I don’t know…

Alejandro: Exactly. I even learned from your GitHub profile that you’re a stand-up comedian.

If you’re one of those comedians who stand up to improvise somewhere, you’ll have to tell me, but you’ve had the opportunity, have you already done it? Where specifically? In bars or theaters?

Andrés: Oh, yes, I did, in bars from late 2013 to the beginning of 2015. Let me tell you, I did theater at the university where I studied for almost seven years. I was heavily involved in theater productions, from children’s plays to street performances and circus acts. After I had to detach myself from the theater, which was like tearing a piece of my heart because I had to develop professionally in my field of study, I was always searching for something related to the performing arts. In 2013, I stumbled upon stand-up comedy, and I thought, “I want to do that; I feel like I can.” So, I started doing it.

The first night, I messaged a comedian and said, “I want to do this; can you help me?” He gave me a lot of guidance, guidelines, and I wrote my script, what they call my routine. Two weeks later, I was in a bar, in front of 50 people, 20 of whom were my family and friends, doing stand-up, which went pretty well. In fact, it went so well that they invited me back the following week… And I said, “Well, okay.” The next week, when they invited me, they said, “After I finish, my routine was about 15 minutes, something like that, I got paid.” And they told me, “Here’s your share.” I asked, “What is this? Do you pay to come here?” “No, they pay for this. Yes, of course, there are these categories. When you’re opening, you’re the first act, and you get paid the least. But when you’re closing, you have the longest routine and get paid the most.”

That’s when two years of stand-up comedy started, at least about two or three times a month and then two or three times a week. It was an experience that helped me a lot when giving in-person talks because I had the improvisation skills that theater had given me, which I had polished with stand-up comedy. As my mentor used to tell me, “It’s a war where you either kill them with laughter, or they kill you with silence.” And that’s very true. So, it gave me the tools to make my technical talks a bit like stand-up and take advantage of improvisation to get laughs out of mistakes. So, I think there are several of my talks on the internet where you can see some of what I do in stand-up during my presentations.

Alejandro: I'll look for them right after we finish this conversation. I wonder, Andrés, given your professional background, have you had the opportunity to get some laughs from your audience with jokes related to programming or software engineering?

Andrés: I remember once we were, I think it was in Bolivia, and I was giving a talk about Firebase Cloud Messaging, and the demo didn’t work. So, I told a girl or a guy, I can’t remember, “Go to this link and log in, do everything else, and now let’s see the result. Your message will arrive now.” I said this while sharing my screen, and on the dashboard, you could see the message that the person had sent in my tests. You know that production is not the same as development, right? So when it didn’t work, I said, “It must be coming, it must be coming.” And I continued, “Well, this is how a demo fails; this is what you shouldn’t do,” and went on from there. People laughed for a bit, and the notification arrived shortly after. But I used that to try to get a laugh, and I definitely did.

Some people have told me that I have a very… laughter-inducing personality. You hear me talking, and suddenly, I make a face, a grimace, or say something like, “What’s wrong with this guy?”

Alejandro: Well, you just made us laugh with that, so even the improvisation example you just mentioned is something that, even if one hasn’t discovered it before, can help during moments when you might draw a blank or not have anything specific to contribute during a software architecture meeting or something similar. There are always ways to find ways to establish that empathy with the people around you and with your audience because, in the end, what sets us apart as humans is that ability to collaborate.

Andrés: And without forgetting that sometimes we can literally idolize or see as unapproachable someone who is a few inches above us, giving a talk on something. But we’re just regular, ordinary people who may have more doubts than those listening to the talk or perhaps less knowledge or experience than those in the audience. But just standing up there already makes you seem like a relevant figure. And it’s not always like that. Personally, I don’t like that; I mean, I like when people ask me questions and talk to them, and it’s more about feeling empathy than technical knowledge. If technical knowledge is what brings us together, that’s fine, but beyond work, we won’t be able to communicate. No, the idea is to communicate beyond work and always communicate effectively.

Alejandro: That’s very important. By the way, you have a tweet from earlier this year announcing that your challenge -in fact, you have it pinned on your Twitter feed- is mentoring your cousin in his 40s during his transition to web development.

From here, I have two questions. The first is, how is that process going? How smooth, how easy has it been for you? And the other question I have is about the advice you could offer to those who, in their adult life, venture into a complete career change, specifically into the field of software programming.

Andrés: Okay, answering the first question: unfortunately, it hasn’t gone very well, and it has been due to the economic situation in Argentina, basically. But we are still working on it, although not at the same pace as before. At this point, we have maybe two or three months where we haven’t practiced, we haven’t talked. But at this point, I’m pretty sure that my cousin already knows what HTML is, knows various tags, understands CSS, understands the web, how a web page works, how it communicates through a server, understands the basic concepts of Git, and is slowly getting into JavaScript. But unfortunately, as I mentioned, due to concepts and the country’s situation, he had to put it on hold a bit to continue supporting his family.

Linking to the second question, here's one of the pieces of advice I would like to give to those who are studying to become developers and are already involved in another career. There will come a point where you will have to make one of the biggest decisions of your life, which is, do I leave what I’m doing to pursue this new path? When you face new challenges, it’s normal to feel fear, especially if you are a parent, have a family, and have people under your care. Keep going. My recommendation is don’t jump into the pool headfirst; start by dipping your toes, then wade in up to your stomach, and so on.

There will come a moment when you won’t even realize it, and you’re already swimming and immersed in the pool, but don’t stress about it. Take it easy because transitions are not easy, and as we grow older, they become even harder because we get more accustomed to routines; humans are creatures of habit. So, slow down, stay calm, keep working, and if you can get a few hours, help out a team, and get paid for some free time, that’s a good way to get involved and gain experience, and when you feel ready, take the plunge.

Alejandro: Exactly, and when you do the year-end analysis, I don’t see it as a failure based on what you mentioned earlier. He has already mastered fundamental basic elements of web programming, which can serve as a prelude for preparing for when he has the opportunity to restart the whole learning process. He’s not starting from zero anymore. So, all the mentoring you were able to offer has been relevant.

Andrés: Yes, it has been relevant. The problem is that perhaps we set some expectations that, due to circumstances, we couldn’t meet, and we need to update those expectations. Why? Obviously, there are always changes in plans, whether we like it or not, and what we have to do is adapt our expectations accordingly. Well, maybe by the end of the year, he didn’t manage to understand or create a fully functional webpage from scratch, but at least he can create one semantically correctly now, and that’s progress. A few months ago, that wasn’t the case. So, the idea is to set or adjust the expectations towards a goal that can be achieved. If it can’t be achieved, then the expectations are readjusted.

Alejandro: And this idea of adjusting expectations based on changing conditions and external limitations sounds very much like the typical software development process that we have to face day in and day out.

Andrés: Exactly.

Alejandro: Here’s a somewhat profound question: since you received the GDE distinction in Firebase and Angular in April 2018, what has changed in your life?

Andrés: Uff… Well… professionally… many aspects have changed. Professionally, it has helped me… it’s been like a boost to my career, you know? Having this distinction does help a bit, I won’t lie. But at the same time, it has helped me to balance my personal life better. Being a GDE, having this title, it’s not like you achieve it, and that’s it, no. It’s just the beginning of the marathon because now you have to collaborate, you have to prove that what you fought for is real, and you have to allocate your personal and family time to give it to the community. It’s about improving how I manage my time, my work time, my time as a dad, my time as a husband, my time as a son. And I think that has been the greatest personal lesson the GDE title has given me.

On the other hand, of course, I’ve made many friendships and met many people in the community, and they’ve left a mark on me in some way. I’ve met some of my best friends thanks to the program. And you always feel that the program, what fills you the most, is the networking, talking to those friends you haven’t seen in several years and only chatting to discuss certain technology-related things. When you meet them and start talking about things beyond technology, that’s the big plus. And, of course, helping those who want to get into the Google Developer Expert ecosystem or want to enter the world of open source, or simply want to solve a problem they have at work. That has been incredible, really. I love interacting with people a lot. I love talking. I love seeing, discussing, and getting to know, and I really appreciate that a lot, thanks to the GDE program.

Alejandro: You’ve mentioned the key points that keep you motivated to continue sharing your knowledge, not necessarily to maintain the GDE distinction, but for everything else you mentioned about the community, staying up to date with everything related to software development, and enabling others to feel that they can contribute to the broader community as well.

Andrés: There have been moments in these six years I’ve been a GDE where I have the energy to collaborate, to give it all, to show myself visually so that people get to know you, and then there’s a drop in energy. Instead of doing very frequent collaborations, you start doing collaborations that might be a bit more spaced out but have a greater impact. And that’s what’s keeping me going now.

Maybe I don’t give as many talks these days, maybe I appear less, maybe I speak less on podcasts or other platforms, but I’ve been doing inventory work for new GDGs (Google Developer Groups) and also working on open source collaborations. That’s what’s really fulfilling me now.

Living in that darkness, in that shadow, is filling me much more than being exposed and having many followers. I prefer the intimacy, the simple interaction with two or three people, explaining things.

This reminds me -I’ll go off on a tangent for a bit- of a time when we were here in Buenos Aires, and I had to edit a Firebase workshop for the entire suite at a very famous company. It was a Saturday morning, but it rained like I’ve rarely seen it rain here in Buenos Aires. I was talking to the organizer and said, “I think it’s going to be canceled,” and he said, “Well, let me see if anyone has arrived, hopefully not,” and he called me after going to the event as an organizer and said, “Buddy, they told me, buddy, we have six people here out of the 40-something who registered. There are 6, and we have to do it. We definitely have to do it because if they leave…”

We did it, and it was the best workshop I’ve ever given in my life. The level of intimacy and the quality of the answers and problems we solved were so personalized for six people. They left literally loving what they were going to do, with questions answered and, above all, a lot of curiosity and a strong desire to keep working with the tool. I feel that the interaction we had. We were literally ten people: four organizers and six attendees. It was incredible, the best workshop I’ve ever given in my life. And it was hidden, without a large audience, without many people watching us. It was just us, focused on the work. That was amazing for me.

Alejandro: This is one of the balances that you must have as an event organizer or workshop facilitator — understanding the trade-offs, the specific balance between the quality of the end result with respect to the number of attendees. Whether it’s because the event needs to have a certain number of people for financial reasons or to reach a wider audience, the trade-off of that one-on-one contact is noticeable. It’s inversely proportional from that perspective, especially when the person delivering the knowledge feels more connected to a small group of people rather than a larger audience.

Andrés, allow me to ask you if you have the chance to give a talk to 150 people or a kind of workshop to 150 people or if you have to take time out of your own schedule to deliver the same content in three separate talks to smaller groups of 50, what do you do to keep it engaging? If you choose to distribute it among multiple talks, what do you do to keep it from becoming monotonous? In other words, how do you convey the same message but in a different way so that you don’t get bored during the entire workshop?

Andrés: I would prefer to give three workshops to 50 people. And theater has taught me that even when you’re performing in a play, every day is different, you know? Every day is going to be different. Something is going to happen: the lights won’t work, or the music won’t play, or you’ll forget a line — it’s always going to be different, always absolutely different. And it’s the same with workshops. It’s exactly the same with talks.

Ask Leifer, Dani, and Nelson, who have been here in this podcast. They’ll tell you about their experiences every time they give a talk in different places. It’s always going to be different because the audience is different, your mood is different, your humor is different. There are times when you wake up in the mood to speak and times when you don’t. And it can condition the outcome.

So, I would prefer to do three different sessions and, I don’t know, change something… I like to improvise a lot in the talk, do something different, and come up with something like, “Okay, on the first day, let’s solve a problem one or two of them have. Let’s separate them and solve that problem. We could propose a problem for everyone to solve together or individually and then start creating a product. Have all 50 of them participate in a mini-hackathon to create a product they’d like to launch.”

There, you have three different talks with totally different situations. So perhaps the monotony of our work is because we sit down, code, solve problems, argue with the product manager, argue with QA testers, argue with backend developers, and discuss things. I don't really argue; I mean to argue in a playful way, but there will always be challenges that catch our attention and motivate us to solve them because if you’re an engineer and you don’t like solving problems, I don’t think you’re in the right career.

Alejandro: That creative component is essential in software engineering. In fact, the challenge I mentioned is because on a specific day -not necessarily because you’re feeling physically unwell- but because your energy levels aren’t balanced correctly for the presentation. But, in any case, you have to do it. What if, for example, we have the three sessions spread over Tuesday, Wednesday, and Thursday, with this audience of 50 people for each of the talks? The first day went fantastic; you were able to give your best and received a wonderful response and feedback from the audience. But on the second day, you may encounter issues that prevent you from being at your peak before the presentation, and you only have 30 minutes before that. What techniques do you normally use to internalize everything coming up in the next half hour and prepare yourself to be at your best?

Andrés: Usually, when I feel like that, what I do is some relaxation techniques before going on stage. At least, lying face down and doing this, vocalizing, doing some arm exercises. No, not push-ups. Just moving my arms to loosen up, letting gravity take them, or even jumping. It gives me a bit of energy. But once you’re out there, even if you don’t have any energy, it changes everything. It changes everything because you know you have to give your best. It happened to me once at NodeConf 2018 where I was the host. On the first day, Nicolás Isnardi, one of the organizers, called me three minutes before going on stage and gave me a motivational talk. He said, “This event is yours, be yourself, don’t be nervous. Be yourself with that energy you have, with the desire to make everyone happy.” That stuck with me, and I always try to do that when I’m feeling a bit demotivated or low on energy due to tiredness, a long journey, or not sleeping well.

I always try to remember that the people in the audience are expecting something from me, and it would be very ungrateful of me if I didn’t give back, or at least with a smile and some knowledge of what they came for. There will always be someone who says, “I didn’t like your talk because you didn’t tell me anything new.” That’s fine; it’s normal because they had expectations that maybe weren’t what the organization set or what they wanted. Maybe my material wasn’t suitable for their level of knowledge; these things can happen, and it’s okay when they do because it gives you a sense that, “Hey, I’m not untouchable up here; on the contrary, I’m more vulnerable, much more vulnerable.”

But I always say that if at least one person approaches you and says, “I liked your talk,” then it was all worth it. It was absolutely worth it because you’re helping someone. And afterward, that person might help someone else. Why? Because they learned something in the talk that was useful to them. That’s the beauty of it — people in the community are generous in sharing what they’ve learned. If you learn something, you’ll want to share it with the community. And if you learn from the community, you’ll want to give back because it’s beautiful to give, give, and then receive.

This is one of the things that keeps me going and motivates me on those days when I don’t want to or, for some reason, don’t feel well. It’s an intangible commitment, not signed, that I’m here because I was brought to share something I know. But at the same time, I’m here because they invested their Saturday to learn. It’s a balancing act, simply a balancing act. And as I said, expectations can be set very high or very low, and there will always be someone who says they didn’t like it or someone who says they loved it. But that’s normal, absolutely normal.

Alejandro: Besides giving talks and hosting conferences or events, there are many other ways to disseminate that knowledge without necessarily expecting feedback in return. Instead, it’s about enabling many people you may never have the chance to meet to continue advancing in their professional careers, and you have a repository on GitHub specifically dedicated to…

Andrés: I have thousands, not just one :)

Alejandro: But there’s specifically one of them specialized in documenting possible questions to prepare for job interviews in the field of front-end development. The last update to that text file contains questions from six years ago. I don’t want to pressure you into rushing to update it, but if you had to make changes, emphasize certain elements already in that guide, or add new relevant points in today’s context in 2023, what would you do with that text file?

Andrés: If you take a good look at that file, many things are related to problem-solving, like how to do this, how to do that, and what to say when asked about this. And as the years go by, I no longer feel so connected to solving a problem without thoroughly analyzing it beforehand. This has led me to understand and delve deeper into something I didn’t have in my mind when I started; I didn’t even know it existed. And that’s design patterns and data structures, right? I feel that when I started, I was very mechanical in how to solve things, but I didn’t think… Maybe this is my fault, and perhaps I’m exposing myself. I don’t know, but I felt like I didn’t understand the root of the problem, but instead, I went in and tried, like hackers trying brute force, tap tap tap tap tap tap tap tap tap tap. I feel it was very much like that. But over time, I’ve changed and learned more about different patterns, data structures, and languages, even if I don’t use them, mostly to understand how things work at their core. So, in answering your question, I would say that any updates to that file, which I don’t think there are, would lean more toward encouraging a deeper understanding of fundamental concepts to potentially solve problems more effectively.

Alejandro: Exactly, and I’m thrilled that you mentioned that aspect because it’s truly a journey that we all go through. No one graduates from software engineering or even in the early years of their career with everything figured out, especially from the perspective of how they will approach the later stages of their professional life. There’s just no way. In fact, we’ll all end up working on careers, architectures, and paradigms that don’t even exist today in 2023. Especially with the speed at which the industry is evolving, with new advancements in all machine learning models and artificial intelligence in general.

The ability you mentioned to go back to the basics, to understand the foundational knowledge, is crucial. Because you can know a lot about Angular, but if you don’t understand the basic processing and the simplest low-level structures of JavaScript if you will, it really changes from one version of Angular, say 6 or 7 versions ahead, or with a different paradigm, a different approach, or if you have to switch to another framework for professional reasons. You’ll face a painful learning curve if you don’t go back to the basics to truly understand the Triple-S levels, the semantics of HTML, the way a browser processes JavaScript, touching on the document in order mode, and performing all the restructuring of the critical path. That’s something very valuable, and not only I but also people who may even create a specific file would appreciate it if you could at least include these two elements at the beginning of the guide.

Andrés: Definitely, okay, I’m ready. Well, I now have a pending task for that file. When I complete it, I’ll share it with you.

Alejandro: This makes me very happy. It will be a great pleasure. I love the project. Not only me but other people can also collaborate with the guide, bringing in new questions and modifying some that may not be as relevant anymore because a lot has changed from 2016 to the present.

Andrés: Alright, we’ll do it, for real.

Alejandro: Let me ask you two of the fun questions you list in that file to see how it goes for the interview.

Andrés: Oh my God, you’re right, there were fun questions. Go ahead.

Alejandro: One of them is, “What’s the coolest thing, the absolute coolest thing, that you’ve ever programmed, and what are you most proud of about it?”

Andrés: I always refer to it: in 2012, I was working at a newspaper in Venezuela, and mobile applications were booming, native Android applications, to be precise, were booming. Like any newspaper always looking to expand, my boss told me we had to develop native applications. Alright, let’s do it, no problem, let’s do it. So, our team consisted of just two people: two developers, one backend developer, and me. I had some knowledge of Java and had learned a bit of C#, which I had picked up there.

In the division of tasks, I got Android, and my colleague got iPhone. So, okay, you do the iPhone one, and I’ll do the Android one, no problem. And I started with no prior knowledge of Android. I read the documentation and took some courses, but it was all happening simultaneously. I was learning as I went, learning by doing. And after three months, I had the application. It fetched data from an XML file where the news was stored, exposed by a service. It parsed the data, and you could even create your favorite categories if I recall correctly. Perhaps that’s the project I’ve liked the most because it was a leap of faith, and I had zero experience with Android, no idea what fragments were back then — I don’t know what they’re up to now — how they worked, what an APK was, what I had to do, support for older versions, none of it.

I learned all of that in a span of three months, during which the first Alpha Testing version was released. We installed it for 50 internal users at the newspaper, and they provided feedback. I put together a test, gave it to them, and at the end of, I think it was a week, I gave them some questions to fill out, based on which we could gather feedback and continue iterating.

The entire process of creating the test, developing the application, showcasing it, and giving a demo to my boss taught me a lot, and I loved it. That’s why I would say that project has been one of the most enjoyable ones I’ve worked on so far. I had a lot of fun with it because there was no pressure, and I had the freedom to do whatever I wanted. I really liked that. In fact, I believe one of the first repositories created on my GitHub is related to this project, and if I recall correctly, it’s called “lector de noticias,” translated to "news reader."

Alejandro: So, your first open-source repository, among many, was around the year 2012.

Andrés: I released that project later because, due to business reasons, it couldn’t be launched. It couldn’t be placed on the Apple Store and the Google Play Store. My contract with that company ended, and they had a kind of non-compete clause for six months, during which I couldn’t release anything that hadn’t already been published. After that period, I uploaded it to GitHub. It should be there. It must be gathering dust or doing something. But if you want, look for it, leave a comment, and see how well or poorly I did. Feedback is always welcome.

Alejandro: It would be like opening a history book and seeing what technologies you were using back in those days. This brings me to the second question I wanted to ask you from your own list so that you can answer it right there in the guide. “What are your favorite parts of the development tools you use today?” This is a great question because, from an interviewer’s perspective, you’re getting at least two fundamental insights about the candidate you’re interviewing. One is, “What are the tools that a person really excels with?” And the other, from a human standpoint, is what truly makes them enjoy the entire process of assimilating and developing technologies.

Andrés: One of the things I’ve always discussed with the executive team at HeroDevs is precisely that: when you work on something you love, it motivates you. And, of course, if you’re well-compensated — that’s clear — when you’re well-compensated, and you work on something you love, you’re going to go the extra mile, implicitly, even if you don’t intend to. You’ll look at the clock and say, “Wow, it’s 7:00 PM already.” I had no idea I was touching on two important points when interviewing someone. And to answer the question, I’d say, look, I really, really enjoy using WebStorm. It might be a controversial statement; some people prefer free tools, say Visual Studio is better. I love that everyone has their own perspective.

Alejandro: It’s good to have options. The bad thing is when there’s a monopoly, as there have been many times in software history.

Andrés: A close friend of mine with an incredible business vision has always told me that competition makes you better. If you have competition and you don’t improve, the problem wasn’t that someone else came along; the problem is that you simply didn’t know how to overcome that obstacle to keep growing. And it’s true, it’s absolutely true. One of the things I like the most, and I’m starting to explore, is all the possibilities you have with Git. But absolutely all the ones you can imagine. Maybe you knew you could do pull, rebase, and all the rest, and that’s great, but there are other things like, for example, squashing, that aren’t immediately apparent but you can do them.

So, understanding that functionality well has fascinated me. It has helped me understand the platform better, which I hadn’t delved into because it was like, well, this is what I need. I don’t know, the opportunity presented itself, and I stuck with it. But precisely while working with my team at HeroDevs, they said, “Hey, why don’t you do it like this?” And it’s like, hey, that’s awesome. I love that. I love discovering things in WebStorm that I might be using but are fantastic, they’re just incredible.

And another thing I really love, but I’ve been learning about lately, is documentation systems. Like Docusaurus, for example. Lately, I’ve been working a lot with this tool, and it seems incredible how it allows you to create documentation. While I don’t use it in my day-to-day work, I use it sporadically because I collaborate on a project that uses it. It keeps me exploring, researching, to the point that I started reading the repository and realized that they had added many features in English, and they needed translations into Spanish. These features were sitting there without a Spanish translation, and looking through the repository, I found this opportunity. I said, hey, why hasn’t anyone translated this? No one answered, so I decided, well, I’ll translate it myself.

I started translating it in a few hours, maybe an hour and something, and I submitted the pull request. Within three days, it was merged into the main Docusaurus Meta repository. For me, it was like, hey, that’s great, isn’t it? It’s great that something I came across out of curiosity could help the Docusaurus ecosystem and contribute my little part, which was translating maybe 60 or 80 words.

Alejandro: And technical translations, even with all the advancements in machine processing like ChatGPT and the powerful automated translation tools like Google Translate, don’t necessarily achieve the same level of relevance as when supervised by a human being. You can use it, for example, to translate the revised Spanish-to-English transcription of these episodes. I heavily rely on ChatGPT to handle a substantial part of the conversation, but there’s so much technical language and what one really wants to convey, which is essentially conversational. However, when it comes to official documentation, without the supervision of a human being, as in the case of the transcription of these episodes, it’s relevant because otherwise, you’ll end up with a very generic version of what that text would be like translated into the final language.

Andrés: And there are nuances a human can provide that make the conversation more human. That’s something I’ve been against in the documentation I’ve worked on: the literal translation of all words. Why? Because it’s a mistake. We, as Spanish speakers, use technical terms that don’t translate directly. In Spanish you don’t say, “voy a hacer un requisito,” or “solicitud de unión” (pull request). You don’t say that. You say, “Voy a hacer un pull request”. And you don’t say, “Voy a hacer una bifurcación a tu proyecto.” No, you say, “Voy a hacer un fork.”

Those are things that I strongly oppose in the documentation I’ve worked on. It’s that human sense of knowing how things are really used, how he, the one typing, the one coding, says it. Yes, that person doesn’t say, “voy a hacer un despliegue.” They say, “Voy a hacer un deployment.” So, those nuances are where machines have not been able to fill the gap, and that’s where the human touch stands out.

Alejandro: Even for language purists from the Real Academia Española, the Spanish language has evolved based on its usage. Now, with globalization, this change is a bit more accelerated, right? But in the past, the way the language branched out, in other words, how it forked, or rather, how it diverged depending on the regions, considering cultural isolation, etc., allowed the language to evolve in different directions. There’s no way, for example, to translate the term “Internet” no matter how much you want to; it’s still “Internet,” not “Inter-red” or something like that.

Andrés: “Mom, can I use the ARPANET?” That’s taking it way back. I went too far :)

Alejandro: Haha, but there are other terms like “ratón” for “mouse.” There’s no need to keep translating “mouse” if you’re using the language properly because it already has a term, but there are many terms in programming where translating them would be an obstacle in communication among developers instead of serving a better purpose.

Andrés: Exactly.

Alejandro: Andrés, earlier you mentioned your communication at HeroDevs with different areas, programmers, and other roles related to the company’s management perspective. What is your current role in the company, and what do you recommend to those who are trying to work the magic that you do in terms of balancing work, community development, family, and personal free time?

Andrés: At HeroDevs, I’ve had many titles, so to speak; I’ve had at least 3 or 4 titles. I still prefer to call myself a Senior Software Engineer; that’s the one I like to use the most. It’s difficult because technically, or if we follow the pattern, a senior software engineer should have absolute knowledge and the power, like the Sword of Greyskull, to know and see everything. That’s definitely not my case. I’m working with a team that we currently call "the lucky ducks". These lucky ducks have incredible technical skills and the ability to analyze, come up with ideas, and propose solutions to problems that… I feel like an imposter every single day.

But what would I recommend to people to achieve a balance between work, family, and personal free time? Definitely, consistency. I'll share an image…

A consistent ladder provides a reliable and predictable path to reach your goal.

Consistency is definitely what I’ve learned the most at HeroDevs because it’s not the same as climbing 30 steps in a day or taking very long steps on a staircase as it is to take small steps on the stairs. I always tried to climb as high as I could with long strides, and when I took three or four steps, I got tired. I learned, thanks to one of my bosses named Aaron Mitchell, who has always taught me to be consistent, it’s little by little. If you’re juggling with many balls, they’re going to fall, they’re going to fall. So, why not pick up the balls that you know you can master so they don’t fall?

That’s one of the pieces of advice he gave me, and I definitely took that to heart and said, well, I’m going to take and work with only what I need on a consistent basis. I’ll work for half an hour; I think I deleted it; well, I didn’t delete it. I have a whiteboard here that says “Qwik, Analog, Angular, Firebase, and Drupal;” those are my goals. Twenty minutes every day, twenty minutes of one, twenty minutes of another, and at the end of the week, I have an hour and twenty minutes of knowledge for each one.

Maybe it works for some, or maybe it doesn’t work for others. It works for me. Short periods of time reading and then doing. Others might not, maybe they go for an hour or two, but when they go to tackle something new, it might be hard because they feel tired. Everyone has to find their own formula, but consistency is definitely something that has changed me and allowed me to make the most of my time for work, my family, and the community.

Alejandro: Very valid. Is there anything else you’d like to comment on before we close the episode during this conversation?

Andrés: Hmm, I have a lot to say about Angular and Firebase, but I think that might be for another episode. I don’t know if you want to do another episode. We can have it.

Alejandro: And we will. Eventually, in about 10 or 15 episodes, we’ll continue because there were many questions that I still want to ask you, and we’ll have another hour to dedicate to that.

Andrés: Great.

Andrés: I can tell you that Firebase will bring some very interesting things next year, but a lot, a lot. I’m saying it here as an exclusive.

Alejandro: What’s the best way to stay updated on Firebase’s new developments?

Andrés: Definitely by following the account and following Frank van Puffelen, who is part of the Developer Relations team. He’s always dropping little hints, little things there… If you don’t know how to read it, you might think it’s just like they say here, anything, but it’s not. And I’ll give you another hint. A month ago, there was a tweet related to Firebase that touched on that, and when I was at the GDE Summit a couple of weeks ago, they announced it, and it was like I had premonitions. Firebase is coming next year, and it has me super excited because it’s what many have been waiting for from the suite. I can’t say more :) Search, search, search. Do some digging because when you figure it out… And if you want, you can message me privately. Let’s see.

Alejandro: I’m definitely going to be one of those people who will ask you in a follow-up, for sure. Well, Andrés, it’s been a great pleasure to have the chance to chat here for a while, and I hope we can see each other again in a few episodes.

Andrés: I’m sure we will. Thank you for the invitation. I loved this very relaxed conversation. It’s a shame it’s over, but I hope to return to the podcast in other episodes, and I’m looking forward to all the upcoming guests.

Alejandro: ¡Muchísimas gracias! Hasta luego, chao.

Andrés: ¡Chao, chao!

Check out who is getting interviewed for future episode releases at https://twitter.com/angularidades.

Screenshot of Episode #9

--

--

Alejandro Cuba Ruiz
Angularidades

<front-end web engineer />, Angular GDE, traveler, reader, writer, human being.