Course 793:
SaaS Developer Qualification Program

 

Program Overview

Traditional developments combine the efforts of many developers, spread across multiple teams to deliver software in big releases. New versions of software are periodically purchased and upgrades can be disruptive and costly.

SaaS (Software as a Service) environments use a different approach. Software is purchased using a self-service, subscription model. Large applications are divided into microservices that can be managed by small teams. Deployments are automated using a DevOps approach and installation risks are mitigated using the cloud.

This program consists of three 3-day sessions spread across multiple weeks. It challenges developers’ current thinking and promotes a mindset change that is more Agile, customer-focused, and driven by quality and value. The program will produce developers capable of using the cloud to build SaaS applications using a microservice architecture.

Prerequisites

Students should be experience software developers. A basic understanding of programming, web development, and cloud computing is assumed.

Pre-Program Assessment

ROI will produce and administer a pre-course exam and survey to assess the skill levels and goals of students prior to attending the training.

Post-Program Assessment

Students will be given a case study to work on during the length of the program. There will also be a final project presentation and an exam to validate what they have learned.

Progress Monitoring

During the program, students are expected to work in teams to produce a real application. This is not limited to only class time. They are also given self-study assignments to advance their knowledge between sessions. Their ROI instructor will mentor them between sessions.

SaaS Developer Certification

ROI and you will work together to define certification requirements that demonstrate student’s successful participation in this program.

 


Course Contents

 

Module One – Engineering SaaS Applications (3 Days)

This module teaches an overview of SaaS development and demonstrates how these principles can be applied in real-life scenarios. Students begin by learning how to think like SaaS developers and are then given an introduction of cloud computing. Students are assigned a project and are expected to work in teams to program it using techniques outlined in the training.

  • Introduction to SaaS Development
    • What Is SaaS?
    • Goals for SaaS
  • Building a SaaS Development Culture
    • SAFe (Scaled Agile Framework)
    • Building an Agile Development Culture
    • DevOps
  • Value-Driven Development
    • Case Study Introduction
    • User Stories
    • Activity: Writing User Stories
    • Estimating Effort
    • Estimating Value
    • Activity: Estimation
    • Prioritization
    • Activity: Building the Backlog in Jira
  • User-Centered Design
    • UX Design
    • Feature-Driven Development
    • Specifying Feature Requirements
    • YAGNI
    • Activity: Designing the Use Case User Interface
  • Test-Driven Development
    • Conditions of Satisfaction
    • Defining Acceptance Criteria
    • ..When…Then Format
    • Activity: Defining Conditions of Satisfaction and Acceptance Criteria
    • Testing Overview
    • Test Automation
    • Unit Testing
    • Mocking
    • Activity: Writing Unit Tests
    • Integration Testing
    • End-To-End Testing
    • Activity: End-To-End Testing
  • Code Quality Principles
    • Code Smells
    • Clean Code Principles
    • Activity: Review of Code Samples
  • Cloud Computing
    • Overview of Cloud Computing
    • Characteristics of Cloud Applications
    • IaaS
    • PaaS
    • SaaS
    • Data Services
    • Cloud Storage Solutions
    • NoSQL Data Solutions
    • Caching and CDN
    • Managed SQL
    • Infrastructure Services
    • Compute Services
    • Networking
    • Platform Services
    • PaaS
    • Containers
    • Server-less Applications
    • Big Data Services
    • Data Warehousing and Analysis
    • ETL
    • Hadoop and Spark
    • Asynchronous Messaging
  • Building Cloud Services and Applications
    • Projects
    • Docker
    • Creating a REST API
    • Creating an AngularJS Front End
    • Configuration
    • Deployment
    • Activity: Creating a Cloud Service
  • Project Homework
    • New user stories will be given for the students to integrate into the case study
    • Suggestion for further study will be given
    • Self-Study Prep for Week 2 (Git, Gradle)
  • Project Review
    • Between sessions, students will have an online review with the ROI coaching team to present what they have worked on
Module Two – Programming Microservices in the Cloud (3 Days)

This week students continue working on their case study project, incorporating new features as requirements are introduced. They will use continuous integration to set up an Agile release train. We also cover microservices design and architecture and integrating cloud services into your projects.

  • Review of Case Study Homework
  • Continuous Integration
    • Source Control
    • Package Managers
    • Build Server
    • Test Integration
    • Automated Deployment
    • Versioning
    • A/B Testing
    • Activity: Continuous Integration
  • Building Microservices
    • Service-Oriented Architecture
    • Microservice Architecture
    • REST
    • Testing-Services
    • Mocking Services
    • Microservice Boundaries
    • Domain-Driven Design
    • Versioning
    • Security
    • Organizing Microservices
    • Activity: Designing Microservices
  • Cloud APIs
    • Enabling APIs
    • API Examples
    • Discovery
    • Machine Learning APIs
    • Activity: Integrating APIs into your Case Study
  • Asynchronous Messaging
    • Introduction to Publish/Subscribe Messaging
    • Publishers
    • Subscribers (Push and Pull)
    • Activity: Asynchronous Messaging
  • Data Flows
    • Overview
    • Pipelines
    • Dataflow Projects
    • Inputs and Outputs
    • Transformations
    • Activity: Creating a Basic Dataflow
    • Transformations
    • Streaming Data flows
    • Windowing
    • Activity: Streaming Data Flows
  • Big Data Analysis
    • Big Data Introduction
    • Datasets and Tables
    • Importing Data
    • Jobs
    • Running Jobs and Queries
    • Activity: Big Data Analysis
  • Project Homework
    • New user stories will be given which will require a new microservice
    • Suggestion for further study will be give
  • Project Review
    • Between sessions students will have an online review with the ROI instructor to present what they have worked on
Module Three – Architecting SaaS Applications in the Cloud (3 Days)

The focus of this week is on security and cloud architecture. Students are given a final project that they are expected to design a solution for. Students will be expected to present their solutions to demonstrate that they have mastered the material.

  • Review of Homework
  • Security
    • IAM
    • User Accounts
    • Service Accounts
    • Roles and Permissions
    • OAuth2
    • Authorization
    • Activity: Authentication and Authorization
  • Architecting Cloud Applications
    • Understanding which Services to Use
    • Designing for Fault Tolerance
    • Dealing with Latency
    • Understanding Cost
    • Case Studies
    • Activity: Case Studies
  • Choosing Data Sources
    • Traditional vs. Cloud Data Considerations
    • Managed SQL
    • NoSQL
    • Document Databases
    • Activity: Case Studies
  • Architecting Web Applications
    • Elastic Scalability
    • Load Balancing
    • Message Queueing
    • Dealing with Failure
    • Server-Side Code
    • JavaScript Frameworks
    • Activity: Case Studies
  • Architecting Web Services
    • Service-Oriented Architecture
    • Microservice Architecture
    • SOAP
    • REST
    • REST APIS
    • Discovery
    • XML
    • JSON
    • Activity: Case Studies
  • Putting It All Together
    • Reviewing Principles of SaaS
  • Final Project and Presentation
  • Retrospective

Please Contact Your ROI Representative to Discuss Course Tailoring!