Tommy Gebru

Tommy Gebru

San Francisco, CA

Affinity for web & ui design, programming - 6 years. ___________ Customer Success Engineer (SQL, API, JS, CRMs)

30,148

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Spoken Languages

    • Bilingual
  • Looking for work

    Yes

346 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
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Exploring Async/Await
  • What is the MailChimp API
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • Captioning Video
  • Media Basics
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Introducing 'Four in a Row'
  • What is Asynchronous Programming?
  • Programming AJAX
  • AJAX Concepts
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Checking Out and Returning a Book
  • Starting with Some Methods
  • The Rough Plan
  • Practicing Getters and Setters
  • Getters and Setters
  • Practicing Classes
  • Practicing Object Basics
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • Stateful Components
  • Thinking in Components
  • Installing Sass and Setting up the Project
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • 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
  • Finishing the Game
  • Introducing JavaScript
  • Data Binding with D3
  • Selections with D3
  • Classes
  • Objects and New Collection Types
  • Improving the Application Code
  • Editing and Filtering Names
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • First Steps in React
  • Introducing Unit Testing
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Introducing jQuery Plugins
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Building a Command Line Application
  • Moving Around in the Console
  • Introduction to Node.js
  • Controlling Layout with CSS Display Modes
  • Hello, GitHub!
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Getting Started with CSS Layout
  • Prototypal Inheritance
  • Creating a Simple Drawing Application
  • Traversing and Manipulating the DOM with JavaScript
  • Creating a Password Confirmation Form
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Creating a Mobile Drop Down Menu
  • Constructor Functions & Prototypes
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • The Internet
  • Introduction to Methods
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • What is Agile?
  • Getting Started with Sass
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • Creating Home Page Assets
  • Applying Effects
  • How to Draw in Illustrator
  • Graphic Basics
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Ruby Strings
  • The Box Model
  • Understanding Values and Units
  • WWW
  • Basic Selectors
  • Getting Started with CSS
  • Computer Languages
  • Computer Basics
  • Ins & Outs
  • Say Hello to Python
  •  Adding Color and Type
  • Choosing Options
  • Organizing Forms
  • Structuring Tables
  • Table Basics
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Form Basics
  • Welcome to the Treehouse Club
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • Creating an Icon
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Functional Programming in C
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • The Logo Sprint
  • Logo Design 101
  • Introduction to Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Media Queries
  • CSS Animations
  • Soft Skills - Psychology
  • What is User Experience (UX)?
  • Writing Online
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Color Theory
  • Principles
  • Elements
  • Flexbox Layout
  • Grid Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Protecting Yourself With Contracts
  • Finding Your First Project
  • Starting a Freelance Career
  • Fundamentals of C
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Presentation Skills
  • Important Skills For Professional Success
  • Website Basics
  • Productivity
  • Objects, Classes, and Variables
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Ruby Basics
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • 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
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie