Jermaine Witter

Jermaine Witter

London, London, United Kingdom

An experienced Solution Engineer and Implementation Consultant, Web Technology and SaaS Solution enthusiast who is committed to life long learning and continuous development.

33,087

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Company

    Quantum Metric

  • Job Title

    Solutions Engineer

  • Spoken Languages

    • English

418 Achievements

  • Captioning Video
  • Media Basics
  • CSS Fundamentals
  • HTML Fundamentals
  • Getting Familiar with HTML and CSS
  • React Component Patterns
  • Stateful Components and the Effect Hook
  • Managing State
  • Data Flow
  • Build Modular Interfaces with Components
  • Understanding State
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • Creating a Command Line Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Managing Packages with NPM
  • Hello Node.js
  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Building a Linked List
  • Exploring Arrays
  • Searching Names
  • Sorting Algorithms
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Getting Started With Spreadsheets
  • Bar Charts, Histograms, and Pie Charts
  • Data Visualization Fundamentals
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Traversing the DOM
  • Access for Everybody
  • Build an Accessible Form
  • Introduction To Accessibility
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • The CSS Box Model
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Selectors - Beyond the Basics
  • Fundamental Concepts
  • Understanding Values and Units
  • Basic Selectors
  • Regular Expressions
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Introduction to Callback Functions
  • Gotchas and Wins
  • Iteration
  • Creation
  • Creating the Screen Layout
  • Getting Started with Android
  • Getting Started with CSS
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • JavaScript Frameworks, Libraries, and Developer Roles
  • Performing CRUD Operations
  • Defining Models
  • Getting Started with Sequelize
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Practicing Object Basics
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Asynchronous Code in Express
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Loop Through Objects
  • Object Basics
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Arrow Functions
  • Pass Information Into Functions
  • Create Reusable Code with Functions
  • The Math Object
  • Working with Numbers
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Programming AJAX
  • AJAX Concepts
  • Creating the Screen Layout
  • Getting Started with Android
  • Harnessing the Power of Objects
  • Meet Objects
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Security: Solutions
  • Security: Concerns
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Adding the Game Logic
  • Making the Game Interactive
  • Practicing Getters and Setters
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Checking Out and Returning a Book
  • Starting with Some Methods
  • The Rough Plan
  • Getters and Setters
  • Working with Classes in JavaScript
  • Practicing Classes
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Getting the REST You Need 2
  • Subqueries
  • Important Skills For Professional Success
  • Introducing Spreadsheets
  • Improving the Application Code
  • Editing and Filtering Names
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • JavaScript Outside of the Browser
  • Adding and Removing Names
  • Traversing the DOM
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Responding to User Interaction
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Making Changes to the DOM
  • Meet Selenium
  • Getting a Handle on the DOM
  • The Browser Environment
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Finishing the Game
  • Getting the REST You Need
  • Introducing JavaScript
  • Introduction to PHP for WordPress
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Introducing Scrum
  • What is Agile?
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Methods
  • Introduction to Typography
  • What is User Experience (UX)?
  • Simple Mobile Interface
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • WordPress Header and Footer Templates
  • The WordPress Loop
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • Database Security
  • Queries & Results
  • Contact Forms & Mailers
  • Slim and Templates
  • Getting Started with CSS
  • Dependency Management
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Getting Started with PDO
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Listing Inventory Items
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Routes and Templates
  • Getting Started with Ember.js
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Prototyping With Bootstrap
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Introduction to Front-End Frameworks
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Finding Good WordPress Plugins and Themes
  • Managing Comments on a WordPress Blog
  • Working with Media in WordPress Blogs
  • Posts and Pages in WordPress
  • Blogging with WordPress Overview
  • WordPress Admin Settings
  • WordPress User Roles
  • The WordPress Codex
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Getting Started with WordPress
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Structuring Tables
  • Table Basics
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Creating Home Page Assets
  • Applying Effects
  • How to Draw in Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • The Logo Sprint
  • Logo Design 101
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Color Theory
  • Principles
  • Elements
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie