Jonathan Sweeney

Jonathan Sweeney

Portland, OR

Greetings! I am an ARNG Infantry Vet who served in OIF and OEF. I made the jump into the software world a few years ago. I am currently transitioning from Android to iOS development/testing.

14,559

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

    NIKE

  • Job Title

    Mobile QA Automation Engineer

  • Awards

    • Bronze Star Medal
    • Valley Forge Cross for Heroism

188 Achievements

  • Data, Databases and SQL
  • Higher Order Functions
  • Scala Collections
  • Functional Programming with Scala
  • Generic Types
  • Generic Functions, Parameters and Constraints
  • Adding Sound Effects
  • Personalizing The Story
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Writing Great Swift
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Visual Format Language
  • Auto Layout in Code
  • Trait Collections
  • Inequalities, Content and Priorities
  • The Constraint Equation
  • A History Lesson
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Objects and Optionals
  • Introduction to Optionals
  • 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
  • Animation Basics
  • An Introduction to Swift Programming
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Themes and Compatibility
  • Using Styles in Layouts
  • The Rest of the Story
  • Finishing the User Interface
  • The Model-View-Presenter Pattern
  • Hello Kotlin!
  • 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
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • UI Testing with Espresso
  • Getting There
  • Getting Started with Java
  • Perform
  • Console I/O
  • Prepare and Plan
  • Website Usability
  • Layer Basics
  • Workspace Basics
  • Simple Mobile Interface
  • Selectors - Beyond the Basics
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Introducing Adobe Illustrator
  • Fundamental Concepts
  • Designing with the Latest Features
  • What is User Experience (UX)?
  • Basic Layout
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Exploring Ember
  • Ember Data
  • Models
  • Controllers
  • Routes and Templates
  • Getting the REST You Need
  • Getting Started with Ember.js
  • Controllers and Scope
  • Getting Started with Angular
  • The Logo Sprint
  • Logo Design 101
  • Welcome to Gulp.js
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • PHP Email Forms
  • What is npm?
  • Building a Command Line Application
  • Introduction to Node.js
  • PHP Inheritance & Interfaces
  • 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
  • PHP Properties & Methods
  • PHP Objects and Classes
  • PHP Inventory
  • PHP Includes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • 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 a Simple Drawing Application
  • Prototyping With Bootstrap
  • Working with Media Queries
  • Merging
  • Branches
  • Working With Remote Repositories
  • Getting Started With Git
  • Why Version Control Matters
  • Moving Around in the Console
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Ins & Outs
  • Say Hello to Python
  • Newbie