From Failing Programming Class to Senior Software Engineer with Tadas Petra [Podcast #146]
On this week's episode of the podcast, freeCodeCamp founder Quincy Larson interviews Tadas Petra. He's a software engineer and a Senior Developer Advocate at Agora.io. After learning embedded development in university, he switched to building mobile apps. He's gone on to build dozens of mobile apps and create tutorials to help other devs learn Flutter and other mobile dev tools.
We talk about:
- Immigrating to Chicago from Lithuania
- The Computer Engineering he studied in school, and how it's different from building consumer mobile apps
- His transition from Senior Dev to YouTube creator to Developer Advocacy
- The overlap between mobile dev and web dev, and what he's learned from each
Can you guess what song I'm playing in the intro?
Also, I want to thank the 10,943 kind people who support our charity each month, and who make this podcast possible. You can join them and support our mission at: https://www.freecodecamp.org/donate
You can listen to the podcast in Apple Podcasts, Spotify, or your favorite podcast app. Be sure to follow the freeCodeCamp Podcast there so you'll get new episodes each Friday.
Links we talk about during our conversation:
Tadas's History of freeCodeCamp video (20 minute watch): https://www.youtube.com/watch?v=g5n1-hD-x5g
Tadas's video about how to control the lights in your house with Flutter: https://www.youtube.com/watch?v=eib_62D-kSA
Tadas's course platform for learning cross platform app development with Flutter: https://www.hungrimind.com/
0:00:00 Introduction to Tadas Petra's Journey
0:03:42 Early Life and Immigrant Experience
0:06:51 Academic Path and Transition to Tech
0:09:53 Internships and Early Career
0:12:47 Working at Navistar and Software Development
0:15:49 Transitioning to Mobile Development with Flutter
0:18:50 The Advantages of Mobile Apps
0:21:45 Distribution Challenges in Mobile vs Web Apps
0:24:37 Developer Advocacy and Community Engagement
1:05:36 The Journey into Web Development
1:13:42 Building the Best Fl
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
More on: Tool Use & Function Calling
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
113,000 Tech Layoffs. 825 Engineers a Day. I’m Not Scared. Here’s Why.
Medium · Programming
HolmesGPT vs K8sGPT: A 2026 Head-to-Head Comparison for SRE Teams
Dev.to · Siddharth Singh
The State of AI in Landscape and Garden Design (2026): A Field Guide for Homeowners and Designers
Medium · AI
Airlines Make Refunds Impossible. I Used AI to Force Them to Pay Me in 24 Hours.
Medium · AI
Chapters (11)
Introduction to Tadas Petra's Journey
3:42
Early Life and Immigrant Experience
6:51
Academic Path and Transition to Tech
9:53
Internships and Early Career
12:47
Working at Navistar and Software Development
15:49
Transitioning to Mobile Development with Flutter
18:50
The Advantages of Mobile Apps
21:45
Distribution Challenges in Mobile vs Web Apps
24:37
Developer Advocacy and Community Engagement
1:05:36
The Journey into Web Development
1:13:42
Building the Best Fl
🎓
Tutor Explanation
DeepCamp AI