Polyglot Software Development

Krish Palaniappan and Varun Palaniappan
Polyglot Software Development 팟캐스트

We’ve been doing Software Development and Architecture work for a while at Snowpal, and currently have several B2B and B2C products in production. In this podcast, we’ll share our experiences on a regular basis to help you & your teams build great software. The topics covered in this podcast will include Product Management, Project Management, Architecture, Development, Deployment, Security, Release Management, Sales, Marketing, Advertising, and just about everything else an ambitious, fast growing startup based out of the US is likely to be involved in. So, join us. Let’s become better!

  1. 4일 전

    Journey of a product from Vision to Execution (feat. Chuks Ejechi)

    In this conversation, ⁠Chuks Ejechi⁠, a product leader, discusses the journey of a product from vision to execution. He explains the process of translating a business vision into a product vision and the importance of defining what, who, and why in the product vision. Chuks also highlights the challenges faced in executing ideas, such as resistance from stakeholders, shifting markets, resource limitations, and competition. He emphasizes the need to start small and iterate quickly, using minimum viable products to gather feedback and make improvements. The conversation explores the challenges of building a product from vision to execution, with a focus on the importance of identifying unique selling propositions and avoiding unnecessary features. The discussion also touches on the challenges of working with engineering teams, including the need for clear communication and coordination between front-end and back-end developers. The impact of geographical diversity on product development is also discussed, emphasizing the importance of understanding and appreciating different cultures and backgrounds. The conversation concludes with a discussion on the challenges faced by product teams and the importance of building a happy and cohesive team. Takeaways Translating a business vision into a product vision involves defining what, who, and why. Challenges in executing ideas include resistance from stakeholders, shifting markets, resource limitations, and competition. Starting small and iterating quickly with minimum viable products allows for gathering feedback and making improvements. A minimum viable product should have an element of usefulness and relate to the original vision. Identify and focus on the unique selling propositions of your product to avoid building unnecessary features. Clear communication and coordination between front-end and back-end developers is crucial for successful product development. Understanding and appreciating different cultures and backgrounds is important when working with geographically diverse teams. Building a happy and cohesive team is essential for effective product management and development. Chapters 00:00 Introduction and Background 04:51 The Process of Translating Vision into Product 12:21 Challenges in Executing Ideas 17:02 Starting Small and Iterating Quickly 20:54 The Importance of a Meaningfully Small Product 24:10 Building a Product: From Vision to Execution 26:06 Identifying and Focusing on Unique Selling Propositions 29:12 Challenges of Working with Engineering Teams 32:36 The Impact of Geographical Diversity on Product Development 39:23 Building a Happy and Cohesive Team

    52분
  2. 7월 19일

    Dealing with Flutter Dependency Conflicts and Third-Party Plugin Changes

    In this podcast episode, Krish discusses recent changes made to their mobile app built on Flutter. They highlight the challenges faced when upgrading dependencies and dealing with breaking changes. He shares their experience with dependency conflicts and the need to update dependencies incrementally. He also discuss the changes in Facebook login and the introduction of limited login. Krish provides insights into debugging and finding solutions to these challenges. He concludes by mentioning their exploration of AI technologies and the availability of their APIs on AWS Marketplace. Takeaways Regularly upgrading dependencies in a mobile app is important to avoid dependency issues and breaking changes. Handling dependency conflicts can be challenging, especially when using third-party plugins and libraries. Changes in third-party plugins, like Facebook login, can introduce new features and limitations that need to be accounted for. Debugging and finding solutions to issues with upgrades and changes require thorough investigation and sometimes trial and error. Exploring AI technologies and leveraging existing APIs can save time and effort in software development. Chapters 00:00 Introduction and Apologies for the Delay 04:12 Handling Dependency Upgrades and Breaking Changes 08:38 Challenges with Facebook Login and Limited Login 13:04 Debugging and Finding Solutions to Issues 15:28 Importance of Keeping Up to Date with Software Changes 18:16 Exploring AI Technologies and APIs 29:20 Future Topics and Conclusion

    32분
  3. 4월 16일

    Measuring Developer Experience and Improving it through Platform Engineering (feat. Ajay Chankramath)

    Ajay Chankramath⁠, Head of Platform Engineering at ⁠ThoughtWorks⁠, discusses measuring and improving developer experience through platform engineering. Platform engineering is the abstracted set of tools, principles, and techniques that make developers' lives easier and enable DevOps. It focuses on improving developer productivity and reducing friction in the software development process. The key to successful platform engineering is adopting a product management mindset and prioritizing capabilities based on their value. Platform engineering can benefit organizations of all sizes, but the scope and implementation may vary. Internal developer platforms and managed platform engineering services are emerging as options for startups and smaller organizations. Platform engineering is the evolution of software development and delivery. It is not a passing fad or a replacement for DevOps, but rather a cultural paradigm that brings together tools, techniques, and processes. Platform engineering aims to simplify and automate the development process, improve compliance gating, and provide internal developer portals for self-service. It also involves the use of generative AI to enhance operational productivity and enable proactive issue detection. While there is no one-size-fits-all approach to platform engineering, it is important for organizations to invest in platforms that align with their specific requirements and skill sets. Takeaways Platform engineering aims to improve developer productivity and reduce friction in the software development process. Adopting a product management mindset and prioritizing capabilities based on their value is crucial for successful platform engineering. Platform engineering can benefit organizations of all sizes, but the scope and implementation may vary. Internal developer platforms and managed platform engineering services are emerging as options for startups and smaller organizations. Platform engineering is the evolution of software development and delivery. It is not a passing fad or a replacement for DevOps, but rather a cultural paradigm that brings together tools, techniques, and processes. Platform engineering aims to simplify and automate the development process, improve compliance gating, and provide internal developer portals for self-service. Generative AI can be used to enhance operational productivity and enable proactive issue detection. There is no one-size-fits-all approach to platform engineering, and organizations should invest in platforms that align with their specific requirements and skill sets. Chapters 00:00 Introduction to Ajay Chankramath and ThoughtWorks 03:08 Defining Platform Engineering and its Importance 07:48 The Role of Product Management in Platform Engineering 10:21 The Genesis of Platform Engineering and the Importance of Value Modeling 13:22 Platform Engineering for Organizations of All Sizes 22:16 Breaking Down Platform Engineering into Five Planes 25:41 The Importance of Observability in Platform Engineering 29:19 The Role of Orchestrators in Platform Engineering 33:26 The Impact of Platform Engineering on Developers' Daily Work 35:56 The Importance of Compliance Gating 36:47 Internal Developer Portals 38:17 Abstraction with Terraform and Other Tools 49:04 The Potential of Generative AI 55:53 Coexistence of Self-Serve Portals and Conversational UIs 01:06:25 Platform Engineering as an Evolution of Software Development

    1시간 9분
  4. 3월 19일

    Importance of UI/UX Localization & the Need for Transparency between all Stakeholders (feat. Leigh Lawhon)

    In this episode, ⁠⁠Leigh Lawhon⁠⁠ discusses the importance of transparency in software projects. She highlights the gap between product managers and developers, emphasizing the need for clear communication and understanding of the 'why' behind tasks. She explores the influence of culture on UX/UI design and the challenges of localization. She emphasizes the importance of visual hierarchy and understanding user personas in designing effective interfaces. It delves into the challenges of localization and the balance between personalization and localization. The potential impact of AI on the job market and the future of software development are also discussed. The conversation emphasizes the need for problem-solving skills and the value of being a generalist in the industry. It concludes with the importance of curating one's career in the age of AI. Takeaways Transparency is crucial for the success of software projects, bridging the gap between product managers and developers. Understanding the 'why' behind tasks is essential for developers to align their work with the overall goals of the project. Cultural considerations play a significant role in UX/UI design, and localization is necessary to create interfaces that resonate with different user demographics. Visual hierarchy and clear communication are key elements of effective UX/UI design. The balance between coolness and usability should be considered in designing interfaces, with a focus on meeting user needs and preferences. Understanding cultural differences is crucial for successful product design and development. Balancing personalization and localization is essential to cater to diverse user needs. Language plays a significant role in user experience and must be carefully considered in interface design. The rise of AI may have implications for the job market, requiring professionals to adapt and develop problem-solving skills. Chapters 00:00 Introduction and Background 00:53 The Importance of Transparency in Software Projects 03:12 Task Over Communication 05:04 The Importance of Understanding the 'Why' 06:19 The Role of Developers in Implementing Requirements 07:22 The Example of Building an API for Food Ordering 09:12 The Tension Between Flexibility and Alignment 10:11 The Influence of Culture on UX/UI Design 14:25 The Importance of Shared Vocabulary 15:24 The Role of Visuals in Bridging the Gap 20:11 The Complexity of UX/UI Design in Different Regions 22:15 The Impact of Familiarity on User Interfaces 23:15 The Challenge of Changing User Interfaces 25:08 The Role of UX/UI Design in Personalization 26:20 The Overemphasis on Coolness in UX/UI Design 28:30 The Most Important Aspects of UX/UI Design 30:45 Visual Hierarchy 31:46 Understanding User Personas 33:21 Localization and Cultural Considerations 39:48 Understanding Cultural Differences 41:02 The Importance of Cultural Understanding 43:01 Balancing Personalization and Localization 44:08 The Impact of Language on User Experience 48:49 The Challenges of Localization 53:57 The Complexity of Localization within a Country 56:07 The Potential Impact of AI on Job Market 01:00:30 The Future of Software Development 01:07:07 The Importance of Problem Solving 01:09:11 The Need for Generalists in the Industry 01:12:06 Curating Your Career in the Age of AI 01:14:00 Curating Your Career 01:19:12 Embracing Change and Learning 01:25:12 The Importance of Language and Communication 01:31:22 Dealing with Rejection and Embracing Failure 01:34:19 Finding Unity in Language 01:39:18 Summary and Closing Thoughts

    1시간 45분
  5. 3월 14일

    Authorization as a Service (feat. Jake Moshenko)

    Jake Moshenko⁠, CEO of ⁠AuthZed⁠, discusses the importance of permissioning databases and the challenges of implementing permissions at scale. He explains how AuthZed solves this problem by providing a common API for flexible and fine-grained authorization. The target market for AuthZed includes companies of all sizes that need to add complex permission workflows to their applications. Jake demonstrates how AuthZed can be integrated with backend systems, web applications, and mobile apps. He also explains the benefits of using AuthZed, such as increased security and improved product velocity. The conversation concludes with a discussion on the AuthZed schema language and how permissions and roles are defined in the system. Jake Moshenko introduces the concept of permissions and relations in the context of access control. He explains how permissions can be granted to users for specific actions on resources, and how relationships between users and objects are defined. Jake also discusses the flexibility of defining roles and the granularity of permissions. He demonstrates how permissions can be visualized and edited in a user interface, and highlights the benefits of using a startup solution for access control. The conversation concludes with a discussion on the importance of leveraging existing tools and trusting innovative startups. Takeaways Permissions can be granted to users for specific actions on resources, such as read, write, and admin privileges. Relations define the relationships between users and objects, allowing users to be readers, writers, or admins of a particular object. Roles can be used to group multiple privileges or permissions together, providing a higher level of access. Design time actions involve configuring the access control system, while runtime actions involve making API calls to enforce permissions. When considering building or buying a solution, it is important to focus on core competencies and leverage existing tools and services. Chapters 00:00 Introduction and Background 01:04 The Problem of Permissions at Scale 05:25 Implementing Authorization for Different Client Types 06:46 Integration with Backend and Web Applications 10:24 Implementing Permissioning for Mobile Apps 14:25 Benefits of Using AuthZed for Permissioning 22:00 Granting Access to Resources with AuthZed API 25:11 Defining Permissions and Roles in AuthZed 30:42 Introduction to Permissions and Relations 31:11 Understanding Permissions and Roles 32:20 Decoupling Relationships and Actions 33:36 Granularity of Permissions 34:14 Grouping Privileges into Roles 36:01 Design Time and Runtime Actions 36:46 Visualizing and Editing Permissions 39:33 Trusting a Startup 53:36 Building vs. Buying Solutions 58:36 The Value of Innovation and Trust

    1시간 3분
5
최고 5점
6개의 평가

소개

We’ve been doing Software Development and Architecture work for a while at Snowpal, and currently have several B2B and B2C products in production. In this podcast, we’ll share our experiences on a regular basis to help you & your teams build great software. The topics covered in this podcast will include Product Management, Project Management, Architecture, Development, Deployment, Security, Release Management, Sales, Marketing, Advertising, and just about everything else an ambitious, fast growing startup based out of the US is likely to be involved in. So, join us. Let’s become better!

무삭제판 에피소드를 청취하려면 로그인하십시오.

이 프로그램의 최신 정보 받기

프로그램을 팔로우하고, 에피소드를 저장하고, 최신 소식을 받아보려면 로그인하거나 가입하십시오.

국가 또는 지역 선택

아프리카, 중동 및 인도

아시아 태평양

유럽

라틴 아메리카 및 카리브해

미국 및 캐나다