SlideShare une entreprise Scribd logo
1  sur  160
Télécharger pour lire hors ligne
Building Indeed Resume
Search
David Tulig
DAVID TULIG
TECH LEAD
JOB SEARCH TEAM
I help
people
get jobs.
Jobseekers Job
Jobseekers Job
We learned from
Job Search
The web evolved
PRINCIPLES
Simple
Fast
Comprehensive
Relevant
PRINCIPLES
Simple
Fast
Comprehensive
Relevant
GOALS
Responsive user
experience
javas
javas
javascript
javascript jquery
javascript html
javascript html css
javascript
javascript
javascript jquery
javascript html
javascript html css
Maintainable code
Re-usable
components
Separate presentation
and logic
Fast
GOALS
Responsive UX
Maintainable code
Fast
Library support
Google Closure Tools
Closure Library
array asserts async color crypt
cssom date disposable dom ds
editor events format functions fx
gears global graphics history i18n
iter json locale math messaging
module net positioning proto
proto2 pubsub result soy spell
stats storage string structs style
testing text tweak ui userAgent vec
array asserts async color crypt
cssom date disposable dom ds
editor events format functions fx
gears global graphics history i18n
iter json locale math messaging
module net positioning proto
proto2 pubsub result soy spell
stats storage string structs style
testing text tweak ui userAgent vec
Modular and
independent
Application
dom events style
Application
dom events style
arrayobject
Application
dom events style
arrayobject string
Application
dom events style
arrayobject string
Application
dom events style
arrayobject string
Application
dom
events
style
array
object
string
goog.provide('indeed.Search');
goog.require('goog.dom');
goog.require('goog.events');
/* Search */
indeed.Search.validateLocation =
function() {...};
goog.provide('indeed.Search');
goog.require('goog.dom');
goog.require('goog.events');
/* Search */
indeed.Search.validateLocation =
function() {...};
Application
dom events style
arrayobject string
Unit testing
Closure Templates
Closure Compiler
whitespace_only
simple_optimizations
advanced_optimizations
Type checking
Unused code removal
/** Alias for getElementById. If a DOM node is
passed in then we just return */
goog.dom.getElement = function(element) {...};
/** Looks up elements by both tag and class name,
using browser native functions */
goog.dom.getElementsByTagNameAndClass = function(opt_tag,
opt_class, opt_el) {...};
/** Returns an array of all the elements
with the provided className. */
goog.dom.getElementsByClass = function(className,
opt_el) {...};
/** Returns the first element with the provided className. */
goog.dom.getElementByClass = function(className, opt_el) {...};
/** Alias for getElementById. If a DOM node is
passed in then we just return */
goog.dom.getElement = function(element) {...};
/** Looks up elements by both tag and class name,
using browser native functions */
goog.dom.getElementsByTagNameAndClass = function(opt_tag,
opt_class, opt_el) {...};
/** Returns the first element with the provided className. */
goog.dom.getElementByClass = function(className, opt_el) {...};
/** Alias for getElementById. If a DOM node is
passed in then we just return */
goog.dom.getElement = function(element) {...};
/** Looks up elements by both tag and class name,
using browser native functions */
goog.dom.getElementsByTagNameAndClass = function(opt_tag,
opt_class, opt_el) {...};
/** Returns an array of all the elements
with the provided className. */
goog.dom.getElementsByClass = function(className,
opt_el) {...};
/** Returns the first element with the provided className. */
goog.dom.getElementByClass = function(className, opt_el) {...};
/** Alias for getElementById. If a DOM node is
passed in then we just return */
goog.dom.getElement = function(element) {...};
/** Looks up elements by both tag and class name,
using browser native functions */
goog.dom.getElementsByTagNameAndClass = function(opt_tag,
opt_class, opt_el) {...};
/** Returns the first element with the provided className. */
goog.dom.getElementByClass = function(className, opt_el) {...};
/** Alias for getElementById. If a DOM node is
passed in then we just return */
goog.dom.getElement = function(element) {...};
/** Returns an array of all the elements
with the provided className. */
goog.dom.getElementsByClass = function(className,
opt_el) {...};
Aggressive renaming
Let's build Resume
Search
Resume Search
architecture
Browser Server
q=javasc
Browser Server
q=javasc
{
"suggestions" : [
"javascript",
"javascript jquery",
"javascript html",
"javascript html css",
"javascript ajax"
]
}
AutoComplete
AutoComplete
Search
Preview
Autocomplete
Search
Preview
Location
Autocomplete
Search Preview
Query
Autocomplete
A Possible Approach: Tightly Coupled Modules
Use events
{
"suggestions" : [
"javascript",
"javascript jquery",
"javascript html",
"javascript html css",
"javascript ajax"
]
}
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler
1.New
text"javasc"
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler2.Getsuggestions
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler3.Suggestions
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler
4.Render
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler
6.Clickon"javascript"
Autocomplete
Text Handler
Drop Down
Handler
RPC Handler
6.Settextto
"javascript"
Search App
AutoComplete
Text Handler
Drop Down
Handler
Search
RPC Handler
Search App
AutoComplete
Text Handler
Drop Down
Handler
Search
RPC Handler
Awesome
Search App
AutoComplete
Text Handler
Drop Down
Handler
Search
RPC Handler
Search App
AutoComplete
Text Handler
Drop Down
Handler
Search
RPC Handler
Search App
AutoComplete
Text Handler
Drop Down
Handler
Search
RPC Handler
User interface
Templates
Server or client?
indeed.com/resumes?q=java
indeed.com/resumes?q=java
HTML
Time
indeed.com/resumes?q=java
LOAD JSHTML
Time
indeed.com/resumes?q=java
AJAX RESULTSLOAD JSHTML
indeed.com/resumes?q=java
JS REQ JS RESP AJAX REQ AJAX RESPHTML + DATA AJAX RESULTSLOAD JS
Time
indeed.com/resumes?q=java
JS REQ JS RESPHTML + DATA LOAD JS
indeed.com/resumes?q=java
HTML + RESULTS
Time
indeed.com/resumes?q=java
HTML + RESULTS JS REQ JS RESPLOAD JS
indeed.com/resumes?q=java
HTML + RESULTS JS RESPLOAD JS
Server or client?
Server AND client!
Don't repeat yourself
Closure Templates
template.soy
Closure Template
Compilernew TofuRenderer()
template.js
one template. all requests.
/resumes?q=javascript Server Rendering
/resumes?q=javascript Server Rendering
Controller
/resumes?q=javascript
Controller
Model
Server Rendering
/resumes?q=javascript
Controller
Model
new TofuRenderer()
Server Rendering
/resumes?q=javascript
Controller
Model
new TofuRenderer()
HTML
Server Rendering
/instant?q=javascriptClient Rendering
/instant?q=javascript
Controller
Client Rendering
/instant?q=javascript
Controller
Model
Client Rendering
/instant?q=javascript
Controller
Model
JSON
Client Rendering
/instant?q=javascript
Controller
Model
template.js
JSON
Client Rendering
/instant?q=javascript
Controller
Model
template.js
JSON
Client Rendering
HTML
/resumes?q=javascript /instant?q=javascript
Controller
Model
new
TofuRenderer()
HTML
template.js
JSON
Don't repeat yourself
Application
Application
Browser
Library
Browser
Library
Browser
Templates
Library
Browser
Templates Application
HTML LIBRARY TEMPLATES APPLICATION
Time
COMBINED
Time
HTML
COMPILED
Time
HTML
Application size
whitespace_only 126k
whitespace_only 126k
simple_optimizations 108k
whitespace_only 126k
simple_optimizations 108k
49k advanced_optimizations
RESUME SEARCH
Re-usable components
Responsive UX
Fast initial load
[video of http://www.indeed.com/resumes]
We learned from
Resume Search
jobsearch.js
jobsearch.js 41k
jobsearch.js 41k
jobsearch_v2.js 35k
6K MATTERS
6K MATTERS
6k reduction
6K MATTERS
6k reduction
546 GB / month
6K MATTERS
6k reduction
546 GB / month
428 hours / month
david tulig
twitter: @dtulig
indeed.com/resumes
engineering.indeed.com

Contenu connexe

Tendances

Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?Steve Taylor
 
Enough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas ZakasEnough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas ZakasKubide
 
Java Script - A New Look
Java Script - A New LookJava Script - A New Look
Java Script - A New Lookrumsan
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeDan Taylor
 
Ajax Overview by Bally Chohan
Ajax Overview by Bally ChohanAjax Overview by Bally Chohan
Ajax Overview by Bally ChohanWebVineet
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Startedguest1af57e
 
Building Your First App with MongoDB
Building Your First App with MongoDBBuilding Your First App with MongoDB
Building Your First App with MongoDBMongoDB
 
Demystifying Keyword Driven Using Watir
Demystifying Keyword Driven Using WatirDemystifying Keyword Driven Using Watir
Demystifying Keyword Driven Using WatirHirday Lamba
 
Chatbot - The developer's waterboy
Chatbot - The developer's waterboyChatbot - The developer's waterboy
Chatbot - The developer's waterboyRichard Radics
 
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsMeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsSimo Ahava
 
Play with Angular JS
Play with Angular JSPlay with Angular JS
Play with Angular JSKnoldus Inc.
 
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologiesgeorge.james
 
Morphing GA into an Affiliate Analytics Monster
Morphing GA into an Affiliate Analytics MonsterMorphing GA into an Affiliate Analytics Monster
Morphing GA into an Affiliate Analytics MonsterPhil Pearce
 
Beginning AngularJS
Beginning AngularJSBeginning AngularJS
Beginning AngularJSTroy Miles
 
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...Catalyst
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2Geoffrey Fox
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object patternMichael Palotas
 

Tendances (20)

Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?
 
Enough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas ZakasEnough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas Zakas
 
Java Script - A New Look
Java Script - A New LookJava Script - A New Look
Java Script - A New Look
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
 
Ajax Overview by Bally Chohan
Ajax Overview by Bally ChohanAjax Overview by Bally Chohan
Ajax Overview by Bally Chohan
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
Building Your First App with MongoDB
Building Your First App with MongoDBBuilding Your First App with MongoDB
Building Your First App with MongoDB
 
Demystifying Keyword Driven Using Watir
Demystifying Keyword Driven Using WatirDemystifying Keyword Driven Using Watir
Demystifying Keyword Driven Using Watir
 
Chatbot - The developer's waterboy
Chatbot - The developer's waterboyChatbot - The developer's waterboy
Chatbot - The developer's waterboy
 
สปริงเฟรมเวิร์ค4.1
สปริงเฟรมเวิร์ค4.1สปริงเฟรมเวิร์ค4.1
สปริงเฟรมเวิร์ค4.1
 
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsMeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
 
Play with Angular JS
Play with Angular JSPlay with Angular JS
Play with Angular JS
 
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
 
Morphing GA into an Affiliate Analytics Monster
Morphing GA into an Affiliate Analytics MonsterMorphing GA into an Affiliate Analytics Monster
Morphing GA into an Affiliate Analytics Monster
 
Beginning AngularJS
Beginning AngularJSBeginning AngularJS
Beginning AngularJS
 
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
Ajax.ppt
Ajax.pptAjax.ppt
Ajax.ppt
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object pattern
 

En vedette

Finding Your Next Great Hire With Indeed Resume
Finding Your Next Great Hire With Indeed ResumeFinding Your Next Great Hire With Indeed Resume
Finding Your Next Great Hire With Indeed ResumeIndeed
 
indeed Indeed - a presentation for Indeed なう -
indeed Indeed - a presentation for Indeed なう -indeed Indeed - a presentation for Indeed なう -
indeed Indeed - a presentation for Indeed なう -Toru Ochiai
 
Welcome to Indeed Interactive 2015
Welcome to Indeed Interactive 2015 Welcome to Indeed Interactive 2015
Welcome to Indeed Interactive 2015 Indeed
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacentersindeedeng
 
Indeed vs. AngelList - User Engagement Teardown
Indeed vs. AngelList - User Engagement TeardownIndeed vs. AngelList - User Engagement Teardown
Indeed vs. AngelList - User Engagement TeardownIterable
 
Resume Search Optimization
Resume Search OptimizationResume Search Optimization
Resume Search OptimizationHPI, LLC
 
Inform, Delight and Engage with Talent on Company Pages
Inform, Delight and Engage with Talent on Company PagesInform, Delight and Engage with Talent on Company Pages
Inform, Delight and Engage with Talent on Company PagesIndeed
 
Employer Brand vs. Recruitment Marketing: Why the Difference Matters
Employer Brand vs. Recruitment Marketing: Why the Difference MattersEmployer Brand vs. Recruitment Marketing: Why the Difference Matters
Employer Brand vs. Recruitment Marketing: Why the Difference MattersIndeed
 
Linda J. Marshall Resume 2016
Linda J. Marshall Resume 2016Linda J. Marshall Resume 2016
Linda J. Marshall Resume 2016Linda Marshall
 
smAlbany 2013 power resume_search presentation times union monster
smAlbany 2013 power resume_search presentation  times union monstersmAlbany 2013 power resume_search presentation  times union monster
smAlbany 2013 power resume_search presentation times union monsterLiberteks
 
2013 deel8-rotterdam-informatie
2013 deel8-rotterdam-informatie2013 deel8-rotterdam-informatie
2013 deel8-rotterdam-informatieChris Noordam
 
Commendation Letter
Commendation LetterCommendation Letter
Commendation LetterJunwei Li
 
How to Define, Measure and Ensure Workplace Happiness
How to Define, Measure and Ensure Workplace HappinessHow to Define, Measure and Ensure Workplace Happiness
How to Define, Measure and Ensure Workplace HappinessIndeed
 
The Science of Talent Attraction: Understanding What Makes People Click
The Science of Talent Attraction: Understanding What Makes People Click The Science of Talent Attraction: Understanding What Makes People Click
The Science of Talent Attraction: Understanding What Makes People Click Indeed
 
Hiring Practices That Build Powerfully Diverse Teams
Hiring Practices That Build Powerfully Diverse TeamsHiring Practices That Build Powerfully Diverse Teams
Hiring Practices That Build Powerfully Diverse TeamsIndeed
 
Creating Top-Notch Job Content
Creating Top-Notch Job ContentCreating Top-Notch Job Content
Creating Top-Notch Job ContentIndeed
 
Experts Weigh In: Data Discoveries That Changed Our Businesses
Experts Weigh In: Data Discoveries That Changed Our BusinessesExperts Weigh In: Data Discoveries That Changed Our Businesses
Experts Weigh In: Data Discoveries That Changed Our BusinessesIndeed
 

En vedette (20)

Finding Your Next Great Hire With Indeed Resume
Finding Your Next Great Hire With Indeed ResumeFinding Your Next Great Hire With Indeed Resume
Finding Your Next Great Hire With Indeed Resume
 
indeed Indeed - a presentation for Indeed なう -
indeed Indeed - a presentation for Indeed なう -indeed Indeed - a presentation for Indeed なう -
indeed Indeed - a presentation for Indeed なう -
 
Welcome to Indeed Interactive 2015
Welcome to Indeed Interactive 2015 Welcome to Indeed Interactive 2015
Welcome to Indeed Interactive 2015
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters
 
Indeed vs. AngelList - User Engagement Teardown
Indeed vs. AngelList - User Engagement TeardownIndeed vs. AngelList - User Engagement Teardown
Indeed vs. AngelList - User Engagement Teardown
 
Resume Search Optimization
Resume Search OptimizationResume Search Optimization
Resume Search Optimization
 
Inform, Delight and Engage with Talent on Company Pages
Inform, Delight and Engage with Talent on Company PagesInform, Delight and Engage with Talent on Company Pages
Inform, Delight and Engage with Talent on Company Pages
 
Employer Brand vs. Recruitment Marketing: Why the Difference Matters
Employer Brand vs. Recruitment Marketing: Why the Difference MattersEmployer Brand vs. Recruitment Marketing: Why the Difference Matters
Employer Brand vs. Recruitment Marketing: Why the Difference Matters
 
Linda J. Marshall Resume 2016
Linda J. Marshall Resume 2016Linda J. Marshall Resume 2016
Linda J. Marshall Resume 2016
 
smAlbany 2013 power resume_search presentation times union monster
smAlbany 2013 power resume_search presentation  times union monstersmAlbany 2013 power resume_search presentation  times union monster
smAlbany 2013 power resume_search presentation times union monster
 
2013 deel8-rotterdam-informatie
2013 deel8-rotterdam-informatie2013 deel8-rotterdam-informatie
2013 deel8-rotterdam-informatie
 
Commendation Letter
Commendation LetterCommendation Letter
Commendation Letter
 
How to Define, Measure and Ensure Workplace Happiness
How to Define, Measure and Ensure Workplace HappinessHow to Define, Measure and Ensure Workplace Happiness
How to Define, Measure and Ensure Workplace Happiness
 
Job Search Gone Mobile
Job Search Gone MobileJob Search Gone Mobile
Job Search Gone Mobile
 
The Science of Talent Attraction: Understanding What Makes People Click
The Science of Talent Attraction: Understanding What Makes People Click The Science of Talent Attraction: Understanding What Makes People Click
The Science of Talent Attraction: Understanding What Makes People Click
 
Hiring Practices That Build Powerfully Diverse Teams
Hiring Practices That Build Powerfully Diverse TeamsHiring Practices That Build Powerfully Diverse Teams
Hiring Practices That Build Powerfully Diverse Teams
 
Creating Top-Notch Job Content
Creating Top-Notch Job ContentCreating Top-Notch Job Content
Creating Top-Notch Job Content
 
Experts Weigh In: Data Discoveries That Changed Our Businesses
Experts Weigh In: Data Discoveries That Changed Our BusinessesExperts Weigh In: Data Discoveries That Changed Our Businesses
Experts Weigh In: Data Discoveries That Changed Our Businesses
 
test
testtest
test
 
Job Seekers & SWOT Analysis
Job Seekers & SWOT AnalysisJob Seekers & SWOT Analysis
Job Seekers & SWOT Analysis
 

Similaire à [@IndeedEng] Building Indeed Resume Search

Тарас Олексин - Sculpt! Your! Tests!
Тарас Олексин  - Sculpt! Your! Tests!Тарас Олексин  - Sculpt! Your! Tests!
Тарас Олексин - Sculpt! Your! Tests!DataArt
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Libraryrsnarayanan
 
Agile NCR 2013 - Gaurav Bansal- web_automation
Agile NCR 2013 - Gaurav Bansal- web_automationAgile NCR 2013 - Gaurav Bansal- web_automation
Agile NCR 2013 - Gaurav Bansal- web_automationAgileNCR2013
 
Testing in AngularJS
Testing in AngularJSTesting in AngularJS
Testing in AngularJSPeter Drinnan
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationAjax Experience 2009
 
J Query(04 12 2008) Foiaz
J Query(04 12 2008) FoiazJ Query(04 12 2008) Foiaz
J Query(04 12 2008) Foiaztestingphase
 
J query b_dotnet_ug_meet_12_may_2012
J query b_dotnet_ug_meet_12_may_2012J query b_dotnet_ug_meet_12_may_2012
J query b_dotnet_ug_meet_12_may_2012ghnash
 
Agile web development Groovy Grails with Netbeans
Agile web development Groovy Grails with NetbeansAgile web development Groovy Grails with Netbeans
Agile web development Groovy Grails with NetbeansCarol McDonald
 
jQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends ForeverjQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends Foreverstephskardal
 
Introduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinIntroduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinSimon Gauvin
 
Javascript unit testing, yes we can e big
Javascript unit testing, yes we can   e bigJavascript unit testing, yes we can   e big
Javascript unit testing, yes we can e bigAndy Peterson
 
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...Guillaume Laforge
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorialBui Kiet
 

Similaire à [@IndeedEng] Building Indeed Resume Search (20)

Тарас Олексин - Sculpt! Your! Tests!
Тарас Олексин  - Sculpt! Your! Tests!Тарас Олексин  - Sculpt! Your! Tests!
Тарас Олексин - Sculpt! Your! Tests!
 
Java scriptforjavadev part2a
Java scriptforjavadev part2aJava scriptforjavadev part2a
Java scriptforjavadev part2a
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Library
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
Agile NCR 2013 - Gaurav Bansal- web_automation
Agile NCR 2013 - Gaurav Bansal- web_automationAgile NCR 2013 - Gaurav Bansal- web_automation
Agile NCR 2013 - Gaurav Bansal- web_automation
 
Testing in AngularJS
Testing in AngularJSTesting in AngularJS
Testing in AngularJS
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
 
Wt unit 5
Wt unit 5Wt unit 5
Wt unit 5
 
J Query(04 12 2008) Foiaz
J Query(04 12 2008) FoiazJ Query(04 12 2008) Foiaz
J Query(04 12 2008) Foiaz
 
J query b_dotnet_ug_meet_12_may_2012
J query b_dotnet_ug_meet_12_may_2012J query b_dotnet_ug_meet_12_may_2012
J query b_dotnet_ug_meet_12_may_2012
 
前端概述
前端概述前端概述
前端概述
 
jQuery
jQueryjQuery
jQuery
 
Agile web development Groovy Grails with Netbeans
Agile web development Groovy Grails with NetbeansAgile web development Groovy Grails with Netbeans
Agile web development Groovy Grails with Netbeans
 
ReactJS.ppt
ReactJS.pptReactJS.ppt
ReactJS.ppt
 
jQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends ForeverjQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends Forever
 
Introduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinIntroduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon Gauvin
 
Javascript unit testing, yes we can e big
Javascript unit testing, yes we can   e bigJavascript unit testing, yes we can   e big
Javascript unit testing, yes we can e big
 
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
 
Prototype Js
Prototype JsPrototype Js
Prototype Js
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorial
 

Plus de indeedeng

Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-DrivenWeapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Drivenindeedeng
 
Alchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That WorkAlchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That Workindeedeng
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...indeedeng
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...indeedeng
 
Improving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentationImproving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentationindeedeng
 
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision MakingData-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Makingindeedeng
 
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Dayindeedeng
 
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)indeedeng
 
Data Day Texas - Recommendations
Data Day Texas - RecommendationsData Day Texas - Recommendations
Data Day Texas - Recommendationsindeedeng
 
Vectorized VByte Decoding
Vectorized VByte DecodingVectorized VByte Decoding
Vectorized VByte Decodingindeedeng
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshopindeedeng
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol indeedeng
 
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctorindeedeng
 
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving Systemindeedeng
 

Plus de indeedeng (14)

Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-DrivenWeapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
 
Alchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That WorkAlchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That Work
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
 
Improving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentationImproving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentation
 
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision MakingData-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
 
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
@Indeedeng: RAD - How We Replicate Terabytes of Data Around the World Every Day
 
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
 
Data Day Texas - Recommendations
Data Day Texas - RecommendationsData Day Texas - Recommendations
Data Day Texas - Recommendations
 
Vectorized VByte Decoding
Vectorized VByte DecodingVectorized VByte Decoding
Vectorized VByte Decoding
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
 
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
 
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
[@IndeedEng] From 1 To 1 Billion: Evolution of Indeed's Document Serving System
 

Dernier

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Dernier (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

[@IndeedEng] Building Indeed Resume Search