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
![[Paid Course] Snowpal Education: Amazon DynamoDB - Introduction](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: Amazon DynamoDB - Introduction
Monday Oct 30, 2023
Monday Oct 30, 2023
If you work on Serverless Architectures, and are building Lambdas on AWS, it’s highly likely you are already using DynamoDB, & if you aren’t, it’s only a matter of time before you realize you really ought to :)
While there’s no dearth of NoSQL databases, and despite the fact that AWS has plentiful support (to varying degrees) for a number of them, DynamoDB is a slightly unique database and it has a specific purpose when it comes to where it fits in & how well it does.
Given that, it’s certainly useful to understand it a bit (better).
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Serverless Applications - AWS SAM Specification](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
Monday Oct 30, 2023
Serverless Applications have been around a bit, and it's hard to see any ecosystem in a company where they do not play a part.
There's a lot to Serverless Apps so what we'll do in this course is focus on what it takes to build AWS Server Applications using SAM Templates.
SAM Templates are an extension of AWS CloudFormation Templates but are a whole lot easier to work with (at least, once you get the hang of it).
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Multi Tenant Architecture - Options](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: Multi Tenant Architecture - Options
Monday Oct 30, 2023
Monday Oct 30, 2023
We serve multiple clients via our Backend as a Service systems, and given that, multi tenancy is a core part of our architecture. While nothing is etched in stone and things are always subject to change, there are certain aspects of Software Architecture that, if you are not careful about, will be rather costly to make alterations to, and Multi Tenancy is definitely one of them. So, we explored several different options before arriving at the one we ended up implementing.
When it comes to multi tenancy, there’s at least 4 options available, and which one you should ideally go with depends on a variety of factors. In this course, we are going to take a deeper look at each of these 4 architectures and review their pros and cons. The objective is that by the end of this course, you will have a good understanding of multi tenancy, and therefore, will be in a slightly better position to evaluate your choices, and go with the one that makes the most sense for your organization.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Asynchronous Messaging With RabbitMQ](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: Asynchronous Messaging With RabbitMQ
Monday Oct 30, 2023
Monday Oct 30, 2023
What you do not need to do “real time”, you should try not to do real time for a variety of reasons. In this course, we’ll look at a specific implementation that uses RabbitMQ as a Message Broker to better understand the pros and cons of various alternatives, including but not limited to whether or not you need to use messaging at all to solve such a problem.
We’ll touch upon Kafka a tiny, tiny bit but keep our focus primarily to Messaging Architecture in general, and RabbitMQ as a broker in particular. By the end of this course, you should be in a position to tell when you need to use a Message Broker, which one you may want to use, and how you should go about using it.
While what we’ll look at is a Ruby Microservice implementation, the learning would be just as applicable to other brokers and other languages.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Flutter App - Implement Tabs](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: Flutter App - Implement Tabs
Monday Oct 30, 2023
Monday Oct 30, 2023
Flutter as a Framework provides a rich set of components, thereby enabling you to focus on spending all your energies on your business requirements. So, even when you need to implement tabs, you have the choice of using the OOTB Flutter Tab Widget, or finding one that’s a tad richer by going to pub.dev.
Snowpal’s Mobile Apps are on the App and Play Stores, and while we’ve built a number of custom components, we refrain from doing it (or using a 3rd party plugin) unless we find significant value in doing so. As far as Tabs go, we are quite happy with what Flutter supports and all our tab implementations use the underlying Flutter Tab widgets.
In this course, we’ll look at one of our Tab Implementations where I’ll walk you through our code so you get a sense of how tabs work in Flutter, and how you can easily leverage them.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: SQL Vs NoSQL - Which Way to Go?](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: SQL Vs NoSQL - Which Way to Go?
Monday Oct 30, 2023
Monday Oct 30, 2023
SQL (or RDBMS) has been around for a long time now. NoSQL databases are relatively newer but they too have been around for what feels like an eon now! Despite that, every time a new App, a new Service, or a new System is designed, there continues to be a sense of uncertainty around which direction to go (at least, it seems that way).
There’s a few reasons for that, and there’s no single correct answer. So, while it surely depends on a variety of factors, and there is no dearth of documentation online about the differences between the 2 types of database systems, I still think it is worth a short course on it.
In this hour-long course, we’ll take another look at the database options available today, and try to determine which ones would make the most sense, and when.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: JSON Data Modeling - A Simple Example](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: JSON Data Modeling - A Simple Example
Monday Oct 30, 2023
Monday Oct 30, 2023
You can represent hierarchical data in many ways with one of the most popular formats being JSON. If you are a UI developer, you are likely consuming JSON Data, and if you are a server side engineer, you are providing JSON Data (via REST or Graph APIs, for instance).
It is imperative that your JSON Schema looks accurate and is a true structural representation of the problem you are setting out to solve. If it isn’t, it’s surely going to cause a bit of pain as your product’s adoptability grows (think backward compatibility, refactoring, extensibility, and more such challenges).
In this course, we will take a recent feature we implemented on our Web App, and design the actual JSON Data Model alongside exploring alternative structures.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Authenticating Subscribers Using API Key & Product Code](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
Monday Oct 30, 2023
You will need to provide an API Key for you to authenticate your API Requests. There’s many ways to generate this key and share it with your subscribers, and in this course, we’ll look at one of those ways.
In addition, you will likely also need to publish an API code to your subscribers if you have listed more than 1 SaaS Product (say, on the AWS Marketplace, or one of the many API Hubs).
I’ll walk you through our high level architecture so you can leave this course with a fair understanding of what it took us to support these 2 attributes (API Key & Product Code) in our implementation.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Creating Products on AWS Marketplace](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
[Paid Course] Snowpal Education: Creating Products on AWS Marketplace
Monday Oct 30, 2023
Monday Oct 30, 2023
AWS Marketplace offers multiple categories for you to list your products under, one of which is SaaS. If you are looking to sell SaaS products, and are an AWS customer, I highly recommend that you list your products in the marketplace as it will provide plenty of visibility for you.
In this course, I’ll walk you through the process of listing a SaaS product on AWS Marketplace as it can be a tad overwhelming at times. We launched a number of API products recently, and I will be sharing that experience with you in this course.
The aim is that by the end of this course, you’ll have a good sense of what it takes to list your products on the marketplace.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.
![[Paid Course] Snowpal Education: Designing UI & UX for a New Feature on a Web App](https://pbcdn1.podbean.com/imglogo/image-logo/8090054/Podcast_Logo_2__rkadhf_300x300.jpg)
Monday Oct 30, 2023
Monday Oct 30, 2023
We implement new features (and enhancements) on a daily basis at Snowpal, and while how we approach each of those features from a UI/UX standpoint really depends, and is driven primarily by the feature and its complexities, there are many aspects of our approach that are generic to almost all features and enhancements.
In this course, we’ll take a look at a simple feature to help understand what the process looks like. We’ll start with Requirements, discuss User Experience (UX), immediately followed by User Interface (UI). Note that we’ll be focusing on a Web Application but a lot of what we learn would be just as applicable to Mobile Apps as well.
Purchase course in one of 2 ways:
1. Go to https://getsnowpal.com, and purchase it on the Web
2. On your phone:
(i) If you are an iPhone user, go to http://ios.snowpal.com, and watch the course on the go.
(ii). If you are an Android user, go to http://android.snowpal.com.