Jon Goodey

Jon Goodey

Member Since January 28, 2013

33,092

Total Points

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

Skills & Experience

  • Job Title

    Software Developer

  • Spoken Languages

    • English
    • Spanish

440 Achievements

  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Planning for Performance
  • Measuring Performance
  • Optimize Assets
  • Combine and Minify Assets
  • Exterminator
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • Callbacks and the DOM
  • Callbacks with Timers
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Getting the REST You Need 2
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • “Clean” or “Dirty” Data
  • Bringing It All Together
  • The Cash Flow Statement
  • LTV Analysis by Example
  • Meet Python
  • What is LTV?
  • The Balance Sheet
  • The Profit & Loss Statement
  • Introducing Financial Statements
  • Moving Beyond the Blog
  • Playing a Counting Game
  • Creating Reports
  • Charts and Tables
  • Exporting
  • Cleaning Data
  • Additional Scraping Tasks
  • A World Full of Spiders
  • Introducing Data Scraping
  • Meet Selenium
  • Why Web Performance Matters
  • Access for Everybody
  • Writing a Classifier
  • The Internet
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Error Checking
  • Conditional Formatting
  • Pivot Tables
  • LOOKUP Functions
  • Getting Started with Data Visualization
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Security: Solutions
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Usability Testing
  • Usability Basics
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Simple Mobile Interface
  • Exporting Designs
  • Sketch Features
  • Getting Started with CSS Transitions
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Practicing Data Visualization in Excel
  • Chart Formatting and Layout
  • When To Use What Type of Chart
  • Introduction To Data Visualization
  • Interactive Visualizations
  • Styling and Scaling Data
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Security: Concerns
  • Describing Data
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Getting to Know Bootstrap 4
  • Installing WordPress Locally
  • Regular Expressions
  • The Browser Environment
  • Finishing the Game
  • Introducing JavaScript
  • Introduction to Callback Functions
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • Customizing Drupal
  • Modules and Themes
  • Site Building with the Drupal Interface
  • Learn About Drupal
  • Stateful Components
  • Thinking in Components
  • Understanding Flexbox
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Assets and Game Objects
  • The 3D Views
  • Views
  • Controllers
  • Project Setup
  • First Steps in React
  • Handling Rails Requests
  • Creating Rails Apps
  • Getting Started with Data Science
  • Building API Routes in Express
  • Building a REST Service
  • Social Media
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Introduction to MEAN
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Perform
  • Console I/O
  • Prepare and Plan
  • Build and Share a Unity Game
  • Game Audio
  • Score, Enemies, and Game State
  • Pickups
  • Player Input and Cameras
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Introducing Sketch
  • What is User Experience (UX)?
  • The Logo Sprint
  • Logo Design 101
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • PHP Properties & Methods
  • PHP Objects and Classes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • An Overview of the Genesis Framework
  • An Overview of WordPress Frameworks
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Archive Templates in WordPress
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Page and Post Templates in WordPress
  • How to Install WordPress on Your Computer
  • Data Binding with D3
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • Introducing JavaScript
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Migrations and Relationships
  • How To Test Our Code
  • The Production Server
  • The Staging Server
  • The Local Development Environment
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • The WordPress Codex
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Setup a Bootstrap Theme
  • What is Agile?
  • Selections with D3
  • Computer Languages
  • Computer Basics
  • WWW
  • Controllers
  • Routes and Templates
  • Getting Started with Ember.js
  • Two-way Data Binding
  • Introduction to Node.js
  • Creating an SVG
  • Introduction to SVG
  • AngularJS MVC Frameworks
  • AJAX and APIs
  • jQuery and AJAX
  • Exploring Ember
  • Programming AJAX
  • Getting Started with Android
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • 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
  • Solving an Important Problem
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Using a Data Model
  • Email with Rails
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Getting Started with Xcode
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Variables, Mixins, and Extending Selectors
  • AJAX Concepts
  • JavaScript Functions
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • JavaScript Arrays
  • JavaScript Numbers
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Connecting WordPress Plugins with 3rd Party APIs
  • Building a WordPress Plugin Settings Page
  • How WordPress Plugins Work
  • Launching a WordPress Site
  • WordPress and Forms
  • Converting Static HTML into WordPress Templates
  • Extending WordPress Template Functionality
  • Preparing to Code WordPress Templates
  • WordPress Theme Templates
  • Local WordPress Development
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Getting Started with Android
  • Getting Started (iOS7)
  • Beyond the Basics
  • Advanced Objective-C
  • Foundation Framework
  • Introduction to Objective-C
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • Sass and Rails
  • Productivity
  • Remember Me
  • Chrome DevTools Basics
  • Flexbox and Multi-Column Layout
  • Gradients
  • Advanced Selectors
  • Introduction to Game Design
  • Introduction to ActiveRecord
  • Web Apps
  • Websites
  • Introduction
  • JavaScript Strings
  • Web Typography
  • Text, Fonts, and Lists
  • Values and Units
  • Creating a Simple Lightbox
  • Backgrounds and Borders
  • CSS Box Model
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Getting Started with Sass
  • Beginning HTML and CSS
  • HTML First
  • Creating Friendships
  • Grid Layout
  • Rails Deployment
  • Building the Profile Page
  • Testing the Whole App
  • Rails Routing
  • Writing Tests
  • Selectors
  • Customizing Ruby on Rails Forms
  • Installing a Ruby Development Environment
  • Getting Started with CSS
  • Ruby Loops
  • Ruby Methods
  • Ruby Arrays
  • Ruby Numbers
  • Forms
  • Tables
  • WordPress Theme Functions
  • Content Strategy with WordPress
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Ruby Procs & Lambdas
  • Installing Programs
  • Environment and Redirection
  • Ruby Blocks
  • Ruby Strings
  • Ruby Hashes
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Graphic Basics
  • DNS Basics
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • jQuery Plugins
  • Reading Data from Databases with SQL
  • JavaScript Objects
  • Introduction Variables
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Ruby on Rails Authentication
  • Getting Started With Rails
  • Rails Frontend Development
  • Objects, Classes, and Variables
  • Introduction to jQuery
  • Introduction to Responsive Web Design
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Ruby Basics
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Getting Started with PHP
  • Text Editors and HTML
  • Website Basics
  • Listing Inventory Items
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Newbie