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!
Episodes
Saturday Jan 13, 2024
Saturday Jan 13, 2024
In this podcast episode, the host continues the discussion on Confluent Cloud and focuses on adding a consumer and creating a Go client. The process of building a producer and troubleshooting and debugging common issues is also covered. The host explores topics such as topic creation, error handling, and configuration. Known issues and workarounds are discussed, along with cluster settings and security protocols. The episode concludes with final debugging and error handling techniques. In this conversation, Krish explores the process of publishing messages to a Kafka topic using a Go client. He encounters some issues along the way, such as delivery failures and SSL connection problems. However, after making some code changes and switching back and forth, the publishing starts working unexpectedly. Krish also discusses the use of Go channels in the producer and the importance of reading config and initializing the producer correctly. He concludes by mentioning the next steps, which involve consuming the messages from the topic.
Takeaways
Adding a consumer and creating a Go client are important steps in working with Confluent Cloud.
Troubleshooting and debugging are essential skills when working with messaging systems like Kafka.
Understanding topic creation, error handling, and configuration is crucial for successful message production.
Being aware of known issues and their workarounds can save time and effort in troubleshooting.
Configuring cluster settings and security protocols correctly is essential for smooth operation. Publishing messages to a Kafka topic using a Go client involves initializing the producer and ensuring the correct configuration.
Go channels can be used in the producer to handle message production.
Reading the config and initializing the producer correctly is crucial for successful message publishing.
Issues such as delivery failures and SSL connection problems can be resolved by making code changes and switching back and forth.
Chapters
00:00 Introduction and Recap02:30 Adding a Consumer03:44 Creating a Go Client08:08 Building the Producer10:55 Creating a Consumer17:30 Troubleshooting and Debugging21:02 Topic Creation and Message Production25:48 Error Handling and Configuration33:27 Continued Troubleshooting46:20 Correcting Configuration Issues55:41 Known Issues and Workarounds59:12 Cluster Settings and Security Protocols01:01:07 Final Debugging and Error Handling01:02:19 Connecting to the Bootstrap Server01:03:47 Using Channels01:04:48 Replacing Code and Expecting a Broker and Topic01:05:21 Building and Running with Broker and Topic01:06:36 Using Go Channels in the Producer01:07:16 Reading Config and Initializing the Producer01:08:43 Delivery Failed and SSL Connection01:10:13 Sending Messages via Postman and Code01:11:02 Switching Code and Unexpected Working01:11:39 Messages Sent and Refreshing Stand01:12:55 Publishing to Different Topics01:13:32 Publishing Messages and Minor Changes01:14:00 Initializing the Producer and Randomizing Messages01:15:09 Failed to Deliver Message and Event Types01:17:00 Producing Messages with Go Routine01:18:13 Producing Messages and Business Functionality01:19:21 Producing Messages and Printing Output01:21:48 Subscription to the Topic01:22:37 Go Routine and Message Type01:23:56 Event Types and Handling01:30:07 Error Handling and Non-Existent Topic01:32:12 Next Steps: Consuming Messages
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Thursday Jan 11, 2024
Thursday Jan 11, 2024
In this podcast, the host explores Confluent Cloud, a fully managed Kafka service. The host shares their experience with RabbitMQ and Kafka and explains the value of using a managed service like Confluent Cloud. They walk through the process of signing up for an account, creating a cluster, generating API keys, and creating topics. The host also discusses the use of connectors and introduces ksqlDB and Apache Flink. They explore cluster settings, message consumption, and additional features of Confluent Cloud. The podcast concludes with a summary of the topics covered.
Takeaways
Confluent Cloud is a fully managed Kafka service that provides added value through pre-built connectors and ease of use.
Creating a cluster, generating API keys, and creating topics are essential steps in getting started with Confluent Cloud.
ksqlDB and Apache Flink offer stream processing capabilities and can be integrated with Confluent Cloud.
Cluster settings, message consumption, and additional features like stream lineage and stream designer enhance the functionality of Confluent Cloud.
Using a managed service like Confluent Cloud allows developers to focus on solving customer problems rather than managing infrastructure.
Chapters
00:00 Introduction02:25 Exploring Confluent Cloud09:14 Creating a Cluster and API Keys11:00 Creating Topics13:20 Sending Messages to Topics15:12 Introduction to ksqlDB and Apache Flink17:03 Exploring Connectors25:44 Cluster Settings and Configuration28:05 Consuming Messages35:20 Stream Lineage and Stream Designer38:44 Exploring Additional Features44:21 Summary and Conclusion
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Wednesday Jan 10, 2024
2 engineers discussing many things about Software Development (feat. Serkan Durusoy)
Wednesday Jan 10, 2024
Wednesday Jan 10, 2024
In this conversation, Serkan Durusoy, the head of engineering at Okra, discusses his background, living on a sailboat, and his passion for engineering. He emphasizes the importance of creativity and art in engineering and how personal background and upbringing can influence problem-solving approaches. Serkan also explores the balance between individual approaches and the need for alignment on outcomes in engineering teams. He highlights the role of personal relationships and the challenges of making tough decisions as a manager. In this conversation, Krish and Serkan discuss various topics related to software engineering and career development. They explore managing differences as a manager, the challenges of remote work, choosing a software engineering career, applying opinions to circumstances, and the impact of software engineering on the world.
Takeaways
Engineering is a creative and artistic field that allows for the creation of solutions and the impact on users.
Personal background and upbringing can shape problem-solving approaches in engineering.
Balancing individual approaches and aligning on outcomes is crucial for effective teamwork in engineering.
Personal relationships and emotions should be considered, but the focus should be on the problem and desired outcome. As a manager, it is important to approach conflicts with the goal of amicably solving the problem and moving things forward.
Remote work requires intentional communication and over-communication to compensate for the lack of social cues and body language.
Choosing a software engineering career can be a shortcut to making a visible impact in the world, but it requires a lifelong commitment to learning and dealing with frustrations.
Opinions and learnings should be applied to specific circumstances rather than taken as absolute truths.
Software engineering has the potential to make a significant impact on the world and offers opportunities for personal and professional growth.
Chapters
00:00 Introduction and Background
01:37 Living on a Sailboat and Engineering
03:25 Favorite Food and Cultural Differences
05:29 Engineering as Art and Creativity
09:42 The Influence of Upbringing on Engineering
11:14 Differences in Approaching Engineering Problems
16:36 The Role of Personal Background in Engineering
19:22 Balancing Individual Approaches in Engineering
25:14 Navigating Differences in Engineering Approaches
28:59 The Importance of Alignment on Outcomes
31:45 Balancing Personal Relationships and Engineering Decisions
36:43 Prioritizing the Problem and Outcome
40:12 Making Tough Decisions as a Manager
40:40 Managing Differences as a Manager
49:16 Challenges of Remote Work
59:13 Choosing a Software Engineering Career
01:01:07 Applying Opinions to Circumstances
01:03:21 Software Engineering as a Career
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Tuesday Jan 09, 2024
Tuesday Jan 09, 2024
Prasanna Veeraswamy shares his unique experience of traveling to every country in the world and the personal growth and education he gained from his travels. He emphasizes the importance of living in a place to truly understand its culture and build relationships. Prasanna also discusses the impact of travel on food perceptions and the accessibility of travel and learning opportunities for everyone. In this conversation, Prasanna Veeraswamy shares his experiences and insights from traveling to different countries. He discusses the number of countries and cities he has visited, the unplanned nature of his travels, and the sacrifices he has made for his nomadic lifestyle. Prasanna also reflects on the impact of traveling on his appreciation of different cultures and the expansion of his food palette. He emphasizes the importance of exploring the world and understanding different markets for product development. The conversation concludes with a discussion on the evolution of personal identity through travel and the potential for future conversations on overlapping topics.
Takeaways
Traveling is a valuable form of education that provides personal growth and learning opportunities.Living in a place, even for a short period, allows for a deeper understanding of the culture and the ability to build meaningful relationships.Food perceptions can vary greatly between different countries and regions, and experiencing local cuisine is an important part of travel.Travel and learning opportunities are accessible to everyone, and it is possible to balance travel with professional life. Traveling to different countries allows for a deeper understanding and appreciation of different cultures.The number of countries and cities visited can vary based on personal circumstances and opportunities.Unplanned travel can lead to unexpected adventures and opportunities to explore new places.Traveling often requires sacrifices, such as stability and financial considerations.Experiencing different cuisines can expand one's food palette and provide a deeper connection to different cultures.Understanding local markets and cultures is crucial for effective product development.Traveling can contribute to personal growth and the evolution of one's identity.Future conversations can explore overlapping topics related to travel, culture, and product development.
Chapters
00:00 Introduction to Prasanna Veeraswamy03:06 The Unique Experience of Traveling to Every Country06:02 The Education and Personal Growth of Travel09:29 Balancing Travel and Professional Life10:53 The Topic: Learnings from Global Travels about Gaps in App Localizations12:14 Factors that Shape a Person15:31 The Impact of Living in Different Countries19:14 The Difference Between Traveling and Living in a Place23:17 Understanding Culture and Building Relationships26:55 The Influence of Travel on Food Perceptions30:38 The Importance of Being on the Ground36:53 The Accessibility of Travel and Learning Opportunities38:41 Traveling to Different Countries40:08 The Number of Countries and Cities Visited41:05 Unplanned Traveling43:41 Appreciating and Remembering the Travel Experiences45:55 Sacrifices Made for Traveling47:24 The Impact of Traveling on Appreciating Different Cultures49:22 Completing the Loop of Traveling to All Countries52:19 Expanding the Circle of Food Experiences56:14 Favorite Food Item57:20 Consistency in Food Preferences58:24 Evolution of Personal Identity01:02:27 Understanding Different Markets and Cultures01:05:38 The Importance of Traveling for Product Development01:08:34 Future Conversations on Overlapping Topics01:12:07 Closing Thoughts on Traveling and Exploration
Prasanna Veeraswamy's Links:
LinkedIn Profile
Book: One for the Road
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Saturday Jan 06, 2024
Impact of Gratitude, Forgiveness, Expectations on Mental Health (feat. Vidhi Vohra)
Saturday Jan 06, 2024
Saturday Jan 06, 2024
In this conversation, Krish and Vidhi discuss the topics of gratitude and forgiveness. They emphasize the importance of expressing gratitude towards oneself and others, as well as the positive impact it can have on mental health. Vidhi shares her personal experience of forgiving someone and the sense of relief it brought her. They also discuss the need to let go of expectations and focus on the present moment. Overall, the conversation highlights the power of gratitude and forgiveness in leading a happier and more fulfilling life. In this conversation, Vidhi and Krish discuss the interconnectedness of happiness and mental health. They explore the relationship between gratitude, forgiveness, and expectations, emphasizing the importance of continuous effort in maintaining mental well-being. They draw parallels between mental well-being and the execution of tasks in software development. Vidhi shares her personal journey of forgiveness and highlights the positive impact it has had on her mental state. They discuss the need for incremental action and self-forgiveness as the first step towards positive change. The conversation concludes with a reminder to be grateful for what one has and to spread happiness to others.
Takeaways
Expressing gratitude towards oneself and others can have a positive impact on mental health.Forgiving others can bring a sense of relief and contribute to personal growth.Letting go of expectations can lead to greater happiness and contentment in life. Gratitude, forgiveness, and mental well-being are interconnected and contribute to happiness.Continuous effort is required to maintain good mental health.Self-forgiveness is the first step towards positive change.Feeling gratitude for what one has can lead to a happier state of mind.Forgiveness allows for healthier relationships and personal growth.
Chapters
00:00 Introduction and Gratitude07:48 The Power of Gratitude16:02 The Importance of Forgiveness28:17 Managing Expectations39:22 The Interconnectedness of Happiness and Mental Health40:34 The Connection Between Gratitude, Forgiveness, and Expectations42:55 The Continuous Process of Working on Mental Well-being43:54 The Challenge of Sustaining Positive Feelings45:21 The Importance of Execution and Concentration47:33 The Effort Required for Positive Change49:55 Taking Incremental Action Towards Mental Well-being52:47 The First Step: Forgiving Yourself57:32 Feeling Gratitude for What You Have59:01 The Journey of Forgiveness01:03:45 Making an Effort for Positive Change01:07:39 The Importance of Mental Peace and Self-love01:10:12 Continuing the Journey of Gratitude
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Friday Jan 05, 2024
Fundamentals of Sales (feat. Deva Rangarajan)
Friday Jan 05, 2024
Friday Jan 05, 2024
In this conversation, Dr. Deva Rangarajan discusses the differences between sales, pre-sales, and marketing. He explains that marketing is about creating awareness and educating customers, while pre-sales helps customers formulate solutions and sales focuses on negotiating terms and conditions. Dr. Rangarajan emphasizes that these roles can be performed by the same person or different individuals, depending on the complexity of the business and customer needs. He also highlights the importance of understanding customer requirements, being patient, and having curiosity in sales. Additionally, he addresses the challenge of selling products you're not convinced about and the need for effective communication and listening skills in sales. In this conversation, Krish and Dr. Deva Rangarajan discuss the qualities of a salesperson, the importance of curiosity and listening skills, and the balance between passion and sales skills. They also explore the subjectivity in sales and the role of process in selling. The conversation concludes with closing remarks and an invitation for further questions.
Takeaways
Marketing creates awareness and educates customers, pre-sales helps formulate solutions, and sales negotiates terms and conditions.The roles of marketing, pre-sales, and sales can be performed by the same person or different individuals.Understanding customer needs and effectively communicating with them is crucial in sales.Being patient, curious, and having effective listening skills are important qualities in sales. Curiosity and listening skills are essential qualities for a salesperson.Passion for the business can be important, but sales skills are also crucial.Subjectivity is inherent in sales, and it is important to embrace it.Selling is both a process and an art form, requiring a balance of science and creativity.
Chapters
00:00 Introduction and Background04:00 Understanding Sales, Pre-Sales, and Marketing09:26 Sequence of Marketing, Sales, and Pre-Sales19:20 The Art of Convincing and Persuading23:01 The Role of Sales in Every Role27:33 Dealing with Selling Products You're Not Convinced About30:32 Understanding Customer Needs and Misinterpretations36:03 The Importance of Patience and Curiosity in Sales40:17 Qualities of a Salesperson42:13 Passion vs. Sales Skills43:22 Subjectivity in Sales44:28 Selling as a Process and an Art Form46:22 Closing Remarks
Dr. Rangarajan's Links
LinkedIn Profile
Ball State Sales Center
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Thursday Jan 04, 2024
(Part 2/2) Coaching and Self Development (feat. Dan Tudorache)
Thursday Jan 04, 2024
Thursday Jan 04, 2024
This conversation explores the gig economy and its impact on companies. It discusses the skills and training required for gig workers, as well as the integration of contractors into teams. The importance of human skills and the role of coaching in developing them is emphasized. The conversation also touches on the use of AI as a tool in problem-solving and consulting. Overall, it highlights the need for companies to adapt to changing challenges and leverage both human and AI capabilities.
Takeaways
The gig economy encompasses various sectors and requires different skills and training.Gig workers can have a significant impact on a company's image and performance.Integration and communication are crucial when working with contractors.Developing human skills and fostering relationships are essential for success in the gig economy.
Chapters
00:00 Understanding the Gig Economy05:20 Impact of Gig Workers on Companies06:25 Skills and Training for Gig Workers11:11 Integration of Contractors into Teams16:21 Building Skills and Relationships with Contractors19:34 The Importance of Human Skills21:20 Coaching and Developing Human Skills22:54 AI as a Tool in Problem Solving25:15 Adapting to Changing Challenges26:42 Using AI Tools in Consulting
Dan Tudorache's Details
LinkedIn Page: https://www.linkedin.com/in/dantudorache/
Vibe IT Up Podcast: https://www.linkedin.com/company/vibe-it-up/
EmpacITy company website: https://www.empacity.ro/
Personal webpage: https://www.dantudorache.com/
Tech Career Accelerator Program: https://www.empacity.ro/tech-career-accelerator-program/
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Thursday Jan 04, 2024
(Part 1/2) Coaching and Self Development (feat. Dan Tudorache)
Thursday Jan 04, 2024
Thursday Jan 04, 2024
In this podcast episode, Dan Tudorake discusses game-based learning and its implementation in the tech industry. He shares insights on how game-based learning can be applied to software teams and how it can benefit different roles within an organization. Dan also explains how his coaching and gaming sessions are structured and the typical audience composition.
Takeaways
Game-based learning is an effective approach to training and development in the tech industry.
Game-based learning can be implemented to improve collaboration and problem-solving skills within software teams.
Training sessions should be tailored to the specific needs and interests of different roles within an organization.
Gaming sessions can be organized for groups of various sizes and should include participants from different departments and roles.
Dan Tudorache's Details
LinkedIn Page: https://www.linkedin.com/in/dantudorache/
Vibe IT Up Podcast: https://www.linkedin.com/company/vibe-it-up/
EmpacITy company website: https://www.empacity.ro/
Personal webpage: https://www.dantudorache.com/
Tech Career Accelerator Program: https://www.empacity.ro/tech-career-accelerator-program/
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Wednesday Jan 03, 2024
(Part 2/N) Terraform: Import Existing Resource
Wednesday Jan 03, 2024
Wednesday Jan 03, 2024
In this episode of the Terraform series, we continued from where we left off in the previous podcast. We created a Docker container, cloned the example repository, and initialized Terraform. We generated configuration using Terraform plan and imported a resource while modifying the configuration. We pruned the generated configuration and applied changes, handling destructive changes. We also troubleshooted and fixed errors along the way. Overall, we made progress in understanding Terraform and managing Docker containers using Terraform. In this second podcast of the Terraform series, Krish continues exploring the Terraform documentation and learning as he goes. He demonstrates how to modify the Terraform configuration by replacing placeholder values and making necessary changes to the config files. Krish also shares the commands he used, including Docker run, Docker PS, Terraform plan, Terraform apply, and Terraform show. He concludes the podcast by summarizing the progress made and inviting viewers to check out the next episode.
Takeaways
Terraform allows you to manage infrastructure using a common workflow
Importing resources into Terraform requires defining an import block and generating configuration
Destructive changes should be carefully managed and tested
Troubleshooting errors in Terraform requires understanding the configuration and resource dependencies Modifying the Terraform configuration involves replacing placeholder values and making necessary changes to the config files.
Commands like Docker run, Docker PS, Terraform plan, Terraform apply, and Terraform show are useful in the Terraform workflow.
The Snowpal platform offers APIs and SaaS products that can be used to power back-end systems and accelerate development processes.
Snowpal provides flexible options for using their products, including pay-per-use, monthly plans, and commercial licenses.
Chapters
00:00 Introduction and Recap
02:01 Creating a Docker Container
05:19 Cloning the Example Repository
08:16 Initializing Terraform and Generating Configuration
10:04 Understanding Main.tf and Terraform.tf
11:46 Generating Configuration with Terraform Plan
15:50 Importing a Resource and Modifying Configuration
18:21 Pruning the Generated Configuration
20:50 Applying Changes and Handling Destructive Changes
27:31 Troubleshooting and Fixing Errors
36:44 Recap and Conclusion
50:29 Modifying the Terraform Configuration
52:28 Summary and Next Steps
53:26 Using Snowpal APIs and SaaS Products
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators
Friday Dec 29, 2023
Friday Dec 29, 2023
The conversation explores the transformation of education and the future of learning. It discusses the role of research and research communities in shaping education. The importance of a well-rounded education and the need to adapt to market needs are highlighted. The conversation also delves into how real-time education will change and the potential disruption of the traditional education system. The role of humans in future education is examined, along with the vision for a more personalized and automated learning experience. An anecdote is shared to illustrate the challenges in traditional education. In this conversation, Krish and David discuss the impact of automation and AI on education. They explore the challenges and benefits of personalization in learning, as well as the potential loss of the human element. They also discuss the importance of building trust with digital entities and the future of education in a hyper-personalized world. They touch on the balance between automation and human interaction, using the example of playing chess. Ultimately, they emphasize the need to embrace change and make choices that prioritize the things that truly matter.
Takeaways
Education is undergoing a transformation, driven by advancements in technology and the need to adapt to market demands.
Research and research communities play a crucial role in shaping the future of education.
Real-time education and personalized learning experiences will become the norm.
The traditional education system is likely to be disrupted, leading to new models and approaches.
The role of humans in education will evolve, with digital technologies and automation playing a significant role. Automation and AI have the potential to dramatically change education, offering personalized learning experiences.
While personalization can enhance learning, it may also lead to a loss of the human element in education.Building trust with digital entities is crucial in a hyper-personalized world.
The future of education will involve a balance between automation and human interaction.
Chapters
00:00 Introduction and Setting the Stage00:53 Transformation of Education: Research and Research Communities06:31 Well-Rounded Education and Adapting to Market Needs11:25 Interacting with Real-Time Education19:47 Disruption of Traditional Education System30:49 The Role of Humans in Future Education41:10 Research, Training, and Execution in Education46:07 The Vision for Future Education47:31 Anecdote: Challenges in Traditional Education48:01 Introduction to Advanced Calculus49:26 The Challenge of Personalization50:26 The Potential Lack of Human Element51:31 Building Trust with Digital Entities52:29 Interacting with Teachers in a Hyper-Personalized World53:52 The Future of Education and Personalization55:25 The Balance Between Automation and Human Interaction56:52 The Example of Playing Chess57:22 The Importance of Human Personalization01:03:17 Finding a Balance in a Changing World01:06:00 Embracing Change and Making Choices01:10:42 Prioritizing the Things That Matter
Snowpal Products:
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Web App
Education Platform for Learners and Course Creators