loader from loading.io

Trevor Ewen Part 3 - Functional Core Imperative Shell

Develpreneur: Become a Better Developer and Entrepreneur

Release Date: 07/13/2021

Deciphering Code Chaos: Strategies for Writing Maintainable Code show art Deciphering Code Chaos: Strategies for Writing Maintainable Code

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 Proposal show art Upwork Proposal Strategy: Crafting a Winning Proposal

Develpreneur: 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 Landscape show art Upwork Startup Guide: Navigating the Freelance Landscape

Develpreneur: 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 Requirements show art The Importance of Properly Defining Requirements

Develpreneur: 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 Customers show art Pitching Your Services To Your Customers

Develpreneur: 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 Development show art Setting Realistic Expectations In Development

Develpreneur: 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 Success show art From Side Hustle to Success

Develpreneur: 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 Success show art Bootstrapping Success

Develpreneur: 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 Development show art CYA Practices in Software Development

Develpreneur: 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 Challenges show art Social Media Strategy Challenges

Develpreneur: 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_outline
 
More Episodes

The 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.

Great Links for more From Trevor

https://stg.software

trevorewen.com