Training & Mentoring

Private, Customized Training

We help your team ramp up on new tech.

Whether you need formal training, advice on how to choose or use the appropriate technologies on your next effort, or even need to pair program with one of our experts, Chariot is here to help. We offer:

Tailored Training
Mentoring
Reviews
Project Advisor

Formal Offerings

Here are some of our more formal offerings. If you don’t see what you need, contact us and we’ll be in touch to see how and if we can help.

Training

In-person (or online) instructor-led training courses, tailored for your specific needs.

Mentoring

In-person or online side-by-side, we’ll help you level up your teams in small groups.

Reviews

Let us review your architecture, code and approach and recommend improvements.

Project Advisory

Allocate hours with our training consultants for as-needed spot advice.

Get In Touch

Specific Technologies

Need custom training on a specific technology? We offer tailored training in the following areas to suit your needs.

Amazon Web Services (AWS)

We can get your team up to speed with AWS, including configuring and managing accounts and organizations, developing and deploying applications. You can use this information to begin your development team’s certification process or to jumpstart a move to AWS.

Networking
Includes VPC fundamentals and high availability.

IAM
Identity and Access Management, including policies, roles, and users/groups.

EC2
Including custom AMIs, load balancers, auto-scaling.

S3
Amazon’s Simple Storage Service, including availability and other features.

Lambda
Including triggers and use with Application Load Balancers.

Containers
Elastic Container Service (ECS) and Elastic Kubernetes Service (EKS), building, configuring and deployment.

Monitoring
CloudWatch, CloudTrail, load balancer access logs, and X-Ray.

AWS Services
Overview of other AWS services, focusing on data management and messaging.

Architecture
An introduction to the “AWS Well Architected” framework.

Get In Touch

React

React is the preeminent component technology on the web today, and has recently reached out into servers with the advent of React Server Components (RSC) and frameworks like Next.js and Remix.run. We’ve consulted and taught React for years, and know the ins and outs of getting things done, React style.

TypeScript and ECMAScript 2015+
If your team is new to modern JS or TypeScript we can help level them up.

JSX
Thorough introduction of JSX syntax and features.

Components
Learn how to break down your application into functional components.

Props, State and Context
Handling props, state, context, higher order components, etc.

Forms
Controlled and Uncontrolled forms, various ways to handle form state and actions.

Advanced Hooks
Handling RESTful backends, managing shared data, and other hooks-based features.

Routing
Developing multiple-view applications with React Router

Redux and Reducers
How to simplify shared state with Redux or by using the Reducer hook

Testing
Writing unit tests with Jest, functional tests with react-test-library

Server-side Rendering and Static Site Generators Review of modern server-driven React frameworks such as Next.js and Remix.run

Get In Touch

Angular Fundamentals

Before React, there was Angular. Before Angular there was Angular.js. We were there for both waves. If your team is working with (or wrestling with) Angular, reach out and we can help you wrestle the technology, getting control of your services, components, testing and application architecture.

TypeScript and ECMAScript 2015+
If your team is new to modern JS or TypeScript we can help level them up

Components
Learn how to break down your application into components, managing state, and handling inputs and outputs

Directives
Learn to add features to your elements by developing and attaching directives.

Dependency Injection
Angular uses dependency injection to configure components, services, and more.

Services
Angular shared/business logic lives in services.

Forms
Angular's reactive and declarative forms libraries.

Pipes
Transform data in component templates into suitable display formats

Routing
Developing multiple-view applications with React Router

RxJS
Angular heavily uses RxJS as a reactive data streaming library

Testing
Writing unit tests with Angular's Test classes or Jest

Get In Touch

Enterprise Java With Spring Boot

Even before front-end and AWS technology, there was Java, and with Java came Spring. Today’s Spring is powered by Spring Boot, and Chariot has leveraged it effectively across a myriad of technologies, deploying on servers, the cloud and other spaces. We can get your teams up to speed with Spring Boot, help integrate it with your front-end React applications, use it as a backend-for-frontend for RESTful integration with other techs, and more.

The Spring Container and Dependency Injection
Learn how the container manages the lifecycle of Spring Beans and how they are wired with Dependency Injection

Configuring the Application Context
How to configure an application context for console, web applications, and via Spring Boot

Creating Spring Beans
Creating beans via annotations, java configuration, factories

Services, Repositories, Controllers
Specialized Spring beans to deal with shared business logic, database APIs, and REST/front-end services

Spring Data
Spring's data abstraction libraries include JPA, Redis, JDBC, MongoDB and more

Testing Strategies
Spring has testing strategies for unit, integration, JDBC and MVC/REST endpoints

Get In Touch

Full-stack AWS Development with ECS and TypeScript

For the greenfield projects that need ultra-low latency and high responsiveness, Lambdas and serverless won’t always cut the mustard. Where appropriate we’ve leveraged container-based Dockerized applications on Kubernetes and Elastic Container Service. Let us get your project started quickly with this accelerator and mentor your developers in how to do container-based cloud right.

Configuring the full stack via CloudFormation or Terraform
The two most popular configuration-as-code libraries are CloudFormation and Terraform.

Authentication with Cognito
How to configure Cognito to provide user creation, management and authentication.

Application User and Group Management
Setting up new users, adding users to groups, and validating group access.

A sample app server
We review a sample application server in Node.js using Nest.js.

React front-end applications
We review a front-end React application and how to configure it to access the application server.

Local Development and Builds
How to build and run the full stack with a Dockerized database, native Node.js application server and React application for debugging, rapid development.

Key AWS Services
We use a VPC, Load Balancer, NAT Gateway, Secrets Manager, RDS, ECS, and other services.

Deploying and management in the Cloud
Review the devops tools such as CodeBuild, CodePipeline and GitHub Actions and how to deploy to AWS.

Get In Touch

Modern Java Training

A three-day course updating developers on modern features of Java. The course assumes knowledge of imperative (not functional) Java development techniques, Java annotations, and other base language features. It steps through innovations in Java language, SDK and functional programming features from 8.x to present day (currently JDK 20). Plenty of code samples will be shared along the way.

Overview
Java until version 7.0 (baseline)
Core shifts from Version 8.0: functional programming, etc.
The Java Community Process, projects, JEPs
Major changes from Java 8 to Java 20

Language Enhancements
var, pattern matching, switch expressions, multi-line strings, effectively final variables, sealed classes and interfaces, default methods and static interface methods, records.

SDK Features
java.time API, the Http Client, Request and Response, String formatting, simple web server, File read/write with String, List conversions, etc.

Functional Programming with Lambdas Optional, HttpClient async mode with CompletableFuture, method references, @FunctionalInterface annotation, Predicates, BiFunctions, filtering, and(), or() and not(), Lambdas as function expressions, example Lambdas, variable capture.

Streaming APIs
What is a stream? creating streams from collections, random sequences, filter, map, reduce, grouping, using Suppliers to generate data, why not Lambdas?

JDK and Tooling
Oracle’s newer Java licensing rules and OpenJDK alternatives, the SDKMAN utility, JShell, JDK Mission Control, Flight Recorder, JCMD, GraalVM, an overview of Garbage Collection algorithms.

Tools Used
IntelliJ community edition
OpenJDK 20
JDK Mission Control
Maven

Note:
This course can be tailored to focus on a given set of features. Please contact us for more details.

How can we help you?

Partner with Chariot for high quality training and mentoring.


* These fields are required.