Hi, I'm Chris Bailey

Profile picture of Chris Bailey
Canadian flag

When I was growing up, I dreamed of becoming a physicist. After my first year of university physics, I had my first taste of coding, and it was love at first sight!

I thoroughly enjoy every aspect of software development, which is why I am a full-stack developer. I get to play with the front-end, the back-end, and thanks to cloud computing, I'm also able to build the systems that run the application.

A focused software developer working on a computer in a dimly lit room, with a glowing light bulb symbolizing ideas and innovation. The screen shows various code and software elements, representing the depth of software development.

There is so much depth in the field of computers and I've worked on both the hardware and software sides. In any area of computers, you can continuously learn and never run out of those wonderful 'aha' moments that are so invigorating for the brain.

Currently, I'm working as a senior full-stack software developer at RLDatix. The application I work on is focused on patient safety in hospital settings, and due to some difficult personal experiences with healthcare, I am extremely motivated by our mission which is safer patient care.

Work Experience

A detailed schematic of a microservices system, showing various interconnected services and databases, with a central cloud infrastructure.
RLDatix Logo

Senior Software Developer at RLDatix

July 2019 - Present

I'm currently working as a Senior Full-Stack Developer at RLDatix, where I focus on enhancing patient safety through the development of robust, scalable solutions for a SaaS-based Policy Document Management System.

PolicyMedical Inc. Logo

Software Developer at PolicyMedical Inc.

August 2016 - July 2019

As a Software Developer at PolicyMedical Inc., I developed and deployed robust SaaS-based policy management solutions for over 3,000 healthcare organizations using AWS services.

 Logo

IT Consultant (Freelance)

June 2007 - August 2016

As an IT Consultant, I provided comprehensive services to small businesses, delivering expertise in areas such as software and hardware installation, security, data backup, web presence, email marketing, and digital marketing.

undefined Logo

Software Developer for Government of Canada

April 2006 - June 2007

As a Software Developer for the Government of Canada, I designed, developed, tested, and maintained software solutions that met the rigorous standards of the Canadian Federal Government.

undefined Logo

QA Analyst for Government of Canada

April 2005 - April 2006

Responsible for designing and executing test plans, identifying defects, and providing feedback to various development teams in order to ensure a stable and reliable production environment.

undefined Logo

Unix System Administrator for Government of Canada

November 2002 - April 2005

As a Unix System Administrator, I led a team responsible for the installation, configuration, and maintenance of on-site Unix servers.

Projects

Spring Microservices Bookstore Demo

Diagram of the Spring Microservices Bookstore showcasing a microservices architecture with various services and technologies like Docker, Kafka, Resilience4J, and PostgreSQL.

The Spring Microservices Bookstore Demo is a dynamic educational tool designed to showcase a robust microservices architecture using the Spring ecosystem and Docker.

It provides developers with a practical example of implementing microservices in real-world scenarios, focusing on principles like dynamic service discovery, centralized configuration, resilience, and message-driven architecture.

Technologies: Spring Boot, Spring Cloud, Spring WebFlux, Docker, Kubernetes, Java, Kotlin, Apache Kafka, Spring Cloud Gateway, Spring Cloud Netflix Eureka, Google JIB, GraphQL, Lombok, Mockito, Testcontainers, Resilience4J, OpenFeign, PostgreSQL, MongoDB, Spring Web, Spring Data JPA, Apache ZooKeeper, Zipkin, Prometheus, Grafana, Next.js, React.js, Tailwind CSS

View on GitHub

New Age Piano Website on Next.js 14

As a new age pianist and composer, I released a CD and a website to go alongside it a number of years ago. Initially crafted in HTML/CSS, my piano website underwent a transformation to Next.js 14 so that I could play with the newest version of the framework.

Next.js is a powerful React framework that provides built-in support for server-side rendering (SSR), static site generation (SSG), and more.

Technologies: Next.js, React.js, TypeScript, JavaScript, Vercel, SASS, Node.js, HTML, CSS

View on GitHubLive on Vercel

Lorem Ipsum Generator

I couldn't find a simple and easy-to-use Lorem Ipsum generator, so I coded one and shared it at loremipsumexpert.com. The code is actually quite complex, but the front-end UI should feel intuitive and simple.

This tool was my first project using PHP. It is hosted on WordPress, running on a Hostinger VPS, with traffic handled by Apache NGINX.

If you find a bug, I'll buy you a coffee!

Technologies: PHP, WordPress, Hostinger, VPS, Apache NGINX, Ubuntu

Live Website

Skills

Illustration of a developer's laptop surrounded by various technical skill icons viewed from the top.

The skillset of a full stack developer is like an iceberg. I could easily double the size of the list below depending on the scope, but that would lead to a big wall of text.

If I've left something out that is low-level like shell scripting, RESTful web services, or XML, just assume that I've worked with it.

Programming Languages

Java: Robust, object-oriented
Python: High-level, readable
JavaScript: Node.js made it fullstack
PHP: Server-side web scripting
SQL: Communicate with databases
HQL: Hibernate query language
Kotlin: Modern, concise JVM language
Groovy: Like Kotlin, but not popular
VB.NET: .NET framework language
Bash: Unix/Linux shell scripting

Frameworks & Libraries

Spring Framework: Java web framework
Django: High-level Python web framework
Next.js: React framework for SSR
Nuxt.js: Vue.js framework for SSR
Node.js: JavaScript runtime environment
Grails: Groovy-based Java framework
Lombok: Java library for boilerplate code
Maven/Gradle: Build tools
REST: CRUD operations through an API
GraphQL: Data query language for APIs

Front-End Technologies

React.js: popular JavaScript library
Vue.js: another JavaScript library
TypeScript: Typed superset of JavaScript
TailwindCSS: Utility-first CSS framework
SASS: CSS preprocessor
Thymeleaf: Java template engine
HTML: Standard markup language for web
CSS: Style sheet language
Bootstrap: older CSS framework
jQuery: older JavaScript library

Microservices

Spring Boot: Java projects instantly
Spring Cloud: Tools for distributed systems
Spring Cloud Gateway: API gateway
Spring Netflix Eureka: Service registry
Spring Web: Web framework for Java
Spring Data JPA: JPA data access
Spring Webflux: Reactive web framework
Apache Kafka: Distributed streaming
Apache ZooKeeper: Coordination service
AWS SQS: Message queuing like Kafka
AWS Lambda: Serverless compute service
Resilience4J: Fault tolerance library
OpenFeign: Declarative REST client
Docker Compose: Simplified deployment
Zipkin: Distributed tracing system
Prometheus: Monitoring and alerting
Grafana: Analytics and monitoring
Google JIB: Java container image builder

DevOps Tools

Docker: Containerization platform
Kubernetes: Container orchestration platform
Jenkins: Continuous integration server
Terraform: Infrastructure as code
Artifactory: Artifact repository manager
GitHub: Source code management

Deployment & Hosting Platforms

Amazon Web Services: Cloud services
Microsoft Azure: MS Cloud services
Vercel: Frontend cloud platform
Hostinger: Web hosting provider
Heroku: Cloud application platform

Infrastructure & Cloud Services

Amazon CloudWatch: Monitoring
AWS S3: Scalable storage in the cloud
AWS EC2: Scalable virtual servers
AWS RDS: Managed relational DB service
Apache Nginx: Performant web server

Databases

MySQL: Open-source relational database
PostgreSQL: Advanced open-source db
MS SQL Server: Relational database server
NoSQL: Non-relational database system
MongoDB: Document-oriented NoSQL
DynamoDB: Managed NoSQL service

Search Technologies

OpenSearch: AWS's search engine
Elasticsearch: Older AWS search engine
Solr: Enterprise search platform

Testing Frameworks

JUnit: Unit testing for Java
Mockito: Mocking framework for Java
Testcontainers: Container-based testing
Selenium: Browser automation tool

Methodologies & Design Principles

Agile Methodologies: Rapid prototyping
Design Patterns: GoF & microservices
Design Principles: SOLID, DRY, KISS
UML: Unified Modeling Language
Open-Source Development: Collaboration
TDD: Test-driven development

IDEs

IntelliJ IDEA: Powerful IDE
Visual Studio Code: Lightweight free IDE
Eclipse/STS: Spring Tool Suite

Operating Systems

Windows: Microsoft's OS
Ubuntu Desktop: Like Windows, but free
Linux: Popular open-source OS
Unix: Open-source OS

Contact

Feel free to reach out to me: chris.bailey.developer @ gmail.com

Please remove the spaces around the '@' character.

This is my incredibly advanced anti-spam technique!