Joe Bruno

Joe Bruno

East Coast
Open to Work

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

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