Trevor Ewen Part 3 - Functional Core Imperative Shell
Develpreneur: Become a Better Developer and Entrepreneur
Release Date: 07/13/2021
Develpreneur: Become a Better Developer and Entrepreneur
This episode delves into the intricate world of code chaos, coding standards, and best practices, and exploring the importance of writing maintainable code. Hosts Rob and Mike share their insights and experiences, shedding light on the challenges and solutions in the realm of software development. Deciphering Code Chaos What is Code Chaos? Rob and Mike set the stage by discussing the frustration of code chaos. This is where similar code functionality is scattered and duplicated code across projects. They emphasize the significance of architecting solutions rather than hastily...
info_outline Upwork Proposal Strategy: Crafting a Winning ProposalDevelpreneur: Become a Better Developer and Entrepreneur
Welcome back to our ongoing Upwork journey! In this episode, we delve into the specifics of crafting a winning proposal. Whether you're a seasoned freelancer or just starting out, understanding the intricacies of proposal writing is crucial for success on platforms like Upwork. Crafting a Winning Proposal Deciphering the Job Posting As we embark on our proposal-writing journey, let's dissect a typical job posting. Job descriptions may often seem repetitive, emphasizing the need for skilled, passionate individuals. However, hidden within the generic language are clues to what the...
info_outline Upwork Startup Guide: Navigating the Freelance LandscapeDevelpreneur: Become a Better Developer and Entrepreneur
In this podcast episode, we delve into launching a successful freelance career on Upwork. Focusing primarily on getting started, a sort of Upwork startup guide for beginners. This guide draws from our wealth of experience. It provides invaluable insights and practical advice for freelancers aiming to thrive in the competitive online marketplace by sharing our expertise and firsthand knowledge. Upwork Startup Guide We guide listeners through establishing a solid presence on Upwork so they can use it to maximize their earning potential. Exploring Upwork: Navigating the Platform As...
info_outline The Importance of Properly Defining RequirementsDevelpreneur: Become a Better Developer and Entrepreneur
In this podcast transcript, Rob and Michael delve into the pivotal topic of defining requirements in software development. They emphasize the significance of clear and detailed requirements, underscoring the potential pitfalls of vague or incomplete requirements. Throughout the conversation, they provide insights, anecdotes, and practical strategies for navigating the complexities of requirement gathering and management. Let's dive into the key points discussed by Rob and Michael. Defining Requirements The Importance of Clear Communication Rob and Michael stress the importance of...
info_outline Pitching Your Services To Your CustomersDevelpreneur: Become a Better Developer and Entrepreneur
As consultants and service-based business owners, one of the biggest challenges is identifying your ideal customer and effectively pitching your services to them. In this insightful podcast, Rob and Michael dive deep into this topic, sharing their experiences and strategies. Pitching Your Services The Primary Focus: Solve the Customer's Problem The core message that resonates throughout the discussion is the importance of understanding and addressing your customer's specific problems. Instead of leading with the technologies or services you offer, the initial focus should be on the...
info_outline Setting Realistic Expectations In DevelopmentDevelpreneur: Become a Better Developer and Entrepreneur
Welcome back, fellow developers! Whether you're tuning in from your favorite chair or your trusty work desk, we're back to share insights and reflections on the intricate world of software development. In today's episode, we're diving deep into the realm of realistic expectations—how crucial they are when dealing with clients, navigating difficult conversations, and ensuring project clarity. Setting the Stage for Realistic Expectations In today's podcast, we're revisiting a topic mentioned in previous episodes: realistic expectations. From the onset, we're reminded that clear...
info_outline From Side Hustle to SuccessDevelpreneur: Become a Better Developer and Entrepreneur
In this episode of the "Developer Building Better Developers" podcast, our hosts explore the journey "From Side Hustle to Success." They delve into the intricacies of turning a passion project into a sustainable business venture. With decades of experience, the seasoned hosts are no strangers to discussing the challenges and nuances of entrepreneurship. From Side Hustle to Success: Transitioning a Passion into Profit Recognizing the Shift: From Side Hustle to Success The episode picks up the topic from the previous episode, "Bootstrapping Success," by testing niches on a shoestring...
info_outline Bootstrapping SuccessDevelpreneur: Become a Better Developer and Entrepreneur
Welcome back to our podcast as we embark on Season 21, episode 8, where we're shifting gears to focus more on mentorship and business discussions. In this episode, Rob Broadhead and Michael Meloche dive into the intricacies of bootstrapping a business. From minimizing costs to managing expenses, they offer insights and anecdotes from their own experiences as entrepreneurs. Getting Started with Bootstrapping Rob and Michael reflect on their early days of bootstrapping businesses and testing niches on a shoestring budget. They discuss the importance of minimizing startup costs and...
info_outline CYA Practices in Software DevelopmentDevelpreneur: Become a Better Developer and Entrepreneur
Welcome back to another insightful discussion on software development! In this podcast episode, Michael and Rob delve into the critical topic of CYA practices—Cover Your Ass practices—in the realm of software development. As seasoned professionals in the industry, we've encountered our fair share of challenges and learned valuable lessons along the way. Our goal today is to share some of these experiences, insights, and strategies with you, our audience so that you can navigate your own projects more effectively and avoid common pitfalls. Understanding the Importance of CYA...
info_outline Social Media Strategy ChallengesDevelpreneur: Become a Better Developer and Entrepreneur
In today's digital age, social media has become an indispensable tool for professionals across various industries. For developers, establishing a strong social media presence is not just beneficial—it's essential for building their brand, engaging with their audience, and showcasing their expertise. However, navigating the complexities of social media strategy can be daunting. Understanding how social media works In a recent podcast episode, hosts Mike and Rob explore the intricacies of social media strategy for developers, offering expert insights and practical tips to help them...
info_outlineThe third of our series of discussion episodes with Trevor Ewen touches on a functional core and imperative shell. This is an approach to building software that uses a strong core to extend to custom solutions. We provide some options for building on your previous solutions in the modern world of software frameworks, libraries, and open-source.
Functional Core
The underlying theme in this approach is a functional core. You want to craft a foundation that is solid and extensible to speed future development. That does not mean maximizing code reuse as much as it does solution reuse. Instead, we focus on delivering a solution quickly and reliably with less worry about maintenance. Thus, we can build quickly and worry about refining our solution for reuse after it has been delivered. As a result, we get speedy delivery, and eventually, we will see reuse where needed. This process allows us to avoid designing code for reuse that is never used again.
When To Share
We wrap up this episode with a discussion about timing. There is a level of "baking in" that is useful before converting code to a library or sharing it with diverse projects. Yes, we can always design all code to be shared. However, some solutions are too niche or customized to be useful outside of the original solution. We want to find a reason to share code other than "because we can." That means we need to keep an eye out for how often we see similar problems or use existing code snippets to jumpstart a solution.