Erik McClintock

Erik McClintock

Seattle, WA

After only my first few months spent learning with Treehouse, I was able to land a job as a Web Developer, where I worked for over two years. I now work as an Automation Engineer at a large gaming studio, going on 3 years.

45,783

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

    n/a

  • Job Title

    Automation Engineer

  • Spoken Languages

    • English

531 Achievements

  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • Scala Collections
  • Functional Programming with Scala
  • Improving Quality Assurance Practices
  • Query Builder
  • Query Operators
  • Functional!
  • Now You're Querying!
  • Loops and Final Touches
  • Encapsulation with Properties
  • Unit Testing
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Bokeh Visualizations
  • Bokeh Data
  • Character Builder
  • Flask Templates
  • Welcome to Flask
  • Data Eruption
  • Chart Toppers
  • Getting Started with Data Visualization
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Python Sets
  • Build an Application
  • Using Lists
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Getting the REST You Need 2
  • Introducing IntelliJ and Unpacking Packages
  • Memory, Arrays and Loops, Oh My!
  • Getting Oriented - Object-Oriented, That Is
  • Immersive Examples
  • Scope and Loops
  • More Operators
  • Operators and Conditionals
  • Data Types and Variables
  • Intro to Objective-C
  • Introduction to Enumerations
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Python Tuples
  • UI Testing with Espresso
  • Unit Testing - Now Featuring Robolectric!
  • Unit Testing
  • The Rest of the Story
  • Finishing the User Interface
  • The Model-View-Presenter Pattern
  • Intents and Multiple Activities
  • Tuning the User Interface
  • User Input in Android
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Buggy Logs
  • Cleaner Code
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Behavior Driven Development with Mocha & Chai
  • Next Steps
  • Improving Our Tests
  • Introducing Unit Testing
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Setting Up Your Local Environment for Spring Development
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • What to Test
  • How To Test
  • Why Test
  • Advanced Tooling
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Getting the REST You Need
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Getting Data from a Database
  • Data, Databases and SQL
  • Cart, Checkout and Account Templates and Hooks
  • Global and Product Templates and Hooks
  • Getting Started with WooCommerce Theme Development
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Running an Ecommerce Site Long Term
  • Extending WooCommerce
  • Managing Orders in WooCommerce
  • Managing Products in WooCommerce
  • The Internet
  • Workflows
  • Working With Remote Repositories
  • Merging
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Contact Forms & Mailers
  • Slim and Templates
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • Creating a Password Confirmation Form
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Launching and Supporting a WordPress Plugin
  • Building WordPress Template Tags, Widgets, and Shortcodes
  • Connecting WordPress Plugins with 3rd Party APIs
  • Building a WordPress Plugin Settings Page
  • How WordPress Plugins Work
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Custom WordPress Customizer Settings
  • Native WordPress Customizer Options
  • Overview of the WordPress Customizer
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Customizing the Login Screen
  • Admin Color Schemes
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Setup a Bootstrap Theme
  • The Local Development Environment
  • What is the MailChimp API
  • Dependency Management
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • WWW
  • Chrome DevTools Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • Marketing and Promotion
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Designing with the Latest Features
  • Working with Media Queries
  • CSS Animation Basics
  • Flexbox Layout
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • The WordPress Codex
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Computer Languages
  • Computer Basics
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Building a Command Line Application
  • Introduction to Node.js
  • Fundamental Concepts
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Starting Right with PHP Best Practices
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Creating a Mobile Drop Down Menu
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • WordPress User Roles
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Structuring Tables
  • Table Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Welcome to the Treehouse Club
  • Treehouse Club - CSS
  • Treehouse Club - JavaScript
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • Getting Started with Advanced Sass
  • JavaScript and the DOM
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Ins & Outs
  • Things That Count
  • Say Hello to Python
  • Introduction to Game Design
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Preparing to Code WordPress Templates
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Grid Layout
  • WordPress Theme Functions
  • WordPress Theme Templates
  • Content Strategy with WordPress
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • DNS Basics
  • Graphic Basics
  • Website Basics
  • 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
  • Creating Home Page Assets
  • Applying Effects
  • How to Draw in Illustrator
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • 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
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • 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
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • The Logo Sprint
  • Logo Design 101
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Color Theory
  • Principles
  • Elements
  • Web Apps
  • Websites
  • Introduction
  • Customizing Google Maps
  • Google Maps Integration
  • jQuery Plugins
  • Form Validation and Manipulation
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • 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
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Values and Units
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Website Basics
  • Newbie