Thanks for joining us for our latest Learner Success Story! Today we’re having a talk with Carlos Alberto Romay, an IT professional with a passion for coding!
Glad to have you with us, Carlos. We’d like to start things off by discussing your career. What would you say got you into IT, especially as something to do for a living?
Hi, and thank you for the chance to share my experience.
Ok, I am 50 years old, so I´ll be talking about “old” things. 🙂 By the way, it’s never too late for learning – I keep doing it every day.
I always wanted to know HOW things worked.
When I was a child I tried to learn how toys worked. I remember destroying many, many toys (cars, soldiers, planes, everything) to learn how they moved, run, or do whatever they were created for. I also wanted to know how a TV or a radio was capable of showing images or playing sounds. This anger led me to choose to learn electronics and English (I am from Argentina), because with electronics I would finally learn how that TV, radio, and, by the ’80s, home computers worked. And, I also needed the English knowledge, because ALL manuals were written in that language.
While studying I got some Assembler manuals and made my way through something called “core wars”; where you had to create an Assembly ‘bot’ to fight against other ones in some given RAM space. Later on, I tried Basic with Commodore 64 and CPM (Commodore 128).
With my First PC XT, my life changed. I fell in love. and I knew what I wanted to do: to be surrounded by PCs to understand how they ran. So, I got a job assembling and later repairing PC ATs (286, 386, 486, and Pentium). I loved those days! It was easy to get an AT 286 8Mhz to overclock by changing some Xtal, the RAM, and the BIOS, so you could cheat the motherboard!
Some years later, I went into repairing motherboards and hard disks – an awesome job! But a “few” years ago, the internet had changed the world (this was about 1995, actually). And, of course, I wanted to know how things worked. So I kept moving from job to job (always within IT such as technical support, fax and copier technician, networking entry-level support) until I got the knowledge (with some Cisco courses) to land a full-time Networking job. Then I finally got my actual job as Networking Chief.
While your main career is in IT, you also have a writing side job that has gotten you to learn web development languages. Have there been any particular challenges or triumphs you’ve faced while pursuing this?
Yes, I had some basic WordPress knowledge, and some HTML and CSS skills that allowed me to get this job. But, I had to learn a lot in the meantime (PHP, JS, WooCommerce, and so on) , because this side project was growing every day – and I was the guy to ask ALL things about the sites.
I had two major challenges that I want to share with you:
First, their main site (a store with WooCommerce) loaded in 23 seconds… so they asked me to help fix that.
I took the challenge and I had to – yes, you guessed it – take some courses while I applied what I knew so far. Finally, though, I got the site to load in under 2 seconds (it was a HARD task I have to say).
The second challenge: last summer several sites we owned got some malware, and we had to move 10 sites from one hosting to another. We chose to make EVERY site from scratch in no time (this is: point DNS, install WordPress, upload images, move posts, style sites, and so forth). We did not migrate to not “move” the malware too. We started from zero in another hosting platform.
Nice job too! I enjoyed the challenge, such as the first 2 days where I was removing infected files by hand tracing malware all over 10 sites and thousands of files, rewriting .htaccess, and so on.
I not only got the job done, but learned a lot and got some new and valuable skills regarding site optimization, hardening WordPress sites, and coding tips.
You’ve been diving into Python, too. What was the inspiration behind learning Python in addition to everything you learned about web development?
As I mentioned before, I am a Networking Chief with about 2000 hosts and over 100 pieces of networking hardware (switches, routers, FW), so I needed to monitor them all. At the time, Python seemed to be the right tool for doing that. And I was right; I took 2 courses regarding networking automation with Python and got the job done.
These days you’re rounding out your skills further by learning game programming. In what ways has your previous experiences helped as you explore this new vertical?
It was priceless having learned Python because my ‘old’ knowledge was about Imperative and Procedural programming, not OOP. I have to say, it was hard for me to think about objects. 🙂
With game programming (using Pygame), I learned to use classes, objects, instances, arguments, parameters, inheritance, and all the stuff. It was a perfect way to put all that mixed knowledge the right way and get something working: a game.
What sorts of coding projects do you have planned for the future?
I have two:
1. Get all my Python networking scripts (I have dozens of scripts that get host IPs, activity, security breaches, bandwidth usage information, etc.) and create a nice networking and security tool, with graphics, alerts, customized logs, and more.
2. My all-time dream: code my own retro games (I am an 80’s fan) – so I aim to code retro games in Python.
We’re happy that Zenva has been able to help you – especially with game programming. Can you tell us what drew you to Zenva’s courses for learning game development?
I tried some free courses at Zenva to get some skills, and I noticed that they were awesome! Zenva teaches by doing, meaning this is not just theory. And that’s the way. Besides, you have a major set of courses to choose from for game development – not only Python.
That makes a difference. You can learn, achieve your goal, and keep learning.
We’ve loved hearing your story, Carlos! As we bring this interview to a close, we have one last question. What are some tips you have for others who want to learn coding?
Learning to code can be very frustrating. There is so much to learn, and it seems you are always the last, the one who knows nothing. There is always someone better than you. But that’s ok. No matter your level, there are coders better than you, and coders that know less than you – so comparisons are useless.
You are unique, and your learning curve, style, motivations, time, effort, and focus are unique. So ask (politely) the right questions to the better coders, and help the ones that are just beginning.
Finally, code, get your hands dirty, make small but real projects, scripts that solve problems, etc. It is useless to take 20 courses without applying them; you will forget everything in a couple months.
Code every day, make it a habit. Do you eat, work, sleep every day? Well, CODE every day, no excuses. This does not mean writing senseless +1000 lines of code every day, but something useful.
I tell you what I do:
- I get a book, paper, or a course with exercises or scripts related to my passion or job and write them.
- Then I tune them to fit my way.
- Then I upload them on my Repl.it.
- Then I may publish it on my blog. So I am always “breathing” some Python code to solve a problem.
Thank you so much for your time.
This concludes our chat with Carlos, which we hoped you enjoyed! We’re wishing Carlos the best of luck out there and look forward to seeing those retro games in the future!
Want to explore some of Carlos’ written work? Head on over to his blog.