Joe Bruno

Joe Bruno

East Coast

35,909

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

    STRALA

  • Job Title

    Senior Software Engineer

  • Spoken Languages

    • English
  • Looking for work

    Yes

469 Achievements

  • What a Beautiful Vue!
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Docker Use Cases
  • Fundamentals of Docker
  • Building Images Using Dockerfiles
  • Dockerize a Web App
  • Managing Images and Containers
  • Introducing Vue
  • Getting the REST You Need 2
  • Why Version Control Matters
  • Working With Remote Repositories
  • Workflows
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • A World Full of Spiders
  • Introducing Data Scraping
  • Console Users and Permission
  • Moving Around in the Console
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Getting Started with GraphQL
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Go Flow Control Overview
  • Go Syntax Overview
  • PHPDB Stage 1: Databases and PHP
  • Environment Variables
  • PHP Includes
  • PHP on the Web
  • Getting Familiar with HTML and CSS
  • Flexbox Properties
  • Understanding Flexbox
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Controllers
  • Project Setup
  • Getting Started with Data Visualization
  • Installing WordPress Locally
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Test Drive
  • Meet Selenium
  • Joining Table Data with SQL
  • Subqueries
  • Set Operations
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Ordering, Limiting and Paging Results
  • Adding Data to a Database
  • Updating Data in a Database
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Creating and Modifying Database Tables
  • Perfecting the Prototype
  • Methods
  • Object-Oriented Programming
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Security: Solutions
  • Security: Concerns
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Creating an SVG
  • Introduction to SVG
  • Gems In Depth
  • Ruby Gems
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Shopping List App
  • Python Data Types
  • Logic in Python
  • Python: Instant Objects
  • Python For Beginners
  • Component Lifecycle
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Project Setup
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Why Object-Oriented Programming?
  • Console I/O
  • Improving Our Todo App
  • Exterminator
  • Controllers and Scope
  • Getting Started with Angular
  • Prepare and Plan
  • Selections with D3
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • 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
  • What is npm?
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Installing Sass and Setting up the Project
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Web Typography
  • Backgrounds and Borders
  • Float Layout
  • Flexbox Layout
  • Display Modes
  • Advanced Sass Concepts
  • Make Your Own AngularJS Widget
  • Extending Inputs
  • AngularJS Directives
  • Services and Dependencies
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Scrum Artifacts
  • AngularJS MVC Frameworks
  • Two-way Data Binding
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • What is the MailChimp API
  • Treehouse Club - JavaScript
  • Traversing and Manipulating the DOM with JavaScript
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Getting Started With Rails
  • Creating a Simple Server in Node.js
  • Ruby Blocks
  • Ruby Loops
  • Ruby Methods
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Ruby Hashes
  • Ruby Arrays
  • Using your New Tools
  • Getting Started with Java
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • JavaScript Objects
  • Ember Data
  • Exploring Ember
  • Models
  • Controllers
  • Routes and Templates
  • JavaScript Arrays
  • JavaScript Loops
  • Simple Mobile Interface
  • Sketch Features
  • Introducing Sketch
  • Exporting Designs
  • Using a Navigation Controller With Segues (Swift)
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Working With Multiple View Controllers (Swift)
  • Local WordPress Development
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Swift Inheritance
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Adding Search: Model
  • Paginating a List: Model and View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Adding Search: Controller & View
  • Swift Classes and Objects
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Selectors - Beyond the Basics
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • Getting Started with Xcode (ObjC)
  • Improving Our User Interface (ObjC)
  • Deploying to a Device (ObjC)
  • How To Test Our Code
  • JavaScript Objects
  • Building a Command Line Application
  • Introduction to Node.js
  • WordPress Header and Footer Templates
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • PHP Inheritance & Interfaces
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • PHP Internal Functions
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Color Theory
  • Principles
  • Elements
  • Going Mobile
  • Moving Forward with UX
  • Tools UXers Use
  • Introduction to Data, Databases and SQL
  • JavaScript Numbers
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Getting Started with Ember.js
  • Control Flow
  • PHP Returns & Closures
  • PHP Functions Basics
  • Media Basics
  • The WordPress Loop
  • WordPress User Roles
  • 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
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • 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 UXers Think
  • What Do User Experience Designers Do?
  • The Logo Sprint
  • Logo Design 101
  • Finalizing the Project
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Moving from WordPress.com to Self-Hosted WordPress.org
  • SMACSS and Sass
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Modular Media Queries
  • Sass Grid System
  • How WordPress Templates Work
  • Treehouse Club - CSS
  • Getting Started with Advanced Sass
  • 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
  • The WordPress Codex
  • DNS Basics
  • Graphic Basics
  • Chrome DevTools Basics
  • Website Basics
  • What is User Experience (UX)?
  • Welcome to the Treehouse Club
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Structuring Tables
  • Table Basics
  • Getting Started with WordPress
  • Paginating a List: Controller
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Launching and Supporting a WordPress Plugin
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Admin Color Schemes
  • Customizing the Login Screen
  • HTML First
  • Beginning HTML and CSS
  • Web Apps
  • Websites
  • Introduction
  • Form Validation and Manipulation
  • Introduction to jQuery
  • AJAX and APIs
  • jQuery and AJAX
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • Programming AJAX
  • AJAX Concepts
  • How WordPress Plugins Work
  • Getting Started with BuddyPress
  • PHP Properties & Methods
  • PHP Objects and Classes
  • 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
  • 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
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Merging
  • Branches
  • Getting Started With Git
  • Marketing and Promotion
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Introduction to Design
  • Content Strategy with WordPress
  • Customizing WordPress
  • Forming Your Company
  • Corporate Structure
  • Why Start a Business?
  • Objects, Classes, and Variables
  • Ruby Basics
  • Getting Started with PHP
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Framework Foundations
  • Page Layout
  • Data Types
  • Selectors
  • Introduction
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie