David McNeill

David McNeill

Belfast, United Kingdom

Hi there! I'm a front-end developer from the UK and I started my first job in the industry thanks to Treehouse. My goal now is to expand my skill set even further and delve deeper into application development.

Skills & Experience

  • Company

    Atto Partners

  • Job Title

    Front-End Developer

528 Achievements

  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Gems In Depth
  • Ruby Gems
  • Ruby Standard Library: Part 2
  • Practicing Getters and Setters
  • Practicing Classes
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Store Inventory Using Modules
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • Practicing Object Basics
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • Input and Output
  • Search
  • Ruby Class Design
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • Adding a Model Attribute
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • What a Beautiful Vue!
  • Introducing Vue
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Going Further with Grid Layout
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Meet Python
  • Flexible Sized Grids
  • Introducing Grid Layout
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Finding the Data You Want
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Getting the REST You Need
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Refining the App
  • Building the Application
  • Why React Native
  • Setting up with Create React App
  • Component Lifecycle
  • Designing Dataflow
  • Installing WordPress Locally
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Exploration
  • Discovery
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Setup a Bootstrap Theme
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Finishing the Game
  • Introducing JavaScript
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Security: Solutions
  • Security: Concerns
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Getting Started with MongoDB
  • 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
  • Improving the Application Code
  • Captioning Video
  • Media Basics
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Editing and Filtering Names
  • Adding and Removing Names
  • Custom Post Type Templates
  • Modular Media Queries
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • ES2015 Basics
  • Getting a Handle on the DOM
  • The Browser Environment
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Building a Layout with Flexbox
  • Adding 3D Effects with CSS
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Hello, GitHub!
  • 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
  • Flexbox Properties
  • Understanding Flexbox
  • Getting Data from a Database
  • Data, Databases and SQL
  • Positioning Page Content
  • CSS Layout Project
  • Python For Beginners
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Sass Grid System
  • SMACSS and Sass
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Working with Media Queries
  • CSS Animation Basics
  • Selections with D3
  • More Advanced PHP for WordPress
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Quiz Practice Project
  • Prototypal Inheritance
  • The Internet
  • What is npm?
  • Getting to Know Foundation for Apps
  • Two-way Data Binding
  • AngularJS MVC Frameworks
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Using a jQuery Carousel
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • Getting Started with Jekyll
  • Creating an SVG
  • Introduction to SVG
  • Dependency Management
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • WWW
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Building a Command Line Application
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Introduction to Node.js
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • Simple Mobile Interface
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Computer Languages
  • Computer Basics
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • The WordPress Codex
  • JavaScript Variables
  • Introducing JavaScript
  • 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
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Compass Layout and Typography
  • Custom Media Players
  • Captioning Video
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • AJAX and APIs
  • Media Basics
  • jQuery and AJAX
  • Programming AJAX
  • Going Mobile
  • Designing Email with CSS
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Structuring Tables
  • Table Basics
  • Welcome to the Treehouse Club
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Listing Inventory Items
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Getting Started with WordPress
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Why Start a Business?
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • AJAX Concepts
  • Chrome DevTools Basics
  • Better SEO Through Tools
  • Better SEO Through Code
  • What is User Experience (UX)?
  • Better SEO Through Content
  • Introduction to SEO
  • 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
  • Local WordPress Development
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • 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
  • Ruby Testing
  • Standard Library
  • Ruby Core
  • Ruby Modules
  • Ruby Procs & Lambdas
  • Ruby Blocks
  • Ruby Loops
  • Ruby Methods
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Objects, Classes, and Variables
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Functional Programming in C
  • Fundamentals of C
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Introduction to Front-End Frameworks
  • Installing a Ruby Development Environment
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Important Skills For Professional Success
  • Usability Basics
  • Social Media
  • Customizing Google Maps
  • Google Maps Integration
  • Creating Home Page Assets
  • Applying Effects
  • How to Draw in Illustrator
  •  Adding Color and Type
  • Web Apps
  • Websites
  • Coding HTML Email
  • HTML Email Basics
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • DNS Basics
  • jQuery Plugins
  • Form Validation and Manipulation
  • The Logo Sprint
  • Logo Design 101
  • JavaScript Objects
  • Introduction
  • JavaScript Functions
  • JavaScript Arrays
  • Creating an Icon
  • Introduction to Illustrator
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Learning the Language
  • Getting Started with iPhone
  • Introduction to jQuery
  • Advanced Techniques
  • Responsive Design
  • Workflow Basics
  • Graphic Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Color Theory
  • Principles
  • Elements
  • Website Basics
  • Ruby Basics
  • Getting Started With Rails
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • 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
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Advanced Selectors
  • Selectors
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie