From freelance software engineer to exited SaaS business owner.
Coding Chats episode 36 - Rob Morgan shares his journey from being a traditional software developer to becoming a successful freelancer and eventually launching his own SaaS product. He discusses the importance of client interaction, the challenges of freelancing, and how he identified a niche market in the window cleaning industry. Rob emphasizes the significance of networking, understanding user needs, and the iterative process of product development. He also provides valuable insights for aspiring freelancers and entrepreneurs, including tips on pricing and customer engagement. In this conversation, Rob shares his entrepreneurial journey, reflecting on the successes and challenges of his first SaaS business, Cleaner Planner, and the lessons learned from its eventual sale. He discusses the importance of timing, customer engagement, and the pull demand in business success. Rob also delves into his transition to a fractional CTO role after selling his second venture, highlighting the challenges of rebuilding a software product and the need for effective marketing strategies. Additionally, he expresses his interest in starting a podcast focused on the journeys of SaaS founders, aiming to create a community for early-stage entrepreneurs.Chapters00:00 The Journey to Freelancing05:40 The Transition to Freelance Work12:40 Navigating the Freelance Landscape20:00 Challenges of Freelancing26:46 The Shift from Freelancing to Startups30:30 Finding the Right Startup Idea38:12 Building a Community Around a Niche Problem51:23 Navigating the Challenges of Growth and Exit57:42 Reviving Skills and Embracing New Technologies59:30 The Journey of Rebuilding Software01:02:26 Understanding Customer Needs and Market Dynamics01:05:22 Navigating Marketing Challenges01:06:55 Transitioning to a Fractional CTO Role01:10:12 Exploring Future Opportunities and Podcasting01:13:17 Building a Community for FoundersRob's Links:https://trialtopaid.iohttps://linkedin.com/in/rbdmorgan/John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters:Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.TakeawaysRob transitioned to freelancing after feeling stifled in traditional roles.He values client interaction for understanding user needs.Freelancing can be a rollercoaster of feast and famine.Rob's first freelance project came from a connection in affiliate marketing.Sales for Rob is about consultative problem-solving, not traditional selling.Freelancers should network to find clients and opportunities.Rob's SaaS idea emerged from identifying a niche problem in the window cleaning industry.Engaging potential customers early can validate a product idea.Pricing should reflect the value provided and be competitive. Rob reflects on his first business success and the lessons learned.The importance of timing and recognizing opportunities in business.Customer engagement and understanding needs are crucial for success.Rob's experience with the challenges of marketing a new product.The significance of having a pull demand rather than push in business.Rob discusses the natural end of his first business and the decision to sell.The transition from being a business owner to a fractional CTO role.Rob's insights on rebuilding a software product and the challenges faced.Rob's plans for a podcast focused on the journey of SaaS founders.
-------- Â
1:19:41
--------
1:19:41
The Debate: Self-Taught vs. Formal Education in Tech. Part 2 of 2 with Brian Feister.
Coding Chats episode 35 - John Crickett and Brian Feister explore the journey of becoming a software engineer, discussing the value of self-taught skills versus formal education, the impact of boot camps, and the importance of community in tech. They delve into their experiences with the Go programming language, sharing insights on learning, challenges faced, and the advantages of Go in modern software development.Chapters00:00 The Value of Computer Science Degrees05:46 Self-Taught vs. Formal Education in Software Engineering08:32 The Reality of Bootcamps and Career Expectations14:21 Approaches to Learning Go Programming18:03 Navigating Technical Challenges in Web Development20:22 Transitioning to Go: Experiences and Insights26:06 The Power of Go's Toolchain and Compiler Speed28:40 Learning Go: Tips and Resources32:06 Building with Go: Frontend and Backend Integration34:45 Understanding Go Routines and Concurrency39:28 Final Thoughts on Community and ConnectionBrian's Links:LinkedIn: https://www.linkedin.com/in/brianfeister/Meet Near Me on LinkedIn:https://www.linkedin.com/company/meet-near-meJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters:Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.TakeawaysSelf-taught engineers often excel due to passion and curiosity.Formal education can provide useful fundamentals but isn't always necessary.Boot camps can mislead students about job prospects and salaries.Community support is crucial for growth in software engineering careers.Learning Go can be a rewarding experience with the right approach.Go's simplicity and efficiency make it a powerful tool for developers.Understanding concurrency in Go can enhance performance in applications.The tech industry is evolving, and adaptability is key for success.Remote work presents unique challenges for social interaction.Building a supportive network can help navigate the tech landscape.
-------- Â
45:15
--------
45:15
Navigating the Tech Landscape: From Big Tech to Startups. Part 1 of 2 with Brian Feister.
Coding Chats episode 34 - John Crickett and Brian Feister explore the journey from working in big tech to building startups, the evolution of mentorship in tech, the challenges of balancing multiple roles, and the intricacies of test-driven development. They discuss cognitive differences in software development, the importance of clear requirements, and the role of AI in the future of software engineering. The conversation emphasizes the value of learning from each other and the diverse paths in the tech industry.Chapters00:00 Navigating Dual Roles: Tech and Entrepreneurship03:12 From Mentorship to Startup: Building Together05:56 The Challenges of Team Dynamics and Testing08:40 Agile Development: Balancing Requirements and Flexibility11:48 Function Size and Cognitive Load in Coding14:18 The Art of Requirements Gathering17:15 The Future of AI in Software Engineering26:40 The Limitations of AI in Software Engineering30:29 Learning from Each Other in Software Development35:43 The Role of Domain Knowledge in Software Engineering39:52 Education Paths in Software EngineeringBRIAN'S LINKSLinkedIn: https://www.linkedin.com/in/brianfeister/Meet Near Me on LinkedIn:https://www.linkedin.com/company/meet-near-meJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.Takeaways:Brian is currently working at Salesforce while building a startup.Mentorship has evolved into a community-driven project.Balancing a day job and a startup is challenging.Test-driven development has its pros and cons.Cognitive differences affect how developers approach problems.Requirements gathering is often more complex than coding.AI is unlikely to replace software engineers due to communication challenges.Learning from peers, regardless of experience, is valuable.The tech landscape is constantly evolving, requiring adaptability.Self-taught programmers face unique challenges in their learning journey.
-------- Â
40:07
--------
40:07
Unlocking the power of open source and mastering onboarding for new software engineers
Coding Chats episode 33 - John Crickett and Robert Roskam explore the significance of open source involvement, the critical nature of effective onboarding, the myth of 10x engineers, and the challenges of transitioning into management. They discuss how soft skills and community engagement are essential for software engineers, the importance of creating a supportive onboarding experience, and the misconceptions surrounding high-performing engineers. Additionally, they reflect on the realities of management and the emotional dynamics that influence decision-making within organizations.Chapters00:00 Introduction to FastAPI and Starlette01:50 Involvement in Django and Open Source Events04:17 Understanding the Python Software Foundation07:02 The Journey to Software Engineering09:43 The Importance of Onboarding12:09 Measuring Developer Experience and Impact15:03 The Honeymoon Period in New Employment17:52 Empathy in Leadership and Management Decisions22:49 The Importance of Team Commitment24:30 Onboarding and Documentation: The Foundation of Care26:33 Debunking the Myth of 10x Engineers29:48 Collaboration vs. Isolation in Software Engineering33:00 Effective Knowledge Sharing in Large Teams37:17 Transitioning to Management: Surprises and Realities44:06 The Value of an MBA for Software Engineering LeadersRobert's Links:robertroskam.comJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.Takeaways:Many software engineers are not involved in open source or community events.Soft skills are crucial for making projects successful.Onboarding is a critical period for new hires to learn and integrate into the company culture.Organizations often underestimate the time it takes for new hires to become productive.The concept of 10x engineers is often misunderstood; true value comes from collaboration and team dynamics.Effective onboarding can significantly reduce the time to first meaningful contribution.Emotional factors often drive organizational decisions more than rationality.An MBA can provide useful insights, but it's not necessary for all management roles.The best engineers are those who elevate their teammates and foster collaboration.All departments within an organization must work together for overall success.
-------- Â
46:01
--------
46:01
Learning Zig: A project-based approach - Part 2 of 2
Coding Chats episode 32 - John Crickett and Loris Cro discuss the Zig programming language, its community, and various ways to learn and apply Zig. Loris emphasizes the importance of project-based learning, the unique features of Zig, and how it is being used in production by various companies. Loris also shares insights on how to get involved with the Zig community and contribute to its growth.Chapters00:00 Learning Zig Through Projects04:58 Community and Learning Resources06:49 Zig in Production: Real-World Applications12:23 Understanding Zig's Unique Features18:07 Getting Involved with the Zig CommunityLoris's links:https://www.linkedin.com/in/kristoff-it/Jonathan Marler's talk: https://www.youtube.com/watch?v=aPWFLkHRIAQJohn's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.socialCheck out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.TakeawaysZig is a simple language that emphasizes debugging applications over language complexity.Project-based learning is effective for mastering Zig.Ziglings offers a hands-on approach for beginners to learn Zig.Companies like Tiger Beetle and BUN are using Zig in production.Zig's unique features include first-class support for no standard library.Zig allows for cross-compilation, making it versatile for different architectures.Community involvement is crucial for learning and contributing to Zig.Zig promotes a bottom-up approach to software development.Events like Zig Days foster collaboration and community building.Software You Can Love conference highlights innovative software development perspectives.
On Coding Chats, John Crickett interviews software engineers of all levels from junior to CTO. He encourages the guests to share the stories of the challenges they have faced in their role and the strategies and tactics they have used to overcome those challenges providing actionable insights other software engineers can use to accelerate their careers.