Episodit
-
Can you tell if a Ruby gem is really thread-safe or not? And how do you fix a seemingly thread-safety issue that can be something else entirely?
We had no idea. So we asked Nate Berkopec to help us. Nate is an expert in Ruby performance.
The verdict: nuking all shared global mutable state in your Ruby code is a bad idea if you don't know what you're doing!
Listen to this episode to learn:
- How and why faker-ruby became thread-unsafe, especially for Puma users
- Questions to ask yourself when trying to debug thread-safety issues
- Shared global mutable state is not always the villain, and is not the source of all thread-safety issues
- Nate's "watch-out" list of things that can cause undesired behavior when running multi-threaded Ruby applications: Constants, Class Variables, and Rack Middleware.Episode Notes
🔗 Full transcript and links
-----A special thanks to Valentino Stoll, nfstern02, and Gregg P for sponsoring hexdevs!
Enjoy!
-
Are you working on Ruby on Rails Applications that are constantly on fire, overwhelmed by technical debt? What if you were building Technical Wealth instead? Learn which tools & strategies to work with legacy code effectively, remove dead code, and leave tech debt behind.
Listen to and watch our conversation with M. Scott Ford and learn how to build technical wealth, enjoy working with legacy code, tools, and strategies to remove dead code, and how thrive in a world of makers as a mender.
About our guest
M. Scott Ford is the Co-Founder & Chief Code Whisperer of Corgibytes, where he has quietly led a software maintenance revolution for the past decade. Where most people find nothing but frustration, shame, and bugs in legacy code, Scott has centered his work around his genuine love of software modernization and helping others use joy, empathy, and technical excellence to make their systems more stable, scalable, and secure.
Scott’s ideas have been featured in books such as The Innovation Delusion and as a guest lecturer at Harvard University. Scott is the author of three courses on LinkedIn Learning: Dealing With Legacy Code And Technical Debt, Code Quality, and Clean Coding Practices.
He is the host of the podcast Legacy Code Rocks and enjoys helping other menders find a sense of belonging in a world dominated by makers.
Watch the interview on YouTubeEpisode Notes and LinksLegacy Code RocksLegacy Code Rocks Slack Group (weekly meetups at 1pm EST on Wednesdays)MenderCon (May 10th, 2023)CorgiBytesScott's LinkedIn profileScott's Twitter profileScott's Github profileHow to Improve Code Quality on a Ruby on Rails ApplicationRuby Code Quality with Ernesto TagwerkerGet to Senior
Episode Links
Chapters
00:00 intro01:57 makers vs menders
03:43 menders love improving legacy codebases
05:06 greenfield projects are glamorized
06:30 greenfield-legacy projects
09:07 working with legacy code: tools & strategies
09:53 building technical wealth vs tech debt
14:29 "the big rewrite" never works
18:54 removing redundant code
22:56 features not used very often
25:41 static code analysis tools
27:23 charge extra for features used by fewer customers
30:52 find code that is never used
34:09 code audit with feature flags
36:07 enforce code quality with tests and CI
39:26 measure code quality over time
41:09 churn, complexity, and CodeClimate score
42:43 bus factor
45:59 working with makers
51:24 hanging out with other menders
53:27 follow hexdevs
-
Puuttuva jakso?
-
"Be a lurker and start small. Read a PR, try to understand what’s going on. Leave a thumbs up 👍 if you like it. This is a very easy way to get started. And build a habit out of that". -- schneems
How to Open Source: Learn the secrets of successful contributors
Recently, Richard published the book “How to Open Source: Learn the secrets of successful contributors". The missing handbook will guide you from making your first contribution to building a sustainable practice.
Listen to and watch our conversation with Richard Schneeman (@schneems) about the book, and how to go from coder to contributor.
Episode Links
Get to SeniorGet to Senior Crash CoursePodcast Interviewschneems.comRichard Schneeman on TwitterHow to Open SourceFearless Change: Learn the secrets of successful contributorsWatch the interview on YouTube
Chapters00:00 Intro
02:28 say hello to our cat, bob!
03:25 what prevents developers from contributing to open source?
04:58 the bystander effect
06:42 not comfortable contributing to new repo
08:30 be a lurker: read a PR and leave a thumbs up
10:12 building tiny habits for Open Source
11:19 do you really want to contribute to open source?
13:53 If you contribute to Open Source, can you skip coding interviews?
14:39 do you need a CS degree to contribute to Open Source?
15:14 use a fake account or nickname on GitHub
16:18 what prevents people from contributing more?
17:52 how do you find time to contribute to open source?
19:00 how to do open source work as part of my job?
21:53 how do you find Open Source projects to contribute to?
24:16 how to build a culture of open source at work?
27:20 what is CodeTriage & how it works?
28:56 writing the book How to Open Source
30:07 tips for getting started with open source
32:23 workarounds vs fixing bugs upstream
34:10 can you get promoted by doing open source work?
37:29 open source work and becoming Principal Engineer
40:26 making mistakes in public
41:57 merging the wrong commit in Ruby on Rails
44:39 what if my Pull Request is rejected?
50:00 how to build a contribution practice
55:14 closing remarks
-
Are you tired of feeling like an impostor? Do you feel like you've been holding yourself back for too long? That you are missing out on growth opportunities because you don't feel confident enough?
We believe you can be happy AND grow in your career. No need to sacrifice one to get the other. But to get there, you need as many tools and support as you can get.
In this episode, Amor Muto shares strategies to help you beat Burnout, Fear of Success and Imposter Complex.
About our guest
Amor Muto is a Certified Professional Coach with a vast knowledge and experience on the imposter complex, leadership and fear of success, especially with Software Developers. He is a tetraplegic entrepreneur with 15+ years of experience. Purpose-driven to make burnout a thing from the past.Show Notes
Join the Waiting List to the next cohort of Get to SeniorUnhappy as a Developer? How Not To Be Miserable with Dr. Randy PatersonSkara.aiGet access to over 400 personal and professional coaches from around the world with Sphere.Guide. Use Code: hexdevs to get 50% off the first month. -
"How can I practice my skills so I can code faster?"
One way is to design Drill Exercises when learning a new skill. It helps break down the steps and practice them in isolation until you master all of them. Plus, you get instant feedback.
Master technical skills faster. Design Drill Exercises and practice deliberately.
Listen to this short episode about designing effective technical practice as a self-learner. We also mentioned what we've been reading and listening to lately.
Chapters
00:00 Intro00:22 What is deliberate practice?
01:06 Ultralearning and Drill Exercises
01:48 Direct Drills for Technical Practice
04:08 Fast Feedback on Learning
06:02 Foundational Skills
07:13 Practice above your current skill level
10:42 Learn Hard Things Faster
14:27 Improving your memory
15:11 The Feynman Technique
18:08 Subtracting and Doing Less
21:23 Ask good questions and simplify
22:55 Ending
Join the Waiting List to the next cohort of Get to SeniorUltralearning: Accelerate Your Career, Master Hard Skills and Outsmart the CompetitionPerceptual Learning == More Ruby Experts? | RubyConf 2021Moonwalking with Einstein: The Art and Science of Remembering EverythingDo Less - Hidden Brain episode
Links -
"I had a huge list of the technical things I needed to learn for this new position and turns out none of them was missing for me to get to Senior. I need to do some leadership work, do more mentoring, and is a matter of time. But now I know what to do and I know what to focus on. And that was really surprising. I don't need to spend hours studying programming" -- Caroline Salib.
Are you an experienced software developer and don't know how to get promoted to Senior level? Have you been trying to master one technical skill after the other and still not sure how to make the jump to Senior?In this episode, we talk about the non-obvious skills experienced software developers miss when trying to make the jump to Senior -- and how to get out of the technical trap that is keeping them stuck in the mid-career level.
Listen to our conversation with Caroline Salib to learn how she is taking control of her career and being on the path to Senior level.
About our guest
Caroline is a super talented Ruby Software Developer. She is passionate about code quality, automated tests, and open-source projects. She loves the feeling of fixing broken things and building software that will have value to others.
We talked about her experience publishing a gem for the first time, and learning C. We also talked about her “spread” experience as a Software Developer. With more than 10 years of experience, she wasn’t sure what she was missing to become a Senior Software Developer.
Carol shares the struggles of changing backgrounds from .NET, to PHP and then to Ruby. And the importance of being kind to ourselves, being comfortable with being uncomfortable, and how to embrace our mistakes.
Caroline told us how she is changing the direction of her career. By doing challenging things, taking action, and being the person who chooses to fix the problem instead of complaining about them.
Get to Senior CohortCaroline Salib TwitterSimpleBlog - Simple ruby blog
Show NotesAre you ready to Get to Senior?
Want to become a badass software developer on track to becoming a Senior just like Caroline? We just opened the doors for the next Get to Senior cohort.
If you want more support and accountability on your path to Senior, enroll in the next cohort now to start your journey to Senior level.
-
Often as developers, we believe we are supposed to know everything. Just figure everything by ourselves. As long as we get faster and better at coding, our careers will progress smoothly.
But if you ask around, you’ll notice that most people are feeling technically stuck, despite years of experience. If you ask for career advice, people will throw you an endless list of complex technical skills to master.
That’s not what you’ll find here.
Have you ever reflected on your career goals as a Software Developer? How often do you talk with someone who’s doing the kind of work you want to be doing?
Mina Slater is our guest for this episode. Mina decided she will never be stuck. She is always doing things that are uncomfortable and scary, such as communication and leadership skills. Some people call these "soft skills for software developers".With more than a decade of experience with theater management before becoming a Software Developer, Mina has been progressing in her career as she wanted. She even created her own role. In the week this episode was released, she was promoted to Senior Developer!
This episode also addresses this fact: no pacing is right or wrong, everyone has their own journey. How do you make sure you are moving forward and not getting stuck on your journey? That’s what this episode is about.
You’ll hear Mina using phrases such as “helping my team”, “reflecting on my progress”, “peer-mentoring”, “people skills”. These are clues of how to explore opportunities to grow in your career organically.
About Mina Slater
Mina Slater is dedicated to using her "superpowers" for good, to connect people and bring them closer together by contributing to meaningful and inclusive products.
Since transitioning from a career in theater management by way of Northwestern Coding Bootcamp in April of 2018, she has developed as Engineer and Consultant, with a specific interest in the backend and Ruby On Rails.
—
Do you feel like you’re too experienced to be a Junior but not enough to be a Senior? Feeling stuck in your career? Don’t know what to do next in your Ruby developer career?
Join Get to Senior, a collection of case Study interviews with Ruby developers. Learn from real people. Follow guided exercises to put into practice the strategies from the case studies to map out your Path to Senior. Grab your Get to Senior copy now.
Or sign up for the free Get to Senior Crash Course to receive 5 email lessons over the next 2 weeks. Learn how to identify opportunities to work on challenging projects while on the job. Get started now.
—
★ Episode Notes & Links
★ Buy Get to Senior
★ Get to Senior Free Email Crash Course -
Do you suffer from Slack notification anxiety? On-call schedules and deadlines giving you nightmares? Are your teammates nitpicking your code during code review?
Instead of quitting your job out of frustration and having to go through another round of technical interviews, what if you knew how to have a great relationship with your work?
Learn how to deal with imposter syndrome, unrealistic deadlines, and stop communicating passive-aggressively today!
Communicate effectively with your team and finish the day feeling good about what you've accomplished.
Listen to our conversation with Dr. Randy Paterson, a psychologist and author practicing in Vancouver, Canada. He is the author of "The Assertiveness Workbook - How to express your ideas and stand up for yourself at work and in relationships."
He taught us effective skills we can use to feel better about our daily jobs as developers. Learn how to tell your manager that the project is running late without being the negative person in the team. And how to deal with conflict without freaking out.
Whether you've experienced any of these situations at work or have heard stories about it, it's always good to learn how to communicate better and avoid resentments. Enjoy the episode and share it with a friend or colleague!
Sign up for the hexdevs newsletter today and receive exercises, research-based techniques and actionable ideas to help you become an expert developer!
Episode links
- Full episode Transcript and Show Notes
- Save your spot for the hexdevs Software Design Workshop and take the next right step for your career
- Dr. Randy Paterson's website
- The Assertiveness Workbook - How to express your ideas and stand up for yourself at work and in relationships
- Psychology Salon with Dr. Randy Paterson - YouTube channel
- First Person Plural: Emotional Intelligence & Beyond podcast -
Are you working on Ruby on Rails Applications that are constantly on fire, overwhelmed by technical debt?
Instead of being a firefighter, what if you could be a happy programmer again and "Escape the tar pit"?
Learn exactly how to measure tech debt and take the right steps to immediately improve code quality!
Listen to our conversation with Ernesto Tagwerker (@etagwerker). He is the Founder & CTO at FastRuby.io & Ombu Labs.
He and his company are the maintainers of many code quality projects: skunk, rails_stats, metric_fu, and rubycritic, and many other important Ruby gems such as database_cleaner, bundler_leak, and next_rails.
He's an expert in upgrading and improving legacy Ruby on Rails applications. He taught us some step-by-step strategies you can follow to quickly measure and improve code quality.
Sign up for the hexdevs newsletter today and receive exercises, research-based techniques and actionable ideas to help you become an expert developer!
Episode links
- Full episode Transcript and Show Notes
- Save your spot for the hexdevs Software Design Workshop and take the next right step for your career
- Read How to Improve Code Quality on a Ruby on Rails Application
- Ernesto Tagwerker on Twitter
- Podcast episode about maintaining shoulda_matchers with Gui Vieira
- RubyConf 2019 - Escaping The Tar Pit by Ernesto Tagwerker- The Code Quality Challenge
- The Mythical Man-Month (book)
- Breaking Up the Behemoth by Sandi Metz
- Getting Empirical About Refactoring
- Code Quality Tools
- Makers vs Menders Talk by M. Scott Ford
- Surviving Legacy Code Workshop
- skunk.fyi (gem)
- skunk (gem)
- rails_stats (gem)
- metric_fu (gem)
- rubycritic (gem) -
Do you feel frustrated with everything you need to learn as a developer?
When you can't learn a simple software development concept, build a simple feature, or find a simple bug, and you feel completely stuck. It's common to think that things will never 'click' for you.Do you know these days when you feel like you're digging yourself into a hole?
What if you could use that energy to build up a ladder you can climb instead?
What if you had a strategy to get into the flow and focus on doing your best work as part of your coding journey?The Thoughts and Questions from the Unstuck Guide for Developers will help you re-frame your perspective when you’re feeling in a rut on your coding journey.
Episode Notes and Free Cheat Sheet
-
Episode Notes
Sign up for the hexdevs newsletter -
Monica Lent is a software engineer and entrepreneur. She started coding before the age of ten, and haven’t stopped since. After working for more than 10 years in the tech industry as an engineer, tech lead and manager, she decided to quit her job and bootstrap a SaaS company full-time.
Show Notes & Transcription -
Brian David Hall is an expert in conversion optimization. He's a software engineer by training, runs his own company, and is the host of the SaaS Experiments Podcast, where he talks to other experts in growth marketing. We talked about the unusual tech jobs he's had that helped him learn other skills beyond coding.
You can use your skills in other areas like Marketing and Sales to transition to a tech job instead of throwing away your current expertise. Learning how to code on top of your existing skills will give you superpowers!
If you want to transition into a tech job, you can start by solving problems for your current company. By doing this, you'll build a portfolio, get real-world experience, stand out from other candidates that only know how to code but have no experience in other areas.
You can also look for a "weird tech job", which is a job that involves coding but is not a developer role at a tech company.
You can find the coupon to Brian's new e-book on the Show Notes (link below) plus some highlights and transcripts!
Show Notes and Transcript
-
Michael Lynch is a software developer and blogger. He used to work as a software engineer at Google, but he decided to quit and now he's a solo founder, and blogs about his experience.
He's recently launched the course Hit the Front Page of Hacker News. The course teaches everything he has learned about Hacker News after getting many of his original blog posts to hit the front page. It covers the site's unique culture, how to choose topics, improve your writing, and what to do if your submission fails.
We also talked about going solo founder, and his financial independence journey.
Highlights
00:00 Intro
00:41 Who is Michael Lynch?
01:58 Hit the Front Page of Hacker News
03:04 Courses vs e-books
04:00 How many copies were sold
05:04 Beta-testing the course before launch day
07:19 Financial Independence and becoming an entrepreneur
08:16 Financial Independence and travelling
09:16 The shock of going back to a normal job
11:08 Planning for Financial Independence by building a business
12:37 Mr. Money Mustache, the 4% rule and Early Retirement
14:16 How much you make vs How much you save
14:33 What does he want to do when he retires early?
15:12 Life expenses and business expenses
15:49 Negotiating a big salary at Google by getting multiple job offers
18:30 Financial choices in your 20's and the optimum strategy
23:05 A good salary for boring work isn't fun
25:56 Bootstrapping is very different than the startup life
26:48 Having freedom and control over the direction of your product/business
28:40 Prioritizing and evaluating business ideas
31:05 How to do market research
32:57 Lessons after quitting Google: content strategy, marketing, and distribution
36:59 Keep yourself motivated and don't put too much pressure on yourself
39:49 Advice to anyone who wants to quit their job and start a business
42:36 Final remarks
Links from this episodeShow Notes
Hit The Front Page of Hacker News Course
Michael Lynch's Site
Michael Lynch's Twitter
Sign up for our newsletter to get the Highlights from our episodes -
Listen to this episode to learn how Preetam Nath and Sankalp Jonna, co-founders of SuperLemon and DelightChat, started and grew a Shopify micro-SaaS to $30,000 monthly recurring revenue and more than 20,000 users.
They did all of that by themselves, the team was just Preetam and Sankalp, and Sankalp was the only engineer. As they say on their website, they are "A small team with a big heart".
SuperLemon is a WhatsApp plugin for Shopify stores serving over 20k users with 1.5k paying customers. It recently crossed 30k dollars in MRR, and all of this growth happened in about 14 months.
They are now building DelightChat, a customer support tool for small and medium-sized direct-to-consumer & e-commerce brands running lean teams, and recently started hiring and growing the team.
How they did market research before writing any line of code and how being a little "impatient" with growth is a good thing for a founderHow they scaled the app to 20k users with a team of 2 people (1 engineer) by using the Keep It Simple Silly (KISS) principleHow distribution is the most important thing for a micro-SaaS and why they decided to target the Shopify marketplaceHow they prioritize features and make their customers happy while having a very lean teamHow to acquire customers every day for the next yearWhy you should build a business that allows you to have freedom and live a good lifeWe also asked them if they ever received an offer to be acquired or to get VC funding
Highlights:Links:
DelightChatSuperLemonMicroSaaS GuidePreetam Nath's TwitterSankalp Jonna's TwitterSankalp's engineering blogNotes and Transcript -
Learn how to develop a habit of learning in public, writing daily, and helping your audience. Chris Bongers has been sharing software development tips every day for the past 250 days on his blog Daily Dev Tips and on twitter.
Here's what we talked about:
How Chris got started with writingHow he wrote more than 250 articles during lockdownWhich daily tips were the most popularHow he comes up with ideas for Daily Dev Tips. Spoiler alert: by working in public, he gets lots of suggestions from his followers. Win-win!The benefits of learning in public and writing every day for Daily Dev TipsHow he manages his energy levels and productivity, and avoids burnoutWhat helped him grow his audienceSEO and blogging tips for beginnersWhere should you share your blog posts: on Hashnode or dev.to?How hiking is the best activity for writersThanks to our sponsors:
VanHack helps great tech talent get jobs abroad, even during the pandemic!Links:
Daily Dev TipsChris Bongers on TwitterBlogging for Devs CommunitySubscribe to our newsletterVisit the hexdevs blog -
Dmitrii Pashtuskii is a digital nomad living in Bali, and recently quit his job so he could travel and build a business.
This episode will be a little different: Dimitrii will be asking us questions about moving to Canada because he wants to apply for a visa very soon. In a future episode we will talk more about his projects and the life of a digital nomad.
If you ever wanted to move to Canada, this is the time. Canada is planning on bringing more than 1 million immigrants in the next 3 years!
We thought it would be the great opportunity for us to share our story and help others. We are also thinking of writing a short guide with more information, documents and resources we used in our visa process. In case you are interested, you can sign up for the wait list.
Here's what we discussed:
Why we moved to Vancouver, CanadaHow VanHack helped Thiago get a job in CanadaWhy Dmitrii is planning to get a visa and settle down in Canada after living the nomad lifeHow long did it take us to get our Permanent Residency through the BCPNP programHow Express Entry worksThe tech community in VancouverLife in Vancouver: Are people friendly? Is it easy to make new friends?Getting a Canadian CitizenshipFollow our podcast and sign up for our newsletter to get updates when we launch new episodes.
Thanks to our sponsors:
VanHack helps great tech talent get jobs abroad, even during the pandemic!Links from this episode:
Moving to Canada - A guide for developers to move to Canada - join the wait list if you're interested :)Dmitrii's Twitter12xstartup.comLearning Story - The community for people who learn in publicGlobal Skills Strategy VisaSubscribe to our newsletterVisit the hexdevs blog -
We are all competent in the team, but why do the projects always get delayed, why did we run into problems? We do sprints, we do sprint planning, something is not working. Shape Up helped me get the right balance between long-term and short-term planning.
Does that ring a bell?
Our guest, Raymond Huang, told us how Shape Up helped his team get the right balance between long term and short-term planning and deliver better software.
As a developer, you know that estimates are hard, and you can't know everything ahead of time while planning. You also know that some of the 'agile' tools are not really helping. You've tried Scrum, but you are doing Kanban instead. The team struggles to ship and misses the deadline and we see all the failed goals on the sprint chart. Shape Up was written to help with that problem.
Shape Up is the latest book from Basecamp. It's a guide on how they do Product Strategy.In this episode, we learned how Raymond applied the ideas from Shape Up at Unbounce.
We asked questions such as:
Would Shape Up work in my company?How do I convince my team to try it?How to start adopting Shape Up?Do I need to follow all the steps described in the book?If I had to choose only one takeaway from Shape Up, which one would it be?How do I shape a cycle?Will I finally get rid of my team's Tech Debt Backlog?If you enjoyed this episode, let Raymond now. Don't forget to follow our podcast and sign up for our newsletter to get updates when we launch new episodes.
Thanks to our sponsors:
VanHack helps great tech talent get jobs abroad, even during the pandemic!
Links from this episode:
Raymond Huang Linkedin
Shape Up: Stop Running in Circles and Ship Work that Matters
Check out our new website. We have a blog now!Visit our Podcast page and subscribe to our newsletter!
-
"Most startup founders don't want to prove themselves wrong. There's an inherent bias, they hear what they want to hear, and they go seeking the information to prove themselves right because they've attached themselves to their idea." -- Kenny MacKenzie
Kenny is an expert in product-market fit and market validation and has been mentoring startup founders for many, many years.
After creating his own startup, raising money, building a product, launching it and seeing it fail because of a lack of product-market fit, Kenny spent loads of energy trying to reflect on those mistakes so he could understand the causes of startup failure and the tactical and strategic frameworks and practices that will improve the chances of business success.He identified very common types of cognitive biases that early-stage founders will face, such as a lack of product-market fit, false positives, and not knowing what problem you're trying to solve or who you're trying to help. These things lead to errors of judgment that will surely kill a startup.
"You're not a developer, you're not an engineer, you're not an entrepreneur. You're a scientist/private investigator. Think of the market opportunity as a crime, there is a criminal out in the loose and they keep hurting all these different people. You're trying to understand that criminal's pattern of behavior. The criminal is the market need. You're investigating, not trying to force your will on the world. Once you understand a meaningful problem that people have, then you can start being the visionary." -- Kenny MacKenzie
If you want to be a successful entrepreneur, you need to act like a scientist/private investigator, find the right problems, experiment and learn from customers before you write any line of code or build anything. This will improve your chances of being a successful startup founder.
Thanks to our sponsors:VanHack helps great tech talent get jobs abroad.
Links from this episode
Kenny MacKenzie on Linkedin
Find Better Problems Worth Solving - Ash Maurya
The Mom Test Book - Rob Fitzpatrick
The Value Proposition Canvas - strategyzer
Jobs to Be Done: Theory to Practice - Anthony Ulwick
Outcome Driven Innovation - Anthony Ulwick
Visit our Podcast page and subscribe to our newsletter! -
This is the second part of our interview with Fabiano where we talk about his new job in Munich - Germany, and also about the visa process, working in Europe, and the challenges he's facing now, like learning the German language.
Fabiano decided to move abroad after being the CTO of Magnetis for many years. He now works as a Senior Fullstack Engineer for Shore - the leading provider of cloud-based business solutions for small and medium-sized companies.
He gave some tips for people who want to find a job and move to Germany, and talked about his new life in Munich.
If you enjoyed this episode, make sure to tell Fabiano about it. We are sure he would love to hear from our listeners. And if you want to move to Germany to work with Fabiano, Shore is hiring, so check out this episode to learn more about their relocation package and their engineering culture.
Thanks to our sponsors:
VanHack helps great tech talent get jobs abroad.
Links from this episode
Visit our Podcast page and subscribe to our newsletter!
Fabiano's Twitter - Näytä enemmän