There's no place where the world of development gets any truer than on the YouTube channel of RealTough Candy. For both newbies and veterans, Candy offers refreshingly honest attitudes, strong opinions, and experienced advice. We had the pleasure to talk with RTC about her dev path, the usefulness of programming courses, and her music ventures.
PS: You’ve debunked the myth of many rookie developers when you said that even the best Udemy courses aren’t enough to get, let alone keep a job in development. With that in mind, what should the beginners focus on, and, as for courses, how should they use them to their advantage?
RTC: Early on, I was really enthusiastic about Udemy courses. Specifically, Udemy coding bootcamps. They’re cheap, they’re taught by some great instructors, and by the end of the course, you’ll have learned the basics to start building full-stack web applications. That’s pretty exciting.
But as grew in my own learning path, and also met more and more new developers who were having a difficult time getting hired, I had to reassess my enthusiasm. And don’t get me wrong, I think Udemy is a great place to start. But it can only bring you so far. And there are a lot of pitfalls with video-based learning. Like, “Oh, OK. I’ll just sit back, watch this video and build this web app. Cool.” So it can be a very passive way of learning, and sometimes we think we’re learning when we’re not.
Adding to the insanity, there are hundreds of places where you can start your coding journey. And having so many learning materials at our disposal is a blessing and a curse. But more competition means course creators have to bring better products. And some of these things they’re producing are super cool.
For example, I recently had a chance to explore a site called Scrimba and…wow…Just wow. You can actually watch a video, and while the instructor is showing you the code on the screen, you can pause the video, edit the instructor’s code and run it in your browser. It brings interactive learning to a whole new level.
All that said, whatever platforms and resources you use, try and find a community. There are many forums and Discord servers for exactly this. That way you can ask questions, get help, and find others who are on a similar coding journey. It sometimes feels like we’re all alone when watching endless hours of instructional videos, but I promise you there are thousands of people around the world doing that exact same thing. Finding a learning community can help you level up in so many ways.
RTC: I wish I would have started with a solid computer science foundation. Specifically, data structures and algorithms. As self-taught developers, we have a tendency to avoid things that are especially difficult (electricity follows the path of least resistance!). Data structures and algorithms just straight up intimidated me, so I avoided them.
But as I found out, eventually most software developers will need to know them. I should have forced myself to study them BEFORE I entered the workforce.
PS: It’s a protruding trait that you’re quite multifaceted, and do a thorough research of all the topics and issues you discuss in your videos. You make not only tutorials, but your blog and videos cover an array of dev-related topics: course overviews, SEO, web design, portfolio, etc… What benefits of doing all these do you see for yourself, and your career advancement?
The other benefit of having a “variety show” developer channel is that I’m never bored when creating videos! That’s a really important thing for me.
PS: As a follow up on the previous question and the issue of multiple aspects of being a successful developer, what do you consider as the pros and cons of going broad versus going niche?
For me, the big con of being a generalist is that I’m not able to have as in-depth technical conversations as I’d like with other developers. Like, Oh, you want to talk about the merits of React Hooks and the Context API? We totally can but hang on, let me grab my notes here…
PS: Many times you’ve highlighted problem-solving as the crucial trait for any developer. What does ‘problem-solving’ means to you?
RTC: Problem-solving is the core of what we do. To me, it’s a process. And the first step in that process is to define the problem. If you can do that, you’re already half-way to solving that problem. Then you can tear it down into smaller problems, and even smaller problems.
And once you start working on the smallest of problems, you realize that the solution isn’t as impossible as you once thought. I think that’s such an important aspect for aspiring and new developers to realize. Absolutely, programming is hard! But it’s not voodoo. We’re solving problems using various strategies, methods, and implementations. And there will always be multiple solutions to problems, but some solutions are better than others.
PS: What can a dev enthusiast expect from a boot camp, as compared to a formal computer science education?
RTC: Full disclosure: I haven’t graduated from a bootcamp or pursued computer science in college. However, I do know many developers who have chosen one of those paths (sometimes both). Bootcamps, much like colleges here in the US, vary in quality. But typically you can expect to learn full-stack web development (both frontend and backend) in a few months. The tech stacks vary. Often you’ll have a final project and a chance to work on your job application materials.
On the other hand, college focuses on the fundamentals of computer science, and you’ll generally learn a language like Java or Python. Because web development technologies change so frequently, it’s very difficult for colleges and universities to keep their curriculum updated. So it’s not surprising to see CS graduates teach themselves web development through online courses or even attend coding bootcamps — because while they do have a valuable degree, it’s based on foundational knowledge rather than the tech stack of the typical employer.
PS: You’ve published an album of coding music, with some very catchy and playful song titles as well. Where did the inspiration for making coding music come from, and why are commercial loops that bad?
RTC: I’m one of those lost-bohemian artist types. The coffee shops and open mics were my scene once upon a time! Unfortunately, being an artist and music maker doesn’t pay well. Once I started pursuing software development, I felt the creative spark come back. I was learning so much about technology, learning my first programming language and just absolutely loving all of it. Feeling inspired with that energy, I took out my old gear from the garage and started playing around, and Electric Pomodoro was born.
On my Bandcamp page, I did pooh-pooh commercial loops…That’s just my pride talking. Musically, I like things that come from the heart – honest things – and that’s hard to find when a GarageBand loop has been used by 40,000 other artists. And I just like people knowing I mostly play instruments rather than mashing buttons because again…musical pride 🙃
PS: Your channel includes portfolio reviews, an insightful and innovative approach to a definitely understated aspect of job-hunt. What’s an overall lesson you learned while reviewing portfolios, and what are your two cents on the general problems with dev portfolios?
RTC: Firstly, I love that more developers are taking their portfolios seriously. A portfolio is an early proof to your employer that you can build things.
That said, the issues I see most often, unfortunately, come down to three things: poor organization, lack of communication, and uncreative project selection.
Sometimes these problems are simple fixes (like adding a contact form), others are more substantial such as not having original projects.
Remember, portfolios are ultimately marketing tools and your job is to sell yourself to employers. That’s a weird concept, but in order to stand out and get callbacks and interviews, you’ve got to play the game and give it your best shot. Any developer that produces a portfolio that’s well-organized, well-communicated and well-curated is going to immediately stand out.
PS: While compiling a list of developers we’re interested in interviewing, you were one of few women. What’s your perspective on the female position in the development world? How to encourage more of them to pursue a dev career?
RTC: What’s especially interesting to me is that back in the old school days of computing, percentage-wise there were significantly more women in computing compared to today. That started to change in the ‘80s when we saw an exodus of women in programming. Why did that happen?
Some studies have suggested that businesses at that time were pivoting from solving significant and human-centric problems to focusing on more commercial pursuits. And other studies have pointed out other factors contributing to the lack of female participation. Regardless of the reasons, I would love to see more women in tech — because number one, it’s a path to financial freedom and independence. Number two, there are serious problems in tech that need solving right now. That’s not to say that only women can solve these problems, but thought diversity is critical when it comes to understanding and hacking through big problems to find the optimal solution.
On the bright side, more schools are introducing coding to kids and I think that’s a great start. I think women and girls need to know that there is absolutely a place and space for them here.
PS: In one of the videos, you recounted a story of one of your first freelance experiences. In what sense was it a game-changer for you?
RTC: Oh, my goodness. Of all my videos, I can’t believe YouTube chose that one to go viral! When I made that video, I was up in the mountains and said, “I need to tell this story, it’s just too much to keep to myself.” So I hit record and shared a really awful early freelancing experience.
Essentially what happened was, a client had a proprietary product she wanted to start selling online. I was so excited to be a part of this. I didn’t even have a portfolio at the time, yet here was this successful person talking to me on the phone.
Long story short, her husband didn’t want to pay me anything but liked my ideas. After a few weeks of project planning, he wanted to bring his “friend” along to one of our business meetings so she could listen to my ideas and my technical process… and then build my app for free! Our business relationship ended on that phone call.
It’s awful, but I think for most of us freelancers, stories like this aren’t that uncommon. There are always low-value clients creeping about, wanting things for free, and sometimes even becoming emotionally or verbally abusive when they don’t get their way.
From that experience, I learned to value my time. If you act like your time is worth nothing, so will your clients. I had spent hours meeting for free with these people, driving an hour here, an hour there, spending gas money and buying lunches, and so on without charging for any of it. I was just so excited to be a part of something big, when in fact I was being manipulated. I learned to establish boundaries and got really good at spotting low-value clients.
PS: Freelancing or a 9 to 5 job? And where are the soft skills more important?
RTC: Freelancing all the way! But it’s definitely not for everyone. I actually wanted a 9-5 to see what it was all about, get some enterprise experience, and work with a dev team. I learned so much when I was in enterprise development, but I knew it wasn’t a long-term career move for me.
Soft skills are definitely important at a 9-5, but if you don’t have them as a freelancer you won’t be doing it for long — you’re interacting directly with clients, so you need to be really good with your people skills.
PS: What’s your take on using code snippets while learning to code?
RTC: For a long time I was a huge proponent of video-based learning. And I still love to recommend good video resources, but as time goes on I’m seeing some of the side-effects of videos. For example, it’s easy to get into the habit of sitting back and relaxing while watching a tutorial, like a Netflix episode or something. And as a result, not much information is retained. It’s often just not a really effective way to learn.
On the other hand, learning resources that feature immersive coding environments involve the student much more. Even if it means just testing/running a few code snippets, that hands-on practice can really help cement those technical concepts.
So to me, WebAssembly is exciting because it means more brains, languages, and technologies pushing the web forward.