Herkko Hietanen

Herkko Hietanen

Helsinki

While working as a lawyer at a web company, I challenged myself to learn the technologies we used. During the nights and weekends I turned from a lawyer to a coder. For me web design and development is intellectually fun, creative and highly addictive.

30,501

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

    Turre Legal, Verkkolakimies

  • Job Title

    Lawyer

396 Achievements

  • Quiz Practice Project
  • JavaScript Arrays
  • Getting the REST You Need
  • JavaScript Loops
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Getting Started with MongoDB
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Improving Our Todo App
  • Getting Started with Angular
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Interactive Visualizations
  • Styling and Scaling Data
  • Data Binding with D3
  • Selections with D3
  • Simple Mobile Interface
  • Building a Command Line Application
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Introduction to Node.js
  • Creating an SVG
  • Introduction to SVG
  • AngularJS Directives
  • Services and Dependencies
  • Two-way Data Binding
  • AngularJS MVC Frameworks
  • Creating Distributable OOP Packages
  • Error Handling
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • JavaScript Functions
  • JavaScript Conditional Statements
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • JavaScript Numbers
  • An Overview of WordPress Frameworks
  • JavaScript Variables
  • Introducing JavaScript
  • PHP Loops
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Making sense of it all
  •  Learning activity: Interviewing
  • Learning activity: Field Observation
  • Learning activity: Experience Sampling
  • Finding participants for your learning activity
  • Solving an Important Problem
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Getting Started with Compass
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • PHP Datatypes
  • Concurrency
  • PHP Conditionals
  • Start menu and App Icon
  • Sound Design
  • Moving from WordPress.com to Self-Hosted WordPress.org
  • 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
  • Control Flow
  • Collections
  • Operators
  • Types
  • Swift Functions
  • Variables and Constants
  • 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
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Next Steps
  • Financing Our Company
  • Treehouse Club - JavaScript
  • PHP Data & Structure
  • PHP Getting Started
  • Treehouse Club - CSS
  • Getting Started with Android
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Getting Started with WordPress
  • Local WordPress Development
  • Welcome to the Treehouse Club
  • Structuring Tables
  • Table Basics
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Admin Color Schemes
  • Customizing the Login Screen
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Shopping List
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Soft Skills - Psychology
  • Animating and Saving Sprites
  • Designing Characters and a Scene
  • Introduction to Game Design
  • WordPress User Roles
  • WordPress.com Social Features
  • Building a WordPress.com Site
  • Getting Started with WordPress.com
  • Customizing WordPress
  • Managing Comments
  • Adding and Editing Content in WordPress
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • Marketing and Promotion
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Configuring WordPress
  • Querying the Database
  • Connecting to MySQL
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Joining Relational Data Between Tables in SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Getting Started with WordPress
  • WordPress Admin Settings
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • The WordPress Codex
  • Applying & Interviewing
  • The Job Search
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • Professional Development
  • Personal Branding
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Writing Online
  • 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
  • Getting Started with PHP
  • Metrics
  • Networking
  • Sales
  • Pricing
  • Financing Your Company
  • From Idea to Execution
  • Making Money
  • Marketing Strategy
  • Introduction to Accounting
  • Marketing Basics
  • Forming Your Company
  • Corporate Structure
  • Why Start a Business?
  • Creating a Simple Drawing Application
  • Creating Home Page Assets
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Applying Effects
  • How to Draw in Illustrator
  • Productivity
  •  Adding Color and Type
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Designing Email with CSS
  • Going Mobile
  • Coding HTML Email
  • HTML Email Basics
  • Creating an Icon
  • Introduction to Illustrator
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Creating a Simple Lightbox
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Build a Website With Bootstrap
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Workflow Basics
  • Slices & Save for Web
  • Prototyping With Bootstrap
  • Vector Shapes
  • Masks Basics
  • Type Tools
  • Layer Basics
  • Workspace Basics
  • Testing the Whole App
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Rails Routing
  • Setting Your Course
  • Writing Tests
  • Customizing Ruby on Rails Forms
  • Ruby on Rails Authentication
  • Customizing Colors and Fonts
  • Rails Frontend Development
  • Getting Started With Rails
  • Installing a Ruby Development Environment
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Responsive Web Design and Testing
  • Creating HTML Content
  • CSS: Cascading Style Sheets
  • Customizing Google Maps
  • Google Maps Integration
  • jQuery Plugins
  • Form Validation and Manipulation
  • Introduction to jQuery
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • HTML First
  • Careers in the Tech Industry
  • Self-Assessment
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • JavaScript Objects
  • JavaScript Functions
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Why Version Control Matters
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Web Apps
  • Websites
  • Getting a WordPress Site
  • Beginning HTML and CSS
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Introduction to Front-End Frameworks
  • The Logo Sprint
  • Logo Design 101
  • Flexbox and Multi-Column Layout
  • Color Theory
  • Principles
  • Elements
  • Gradients
  • Website Basics
  • DNS Basics
  • Graphic Basics
  • Web Typography
  • Introduction
  • Backgrounds and Borders
  • Introduction to Data, Databases and SQL
  • Chrome DevTools Basics
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Selectors
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Finding Your First Project
  • Starting a Freelance Career
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Presentation Skills
  • Important Skills For Professional Success
  • Getting Started with CSS
  • Moving Around in the Console
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie