Crysfel villa

Crysfel Villa

Senior Software Engineer InVision

Crysfel Villa is a senior software engineer at InVision, and backend lead at Coding Coach. He has over 20 years of experience with more than 9 years of working with JavaScript on a daily basis.

Description

In this episode, we talk about how frontend development has changed over the past 20 years, and how to keep on learning new skills, with Crysfel Villa, Senior Software Engineer at InVision, and backend lead at Coding Coach. Crysfel talks about how he navigated his english language barrier learning to code 20 years ago, how putting himself out there through blogs and remote and on-site teaching led to the most opportunities, and how he ended up diving into being a backend lead, even with his primary experience being a frontend developer.

Show Notes

Transcript

Printer Friendly Version

[00:00:05] SY: Welcome to the CodeNewbie Podcast where we talk to people on their coding journey in hopes of helping you on yours. I’m your host Saron, and today we’re talking about how frontend development has changed over the past 20 years and how to keep on learning new skills with Crysfel Villa, Senior Software Engineer at InVision and backend lead at Coding Coach.

[00:00:25] CV: This whole process of building software, it’s now more complex than before. As I said, before it was just a file and that’s it. Now we need to do all these things.

[00:00:35] SY: Crysfel talks about how he navigated his English language barrier, learning to code 20 years ago, how putting himself out there through blogs and remote and onsite teaching led to the most opportunities and how he ended up diving into being a backend lead, even with his primary experience being frontend developer after this.

[00:01:02] Heroku is a platform that enables developers to build, run, and operate applications entirely in the cloud. It streamlines development, allowing you to focus on your code, not your infrastructure. It also lets you use the most popular open source languages to build web apps. Also, you’re not locked into the service. So why not start building your apps today with Heroku?

[00:01:25] TwilioQuest is a desktop roleplaying game for Mac, Windows, and Linux to teach you real world developer skills. The TwilioQuest Program was created in secret to train an elite group of leaders to combat a shadowy organization known only as the Legacy Systems. Take up the tools of software development, become an operator, save the cloud. Download and play TwilioQuest for free at twilio.com/quest.

[00:01:53] DigitalOcean offers the simplest, most developer friendly cloud platform. It’s optimized to make managing and scaling apps easy with an intuitive API, multiple storage options, integrated firewalls, load balancers, and more. Get started on DigitalOcean for free with the free $100 credit at DO.co/codenewbie. That’s DO.co/codenewbie.

[00:02:17] When you need to focus on building, do you want to get bogged down by your database? MongoDB is an intuitive, flexible document database that lets you get to building. MongoDB’s document model is a natural way to represent data so you can focus on what matters. MongoDB Atlas is the best way to use MongoDB. It’s a global cloud database service that gives you all of the developer productivity of MongoDB, plus the added simplicity of a fully managed database service. You can get started free with MongoDB Atlas at mongodb.com/atlas.

[00:02:55] SY: Thank you so much for being here.

[00:02:56] CV: Thank you for having me. I’m so excited.

[00:02:58] SY: Wonderful. So you’ve been coding for a pretty long time now. How long has it been?

[00:03:03] CV: It’s been about 20, 22 years probably.

[00:03:06] SY: Wow! Good for you. And you’ve been remote teaching for a long time. How long has it been since you’ve been remote teaching?

[00:03:13] CV: I started teaching since about 2010. So that’s about 10 years ago.

[00:03:18] SY: That’s also a good chunk of time. How did you end up getting into code in the first place?

[00:03:21] CV: It was when I was in high school. One of my friends approached me and he basically said, “You know what? There’s this thing where you can build your own website and your own pages.” And at the time, I was like, “Wow! That’s amazing.” And then I started searching like, “How can I build a website?” It was a bit challenging because at the time I didn’t speak any English at all. So finding information in Spanish, it was a bit difficult and challenging. But at the end of the day, I figured out how to code in HTML. And at the time, we didn’t have CSS. We had to put all these styles in line and it was kind of like a mess, but it was fun.

[00:04:03] SY: Tell me more about the language barrier because I can imagine that being very difficult. Definitely all the resources I know are in English and I’m assuming back then there probably weren’t that many great translation tools to translate things from English to Spanish. So how did you navigate that?

[00:04:19] CV: At first, I tried to basically just find and look for Spanish resources. Most of the content was from Spain. So in Spanish, it’s a bit different, but even then, I mean, I can understand it, right? But I realized that learning English was the way to go. So I started also looking in English information and all these websites and stuff. But honestly, I didn’t understand a lot. I was mostly copy pasting code here and there, JavaScript code and things like that and updating some values and variables and stuff. But at the time, I had no idea what I was doing, just changing things all over the place until they work.

[00:05:02] SY: Yeah. So what were some of those early websites that you built? What did it look like?

[00:05:07] CV: This was back in the ’90s. So everything it was just like GIF, like images moving around and you can add text to your pointer and like text like moving all over the place. It was not great, but that’s the way it was back then.

[00:05:27] SY: Yeah.

[00:05:28] CV: Something very simple. As I said, we didn’t have CSS. We didn’t have any of that.

[00:05:32] SY: What were the websites about? What topics did they cover?

[00:05:35] CV: At the time, I was in the skateboarding community, so I was posting pictures of myself and my friends, but I also, given that I didn’t find a lot of information about HTML and how to build a website, I start like writing down some content and putting out there for other people to learn in Spanish. So I was writing this content as well and sharing the things I was learning with other people through my website.

[00:06:05] SY: And you mentioned that there really wasn’t any CSS back then. So what tools were you using to build these websites?

[00:06:10] CV: I mean, for the layout, I was using tables, like creating sales and growth and all that sort of thing and then we just have inline styles where you would set the font color and that sort of thing, but really it was very basic, like the websites at the time, they were very simple and very just content and that’s it. Nothing fancy like we have today. It was just text and some images.

[00:06:41] SY: So you mentioned that you learn HTML and JavaScript. You first got into it when you were in high school. So did you end up going to and studying computer science in college?

[00:06:51] CV: That’s exactly right and in there I started learning C++ and everything, but nothing related to the web, to be honest. I was like, “I like to build websites. I like the internet.” At the time, I was like, “Okay, I’m going to computer science,” but I didn’t realize like computer science, it was more about like systems and then building apps and applications and enterprise application, that sort of thing. All I wanted was just to build websites, and fine enough I didn’t learn any of that in college.

[00:07:26] SY: Oh, no. What did you learn?

[00:07:28] CV: Yeah. Basically, we started with C++ and C and learning how to manage memory and like all of this crazy stuff. In my first semester, I was like, “What is this thing?” I have no idea. All these like diagrams with logic and it was very difficult, at least at first.

[00:07:52] SY: Was it interesting?

[00:07:54] CV: Yeah. I mean, not at the very beginning because I thought it was very difficult at first. I even had this class that I barely passed and basically use logic, but it was all in paper.

[00:08:06] SY: Oh, okay.

[00:08:06] CV: I was not coding or doing anything like that. It was more like drawing diagrams and like basically logic. I realized like several years later that this was like the basics of programming. But at the time, I feel very frustrated at first because I was not understanding the logic in itself.

[00:08:27] SY: So did you ever get a chance to go back to building code? You must have since you’re building code right now, but when did you get back to that?

[00:08:34] CV: Yeah. Well, I was like, “Okay, now that I know C, then is there any other language that I can use for the web?” And then I learned that there was this language called PHP and then I was like, “Wow! This is amazing.” You can actually build something dynamic because I mean so far I was just doing HTML and nothing dynamic, nothing with databases, nothing with any of that, just aesthetic websites. Right? So when I learned there was this other language, PHP, I immediately jumped in and I was like, “Wow!” And I had all the knowledge for C and the logic and all that. So it was kind of easy for me to navigate into this new language and all the tools and everything that is related to the backend stuff.

[00:09:21] SY: So you are studying computer science, you’re taking C, C++, but you’re also learning web development and learning PHP. Did you know what you wanted to do professionally with code?

[00:09:33] CV: Not really. To be honest, my idea was just to build websites because that was all I knew at the time. But yeah, I had no idea what I’m doing professionally. I really have no idea. So when I graduated from college, I reached out to a friend and asked him like, “Hey! What do you do at your work? What do you do there?” And then he’s sort of like explained like, “Oh, I work at this bank doing this system for mortgages.” And I was like, “That’s a bit boring. But anyway, that’s what I’m going to do.”

[00:10:12] SY: So you graduated college. What happened next?

[00:10:15] CV: Yeah. After that, I got the job. It was a job in the bank industry. So I basically started working on the frontend when I joined the project and I realized like a lot of these engineers, there were senior engineers and tech leads and like people that have been working on the industry for years, but I realized they didn’t have a lot of experience on the frontend, especially with JavaScript, and since I’ve been working with JavaScript for years by then, right? So I started sort of like focusing and fixing all the issues they had with JavaScript and I realized like, “Wow! I know a lot of things about JavaScript and these engineers, they don’t.” I mean, they knew about Java and databases and all that backend stuff. So that was very encouraging and I felt really, really good because even though I was just coming out from college, it felt awesome just to come in a project and being able to fix box and fix like problems that they have, performance issues with JavaScript and that sort of thing. So that really put me on the frontend side of things, even though I was also doing some backend at the time.

[00:11:28] SY: So you’ve been coding for 20 years, and I’d love to hear a little bit about how your career trajectory went for those 20 years. How did you figure out what next job to do? What language to learn? Tell me a little bit about the journey you took.

[00:11:43] CV: Back in 2007, nobody really cared about JavaScript at the time, but it was starting to getting popularity and I noticed that. I noticed like people were studying, getting interested in JavaScript and all of that. So I also start writing tutorials. I started writing in my blog and I started writing a lot of content in Spanish, but then I noticed like if I wanted to get a broader audience, then I need to write in English. So then I stopped writing in English. And after that, I got a lot of opportunities just because of that, right? Like a publisher from the UK reached out to me and say like, “Hey, we’re looking for an author because we want to write a book about…” I was writing about Ext, that was a framework, a JavaScript framework like 10 years ago. And they reached out to me because they were looking for an author and just because of my blog.

[00:12:38] SY: That’s great.

[00:12:38] CV: And then I was like, “Yeah. Sure. Why not?” So then I wrote this book in 2013, and then with this book, like money wise it’s not really a good investment, but this gave me a lot of other opportunities. I got reached out by companies from the US as well because of the book, because I was going to some conferences and like giving away books and things like that. So a company from the US reached out to me and they sort of like offer me an opportunity at their company and then I got a work visa to go to the US. So I went to New York for the project. I lived in New York for about five years. Then I moved to Dallas. I lived there for two years. I was also working remotely. And then whenever I was looking for new opportunities, I’m definitely going remote. I don’t see myself going to an office anymore. It’s very challenging, at least to me.

[00:13:43] SY: So now you work at InVision. How did you end up there?

[00:13:46] CV: Well, I’ve been at InVision for the last year and a half, almost two years. It was last year, I was looking for a job, and I was applying to different companies. I spent quite some time researching all these companies because I was only looking for remote opportunities given that I’ve been working remotely for a while. I was in the US. I had a work visa. And I find out that in InVision they had remote opportunities and I was using InVision at the time with different other projects that I had. I did my research on the company and I really liked the product and I really enjoy working remotely. So I was like, “This is the best opportunity for me.” The rest is just history.

[00:14:33] SY: What do you like about working remotely?

[00:14:36] CV: I like the freedom and being able to handle my time, being able to be with my family as well.

[00:14:43] SY: Is there anything that you miss about working in a physical office? Are there any downsides to working remotely for you?

[00:14:49] CV: Yeah. The downside is you need contact with people, right? So in order to get around other people, I usually go to attend meetups and I also signed up as a volunteer. When I was in Dallas, I signed up as a volunteer to teach other people English or programming and that sort of thing. So that gives you this opportunity to be with other people and being involved in the community, and that really fills that need that we all have as humans, right? Being able to hang out with people and talk with other people.

[00:15:41] TwilioQuest is a desktop roleplaying game for Mac, Windows, and Linux to teach you real world developer skills. Explore the Mysteries of the Pythonic Temple, the JavaScript Test Lab, and more all while learning the tools of software development with TwilioQuest. Become an operator, save the cloud. Download and play TwilioQuest for free at twilio.com/quest.

[00:16:05] No one wants to manage databases if they can avoid it. That’s why MongoDB made a MongoDB Atlas, a global cloud database service that runs on AWS, GCP, and Azure. You can deploy a fully managed MongoDB database in minutes with just a few clicks or API calls. MongoDB Atlas automates deployment, updates, scaling, and more so that you can focus on your application instead of taking care of your database. You can get started free at mongodb.com/atlas. If you’re already managing a MongoDB deployment, Atlas has a live migration service, so you can migrate it easily and with minimal downtime then get back to what matters. Stop managing your database and start using MongoDB Atlas.

[00:16:55] SY: So now let’s talk about your teaching and learning remotely. We talked about working remotely. Let’s talk about teaching and learning remotely. What kinds of things do you teach?

[00:17:04] CV: In 2010, I basically started training people and training companies onsite and then remotely as well in other countries. I usually been focusing a lot on the frontend. So I’ve been teaching a lot of JavaScript. I’ve been teaching how to build apps, how to scale apps and write performance JavaScript. That sort of technical training is the thing that I’ve been teaching other people. I’ve been writing about it and I had a YouTube channel several years ago. I’m planning to go back into that. But mainly, it’s been focused on the frontend and JavaScript specifically.

[00:17:45] SY: And have you always taught remotely or have you ever done in-person workshops?

[00:17:49] CV: I was doing also onsite training for companies two, three days, depending on the company. So yeah, I have plenty of experience doing onsite and remote. There are some challenges when you’re doing remote training and one of those it’s difficult to see the feedback on the people. When you’re onsite, you can see their faces and their body language and all that. But when you’re remote, it’s a bit challenging because body language is very important. When you’re explaining a concept, when you are keeping all this information, and then you ask a question like, “Do you guys have any question?” And everybody is like, “No, we don’t.” But their body language is telling you that they do.

[00:18:30] SY: Yeah.

[00:18:31] CV: So that’s really challenging when you do remote training.

[00:18:36] SY: So when you think about people who are learning remotely, what makes it hard for them to do that? What are some possible downsides of learning remotely?

[00:18:45] CV: Some of the challenges I would say is when you’re pairing with someone, now we do have tools to share your IDE. One of us can get into the same code base and stark sort of like typing and like programming at the same time on the same file. Right? But this, I think it’s one of the main problems that I’ve been seeing and also when there’s an issue, right? Like something is not compiling correctly and you get a ton of errors and you don’t even know where to look first. And when you’re doing this remotely as an instructor, it’s very difficult sometimes to just look and tell them like, “Hey, can you show me your locks? Can you send me the error?” And as a newbie, it’s very difficult to sometimes find those issues or find where the locks are sometimes even, right? So that’s some of a challenge when you are training people remotely because when you’re onsite, you can right away tell them like, “Oh, you can open this file right here.” Right? When you’re doing this remotely, it’s a bit challenging to sort of like go through the project or the content that you’re providing. Those are some of the challenges.

[00:19:59] SY: What do you like most about remote teaching?

[00:20:01] CV: I like the fact that I can reach the people. Like in other countries, I wouldn’t be able to do that. So I have a couple mentees right now, and these people, they live in Europe and in South America and it’s pretty cool to just connect with these people all over the world and being able to help them in a way that they can improve their lives and they can also learn technology and that sort of thing.

[00:20:33] SY: So if you are a code newbie, if you are a new developer, just getting started taking maybe your first class as a teacher, what do you recommend? Do you recommend they learn from video tutorials? Should they learn from live remote sessions? Should they really try and get an in person workshop? What do you think is the best first step in learning how to code?

[00:20:54] CV: I think the very first step would be videos. You can follow the tutorials and follow the structure and everything and it would be nice to have like a basic knowledge already before going to a mentor then you’ll have like specific questions, right? When you get hands-on project and when you start actually building something, you’re going to get a lot of issues and you’re going to get errors and you’re going to get in trouble. And sometimes it’s very difficult to find the solution for your specific error. So at that point, if you can reach out to a mentor or if you can find someone that can help you out, I think that’s the best because you have a specific question and people are going to be more willing to help you when you have something already, when you’ve been trying and when you’re building something.

[00:21:51] SY: So you are not only a senior engineer at InVision, but you’re also the backend lead at a site called Coding Coach, which is all about connecting people with remote teachers, which sounds like a very good fit for what you do, what you enjoy doing. How did you get involved with working there?

[00:22:08] CV: Yeah. Coding Coach is basically a community that we’re building. We want to connect mentors with mentees, right? So this project was started by Emma Bostian, and I first find out on Twitter. I saw one of her tweets and she was saying like, “Hey, I’m going to build this community to connect mentors with mentees.” She created like a basic landing page to collect emails. And then there was an issue with the part when emails loading like super slow. So I created a PR on GitHub just to the project, just to sort of like optimize that. And after that, I got my code merged and then I sort of like started like, “Hey, what if we do this and that?” And then we started throwing a lot of ideas and then also the community started throwing some ideas out there and we just started building stuff. The platform is open source. It’s on GitHub and one of the goals is just to allow people to participate and to join and collaborate basically on the code base because this is a production project, right? So if you’re a newbie, if you’re starting into the tech industry, this is the perfect opportunity for you to collaborate and to commit to a project that is live on the internet and is serving several users.

[00:23:34] SY: So I find that interesting that you are doing backend for Coding Coach, but your background is really in frontend work. So how did that happen?

[00:23:43] CV: Yeah. As I said that I’m a frontend developer, right? So when I joined the community, they had a lot of ideas and the tools we wanted to use for the backend because at first we didn’t have any backend. It was all frontend. We do have all the mentors name and emails and everything on a JSON file, right? So people would create a PR to basically use other names and data to the JSON file and then we just present the data in the page, but we want it to have a database and allow people to sign in and that sort of thing, like more features, right? So nobody was taking the lead on the backend side of things and people were just committing like with different tools and like there were discussions, like we’re going to use serverless, we’re going to use this other tool, we’re going to use this, but we really didn’t move anywhere, I would say. So I was like, “Okay, guys, we really need to do something about it because time keeps passing. We haven’t done anything so far.” So we’re like, “Okay, we’re going to use node and we’re going to use MongoDB and we’re going to use this.” And I basically started writing some code and just put it out there and eventually I was leading the backend side of things even though I don’t have a lot of experience on the backend. I used to do full stack, as I said, several years ago, but then I started just like getting into node and like doing all these things. I mean, I know node and all that, but just not like backend stuff like building products, backend APIs and all of that. I didn’t have a lot of experience on that. But given that nobody was taking the lead, I was just, “Okay, I’m going to do it.” And after that, people started also helping, and given that we already have this community, I was asking question to other mentors within the community, like, “Hey, guys, what do you think about this tool?” And then, yeah, it was sort of like, “Okay, I got some ideas and I got some help as well.” And yeah, since then I’ve been adding more features in creating this thing.

[00:25:59] SY: So I assume there is probably a bit of a learning curve involved for you being a frontend developer doing more backend stuff. How did you level up? How did you learn all the things you needed to do in order to be the lead backend developer?

[00:26:12] CV: Yes, exactly. Absolutely. And let me tell you, at first I was so hesitant to commit my code and put everything out there because you said like I’m a frontend developer. I have no idea what I’m doing. But one of the things I started doing is I reached out to the community and got some mentors and got some ideas like, “Hey, is this performing enough? What about this and that?” And I start building. Whenever I want to learn a new technology or a new tool, I usually work in a side project and this was the perfect opportunity. So I started writing right away the backend, writing the APIs. Some people were telling me, “Oh, let’s use GraphQL and let’s use that and that.” But I go like, “I have no idea.” So one of the things I learned is at this point, we don’t have millions of users right now. So we don’t really need something too complex. We have some users are in the thousands. So therefore, I was like, “Okay, this is good enough to serve the existing traffic that we have.” So quarterly, I put on my code, I commit everything. I got code reviews as well because I asked the community, “Hey, guys, this is my PR. Please, I need your reviews.” And yeah, that was very helpful because all the people start telling me like, “Oh, what about if you do it this way? This is maybe better.” So that’s super, super helpful, being able to collaborate with other people with more experience.

[00:27:50] SY: So when you think about people who are interested in maybe going from frontend to backend and diving more into the backend side of things, were there any particular tools or resources that you found useful?

[00:28:01] CV: Yeah. I don’t have any right off the top of my mind.

[00:28:06] SY: Okay.

[00:28:07] CV: I remember just googling and stack overflowing was my go-to.

[00:28:15] SY: Coming up next, Crysfel talks about 20 years of frontend development, the ways in which tech history seems to repeat itself and what you should focus on in your development after this. Over nine million apps have been created and ran on Heroku’s cloud service. It scales and grows with you from free apps to enterprise apps, supporting things at enterprise scale. It also manages over two million data stores and makes over 175 add-on services available. Also, make sure to check out their podcast, Code[ish], which explores code, technology, tools, tips, and the life of the developer. Find it at heroku.com/podcast.

[00:29:07] With DigitalOcean’s cloud infrastructure, you’ll be able to build faster and scale easier from predicting pricing, to flexible configurations, to world-class customer support. You’ll get access to all the infrastructure services you need to grow. Plus, DigitalOcean’s community provides over 2,000 tutorials to help you stay up to date with the latest open source software, languages and frameworks. Get started on DigitalOcean for free with the free $100 credit at DO.co/codenewbie. That’s DO.co/codenewbie. I want to hear a little bit more about your perspective. Having been a coder for over 20 years now, when you think about the way languages have changed, frameworks have changed, what’s the most surprising thing that you would not have guessed would have happened 20 years ago?

[00:30:02] CV: Right. Yeah. Technology is changing so rapidly. There are a lot of frameworks, a lot of tools coming up every day. It is very difficult nowadays to choose the tools that you need for your specific needs. It is very difficult to choose that. But over the years, I noticed like so many things kept repeating, like history repeating itself. And in technology, I remember, yeah, at the beginning in JavaScript, we used to have functional programming and we didn’t have any classes or anything like that. And then after that, the community moves to writing objects and classes and like sort of this architecture object oriented. And a couple of years ago, maybe five, six years ago, we started moving again back to functional programming, right? So I wouldn’t be surprised if in five years from now we move back to object-oriented programming because things really keep repeating itself.

[00:31:02] SY: Interesting.

[00:31:03] CV: Given that I’ve been this long in the industry, I think this part over and over again, somebody comes in and then all the communities are like, “Oh, these best practices are not really best. We’re going to move to this other plan.” And then a couple of years later or some years later, the communities are like, “Oh, you know what? They saw their best practices are not really the best one. So let’s move and do something else.” Right? So we keep moving. So whenever somebody tells me about like, “Oh, this is the best practice,” Yeah, it might be at this point, but it’s not going to be like in a year or two. So at this point, I don’t really worry about like, “Oh, these are the best practices now.” As long as your product works well, performing and you’re serving all your users, their needs, that’s what I really worry about instead of like, “Oh, this is the best architecture and this is going to scale.” Yeah. But like if you don’t have all those users yet, like why are you worrying about that right now? What about your product and your ideas? What are you building and building your audience and community or whatever you’re building?

[00:32:17] SY: So why do you think that is? Why do you think we keep repeating ourselves?

[00:32:21] CV: I think that’s because new people come. More people are joining every other year. Every day there are new people coming and they find out like, “Oh, this is very convoluted. This is very difficult. Let’s make it easier.” Right? Or, “Let’s make it better.” And I think that’s good because things keep changing and we keep moving forward, but sometimes we go back to previous patterns that work in the past. So that’s probably one of the reasons things keep changing all the time and keeps repeating. I would say I think I might be wrong.

[00:33:01] SY: So we talked about how best practices have changed. How have our tools changed over the years?

[00:33:08] CV: In the JavaScript community, the tools have changed like a lot. I think nowadays it’s very difficult for new people that comes to the tech industry and wants to jump in into the frontend. It is very difficult because now we do have a lot of tooling because back in the day, we just write some JavaScript and put the file out there. We didn’t minify the code. We didn’t compress anything. We didn’t do any optimization out of this because the code was so simple. It was just hiding a button or showing a modal window or something like that. But nowadays we have these complex apps that we really need to make sure we’re not sending. We’re only sending the JavaScript we need. So therefore, we need to compress the code. We need to minify it. We need to JS save, like all this. And if you try to do this manually, certainly there’s going to be a lot of issues and a lot of errors. So therefore, we sort of like automate all this process and now we have all these tools like Webpack and like all these command line tools that we use to optimize our applications, to optimize our apps, and it is very challenging for new people to learn all the ecosystem around a product. I’ve been learning all these tools as we go. You know, like first of all before Webpack, we have so many others like Grunt and we keep improving. We keep improving. But at the same time, we keep raising the bar. We keep making things more complicated and challenging for new people.

[00:34:50] SY: Interesting. That is not what I was expecting you to say. I thought you were going to say that the tools have gotten easier to use over time, especially for newbies. Do you feel like resources and maybe some learning tools have changed for the better or do you still feel like there’s just too much to learn out there?

[00:35:06] CV: Resources are better now. We do have a lot of content out there and a lot of tutorials, a lot of content free, available for everyone. So on that front, I think we’re improving a lot. And I think we’re doing really good at that. But when I say things got more complex, it’s like the whole bill systems that we have now. Yeah, we’ve been trying to make those easier. Yes, but this whole process of building software, it’s now more complex than before. As I said, before it was just a file and that’s it. Now we need to do all these things. But yeah, I agree. Tooling wise, it’s getting easier, but the process in itself has been getting more complex.

[00:35:53] SY: Do you feel like with those complexities, the output has been better? Is it worth the complexity? Are we producing better results, better apps, better websites?

[00:36:06] CV: We’re doing all this because nowadays we have a lot of JavaScript on the frontend, right? Like we’re building this super complex app and before it was just a document with text and a couple of other things. But now we do have complex apps. Those required a lot of JavaScript code. So I think it’s necessary to do all these optimizations in order to have performance products and being successful in your industry.

[00:36:33] SY: So when you look back on the 20 years and just how things have changed, how the landscape has changed, industries changed, I’m wondering how has the role of a developer evolved over the past 20 years? Do you feel like the definition of a developer has changed? Has the industry, the people, has that changed at all in 20 years?

[00:36:53] CV: Yeah, absolutely. Back then we didn’t have all this specialization, like nowadays we have frontends, we have backend, we have people who deal with databases, so they evolved, so machine learning, like all these new specializations, back then we only had like full stack developer, right? We basically worked from the writing of queries and writing the code for the backend and then just sending some HTML with a little bit of JavaScript where nowadays we do have specific roles in different teams for actually just dealing with the JavaScript sort of thing with the frontend and people dealing with backend stuff and APIs, databases. So we do have a lot more tools and a lot more products, and therefore we do have a lot of more people that work specifically on those areas of the final product. So definitely things have changed considerably from 20 years ago. Yeah.

[00:38:00] SY: What predictions do you have for the next 20 years?

[00:38:03] CV: Definitely in terms of patterns and stuff like that, as I said, I’m not going to be surprised if in five years we go back to object-oriented programming. I wouldn’t be surprised. I don’t know if that’s going to happen, but I think at this point JavaScript has taken the world, right? Everywhere there is JavaScript. I don’t know if maybe TypeScript, it’s getting super popular now, but I don’t know if it’s going to overcome that in the next years. Things are definitely going to get more complex as we go by.

[00:38:42] SY: Now at the end of every episode, we ask our guests to fill in the blanks of some very important questions. Are you ready to fill in the blanks?

[00:38:48] CV: Yes.

[00:38:50] SY: Number one, worst advice I’ve ever received is?

[00:38:53] CV: When I was starting my career, somebody said to me that I shouldn’t share the knowledge with my colleagues or I shouldn’t share openly things I knew at the time because my colleagues could take my job or that sort of thing. So I really didn’t do any of that. Instead, I did the opposite, right? When I put my work up there and turns out to be great because that led to so many opportunities, but this is like the worst advice I’ve received and I’m glad I didn’t follow it.

[00:39:32] SY: Number two, best advice I’ve ever received is?

[00:39:36] CV: It is not related to coding, but when I was 32 years old, some of my friends told me that I should invest in my future, like think about retirement. So definitely something that I always recommend to people. I started late, I think, but the sooner you start, the better. I think that’s the best advice I have received and it’s very, very important.

[00:39:56] SY: Yeah. Absolutely. Number three, my first coding project was about?

[00:40:02] CV: That would be when I was in high school. I was building just an ugly website. I was posting pictures of myself in some HTML tutorials in Spanish. I think that was my first production project and I always recommend to people, like if you’re building on a side project, make sure to deploy that project. Make sure that people use your project.

[00:40:28] SY: Number four, one thing I wish I knew when I first started to code is?

[00:40:33] CV: When I was in college, I did a lot of projects for my classes and for like side projects, I wanted to learn other things and I really regret not deploying these projects, not putting out there all my work because looking back, those projects were awesome really at the time. And I don’t know, maybe I could have people using it and more opportunities will come from that. So as I said just before, you’re working on a side project, I would definitely recommend you to deploy that project and put it out there. Let people know and good things come out of this side project. I can guarantee you that.

[00:41:16] SY: Absolutely. Thank you so much for joining us, Crysfel.

[00:41:19] CV: Thank you. Thank you so much for having me. It was really fun.

[00:41:28] SY: This show is produced and mixed by Levi Sharpe. You can reach out to us on Twitter at CodeNewbies or send me an email, hello@codenewbie.org. Join us for our weekly Twitter chats. We’ve got our Wednesday chats at 9 P.M. Eastern Time and our weekly coding check-in every Sunday at 2 P.M. Eastern Time. For more info on the podcast, check out www.codenewbie.org/podcast. Thanks for listening. See you next week.

Thank you to these sponsors for supporting the show!

Thank you to these sponsors for supporting the show!