Become a Better Software Developer by Building Your Own Redis Server

5.0

(4 ratings)

·

4 Weeks

·

Cohort-based Course

This course will help you become a better software engineer by building your own Redis server.

Course overview

Become a better software developer by building a real-world application (Redis).

Course Content:

An introduction to Redis, how it’s built and the data structures it uses.


How to break a project down into steps.


Choosing a technology stack for a project.


The benefits and use of Architecture Decision Records.


Using Test Driven Development to develop software.


Automating build and test in a CI pipeline.


Code reviews - how to review code and the benefits of code reviews.


Network programming - how to write programs that talk over a network.


A look at the tradeoffs between threading and async when building servers.


Performance optimisation.

Who is this course for

01

New developers who want to learn how to build robust software from scratch by breaking a project down into steps then managing delivery.

02

Mid-level developers who want to learn how to sharpen their skills, improve their unit testing and gain experience code reviewing.

03

Senior+ developers who want to learn from their peers and gain insights on how others tackle real-world problems with a hands on project.

04

Engineering Managers - who want to remain hands on and refresh their understanding of current software development methodologies.

What you’ll get out of this course

Learn about Redis, how it's built, and the data structures behind it

Redis is one of the most widely used key-value / NoSQL databases. It's also a great example of the power of Open Source software, great code and great documentation.

Learn how to approach breaking a software development project into small stages

Learn how to break a software project into small achievable stages when developing from scratch.

Learn to use Architecture Decision Records to document and share key software architecture decisions

Learn about these lightweight documents that capture important architectural decisions along with the when, how and why of the decision.


Learn when to make use of them in a software development project and how they can help us maintain high quality software.

Learn about Test Driven Development

Discover how test driven development can allow us to make progress on delivering software without needing a fully functional system.


Get to grips with the testing libraries in your chosen technology stack and use them to build high quality software.

Build a CI pipeline for your project

Build a CI pipeline for your Redis Server to automate the build and test of the server allowing rapid iteration.

Learn how to review code and receive code review feedback

You will learn how to review code.

You will also learn how to review code you've never seen before, potentially in a programming language you've never used.

Learn network programming

You'll be building a server that will accept incoming network connections and handle multiple concurrent clients.

Learn to consider threading versus async code for concurrency

Gain an understanding of the limitations of threading and the challenges of async code so you can make informed decision when building servers or other concurrent code.

This course includes

Interactive live sessions

Lifetime access to course materials

14 in-depth lessons

Direct access to instructor

13 projects to apply learnings

Guided feedback & reflection

Private community of peers

Course certificate upon completion

Maven Satisfaction Guarantee

This course is backed by Maven’s guarantee. You can receive a full refund within 14 days after the course ends, provided you meet the completion criteria in our refund policy.

Course syllabus

Expand all modules
  • Post-Course

    Modules

    • Redis and TDD

    • Data Structures and Concurrency

    • More Commands, Benchmarking and Performance Optimisation

Meet your instructor

John Crickett

John Crickett

I'm a software engineer and sometimes a manager of software engineers. I've worked as both a senior individual contributor (Staff+) and a senior manager (VP Engineering, Head of Software Development).


I've worked across many tech stacks. I've spent most of the last six years building distributed systems with Python and Flask deployed on AWS using CloudFormation and some CDK.


Recently I've done some TypeScript/JavaScript, React and Next.js on the frontend with Node.js and Express on the backend. All deployed on AWS using CDK.


For most of my career before that I worked in C++. I'm coming the full circle now and currently learning Rust. Coding Challenges was born out of the process of learning Rust by building real-world applications.

A pattern of wavy dots
Be the first to know about upcoming cohorts

Become a Better Software Developer by Building Your Own Redis Server

|

Bulk purchases

Course schedule

4-8 hours per week
  • Mondays & Thursdays

    1:00pm - 2:00pm EST

    For 45 minutes to an hour each Monday and Thursday there will be a live session to introduce the next projects and conduct peer reviews and group discussions led by me.

  • Weekly projects

    2-6 hours per week

    You should expect to spend 2 to 6 hours per week to complete the assigned study and project work.

Learning is better with cohorts

Learning is better with cohorts

Active hands-on learning

This course builds on live workshops and hands-on projects

Interactive and project-based

You’ll be interacting with other learners through breakout rooms and project teams

Learn with a cohort of peers

Join a community of like-minded people who want to learn and grow alongside you

Frequently Asked Questions

What happens if I can’t make a live session?
I work full-time, what is the expected time commitment?
What’s the refund policy?
What programming language can I use?
Does each participant develop their own clone or is it like a team project?

Stay in the loop

Sign up to be the first to know about course updates.

A pattern of wavy dots
Be the first to know about upcoming cohorts

Become a Better Software Developer by Building Your Own Redis Server

|

Bulk purchases