SlideShare a Scribd company logo
Confidential
Key Software Engineering
Concepts for Recruiters
Sam Wholley
Riviera Partners
swholley@rivierapartners.com
2
1 2 3
Software
Architecture
What’s Hot?
Agenda
4
How to Widen
Your Candidate
Net
Confidential
Code, Data, &
‘The Cloud’
Confidential
1
What is Architecture?
6
Build it for extensibility
and ease of maintenance:
Confidential
Be Agile
What is Agile Development?
7
• Involve users early, design the ‘grand requirements’.
• Split into small units (Scrum).
• Develop a unit, and unit test it.
• User-test it (ask “is this what you want?”) often.
• Iterate, iterate, iterate.
Confidential
Agile development: moving fast, moving often:
Lather Rinse Repeat
N-Tier Architecture
8
• Design & layout – images and text.
• UI / UX concepts – a nice interface.
• HTML,CSS – the actual implementation.
• JavaScript – automation, animation, and validation.
Confidential
The front end (where it’s made to look good):
People use the application here.
N-Tier Architecture
9
Confidential
AJAX: you can actively search for stuff, typically in cached
memory or a live database query:
• Google uses AJAX/jQuery for type-ahead
recommendations.
• AJAX can power/position design elements as well.
Other front end terms you hear:
Javascript Implementations
10
Confidential
Front-Endish
Handlebars, Mustache, Aural, Kraken,
Reactive Coffee, Parrot; haml-js, Angular,
Backbone, Ember, Spine, Stapes.
Middle-Tierish
Node.js, Express, Refactor, Sails,
Backbone, Vert.x, OPA, CommonJs.
Back-Endish
Ember.js Persistence, Backend.js,
Persistence.js.
Some of the more common JavaScript frameworks:
N-Tier Architecture
11
Confidential
• Social Media: ‘like’ counts, posts, connections, are
calculated.
• APIs: application rules are enforced.
• Banking: account inquiry, debit == credit, a summary is
generated.
• Commerce: stream a movie, your credit card gets
charged.
The middle tier (typically where decisions are made):
Other APIs and integration points interface here.
N-Tier Architecture
12
Confidential
Some methodologies, frameworks, and languages used:
• Custom code – all languages apply, it’s the architecture
that matters.
• Services-Oriented Architecture (SOA).
• Message queuing, caching (most times), ‘software
infrastructure.’
The middle tier (typically where decisions are made):
Other APIs and integration points interface here.
N-Tier Architecture
13
Some terms you’ll hear:
• Redis, memcache, Varnish: Scaling (in-memory caching.)
• Django, JBoss, Rails: User / session management.
• RESTful services: application doesn’t depend on sessions.
• JSON – a way to pass data cleanly and clearly.
Confidential
The middle tier (typically where decisions are made):
Other APIs and integration points interface here.
N-Tier Architecture
14
Some methodologies, frameworks, and languages used:
• Hibernate, iBATIS, Objectstore: Persistence.
• Oracle, SQL, MySql, PostgreSQL, MongoDB: Storage.
• BSON, Avro, XML: Storage, Transport, Serialization.
Confidential
Stuff is stored here
The back end:
N-Tier Architecture
15
Other terms you’ll hear:
• Hadoop, Cassandra, MapR: NoSQL storage, big data
aggregation.
• MapReduce: the way NoSQL deals with DB queries.
• “Big Data” ≠ Data Warehouse or Datamart (“Lots of
Data”.)
Confidential
The back end:
Stuff is stored here
Confidential
2
17
Software is core to most modern things, so
architecture and scalability matters a great
deal.
A Mercedes Benz S-Class has about 100 million
lines of code in the car’s onboard control system.
A Boeing 737 has about 20 million lines.
Confidential
Code and Compilation
18
Source Code
Intermediate
Language (IL)
Machine Code
function Add(int num1, int num2) {
return num1 + num2;
}
moveq.w #0, d1
loop:
tst.w d0
beq end
move.w d0, (a5,d1)
subq.w #1, d0
addq.w #2, d1
braloop
end:
rts
01100110 01110101 01101110 01100011 01110100 01101001 01101111 01101110
00100000 01001000 01100101 01101100 01101100 01101111 01010111 01101111
01110010 01101100 01100100 00100000 00101000 01110011 01110100 01110010
01101001 01101110 01100111 00100000 01001101 01100101 01110011 01110011
01100001 01100111 01100101 00101001 00100000 01111011 00001101 00001010
00001001 01100001 01101100 01100101 01110010 01110100 00101000 01001101
01100101 01110011 01110011 01100001 01100111 01100101 00101001 00111011
00001101 00001010 01111101 00001101 00001010
Confidential
Code Implementation
19
Compiled
The entire codebase is translated to the target
machine’s ‘language’ directly, as the program is
written, and executed from there.
Interpreted
The codebase is translated and executed as the
program is run.
Code can be implemented in different ways.
The most common are:
Confidential
Code Implementation
20
When finished writing the code, it’s checked, built, and turned into
binary (1s and 0s) for the computer to run.
• High load speed and fast execution;
• You can add various optimizations during compile process to
increase run speed.
• Compilers are specific to the hardware platform;
• Compiled code requires recompilation to change.
Confidential
Compiled Code:
Typical Examples: C, C++, Java (can be), Visual Basic,
Haskell
Types of Codebases
21
Confidential
The code exists in flexible files and, when the file is executed, the
text is compiled and run.
• Just-In-Time (JIT) compiled – compiled when executed.
• Development is flexible – source code is ‘live’, easy to edit.
• Are typically very elastic (e.g.: allow dynamic typing) to make
prototyping quick.
• Warrant full testing coverage; static code analysis recommended.
Interpreted code:
Typical Examples: Ruby, Python, JavaScript, PHP.
Confidential 22
Types of Codebases
23
Confidential
The code is checked, built, and turned into bytecode with metadata
for a Just-In-Time compiler to compile and run.
• Can be compiled or interpreted, but have metadata <data about
the data> that helps to secure, define, accelerate, and ‘manage’
the code (both before and after compilation.)
• Have a framework that helps to manage the code’s interaction
with the broader platform.
• In essence, creates a sandbox and runs the code in it.
Managed codebase:
Typical Examples: C# (.Net), Java are often deployed
in a managed fashion.
Types of Codebases
24
ALL CODE becomes compiled at some point before it is
run.
The question is: at which point?
Run-timeWrite-time
Compiled Managed Interpreted
Confidential
Programming Paradigms
25
Confidential
Object-Oriented Programming
• Organizing programs into “things”; these “things” have properties,
and actions those “things” can take.
• This is compared with a more simplistic: input -> stuff happens ->
output logic model.
• It also follows how the human brain works (“is a” and “has a”.)
Programming Paradigms
26
Functional Programming
Defining functions that do specific things and linking them all together,
where the outputs of one feed the inputs of the next function, the
behavior is determined by the data on the initial input and not on the
order in which the functions are declared.
Laying out a set of fixed instructions with each instruction executed in
the order they are declared in, starting with the first and ending with
the last.
Confidential
Procedural Programming
Confidential
What is the cloud?
29
Confidential
Instead of having servers on premise, the “servers” are
stored somewhere else:
• Hosted or collocated environment (a Private Cloud.)
• Amazon: AWS.
• Google Cloud.
• Microsoft Azure.
• VMware Cloud.
• Rackspace: OpenStack.
Basically, it’s just where all the ‘stuff’ is stored.
Why does this matter?
30
SaaS or Cloud Operations:
DevOps, continuous integration, release management tools
integrated with cloud platforms instead of traditional physical
servers.
Servers (owned or managed services), networking
infrastructure, hardware, uptime, “IT”.
Confidential
Technical Operations:
Confidential
3
What’s hottest?
32
Confidential
1. Ruby / Rails
2. Mobile: iOS and Android
3. Python
4. Java
1. Big Data
2. Data Science
3. DevOps
4. Cloud Architecture
Competencies & Disciplines
Languages
Confidential
4
34
Confidential
So, what’s the RIGHT answer?
It depends…
Widening the net…
Widening the net…
35
Any good engineer should be able to learn,
read, and understand any language or
framework, given a reasonable opportunity
to learn its intricacies.
But, there are some VERY GENERAL similarities
that could make it easier for them to jump in.
Confidential
Widening the net…
36
Confidential
• C and C++ syntax are 99.9% identical.
› It’s mostly the programming paradigm that’s
different.
› Test the candidate’s knowledge thoroughly.
• JSP, PHP, and Ruby syntax can be similar.
• Python and Perl syntax can be similar.
• C#, Java, and C++ syntax can be similar.
• Pythonic thinking is roughly similar to ‘Rubyist’
thinking (if done right.)
For example:
Widening the net…
37
Confidential
• A good, solid understanding of object-oriented analysis
& design will, generally, port to any language.
• Holistic engineering thinkers are ‘utility players.’
Widening the net…
38
Confidential
• The size and stage of the company.
• The platform and target language.
• The engineer’s role.
• The strengths of the team.
• The reason for the hire.
Consider the environment.
Confidential
Appendix
40
Confidential
The following slides include some
questions and approaches to discuss
with your technical hiring managers.
? ?
Some questions…
41
Confidential
• Scalability: “Here’s where we’re seeing a bottleneck - what
could be some root causes?”
• Refactoring: “Here’s our approach, what do you think?
Think of an actual problem you’re trying to solve
today (that you DON’T know the answer to)?
+
Some questions…
42
Confidential
Think of an actual problem you’re trying to solve
today (that you DON’T know the answer to)?
• Design Patterns: “Here’s how we are thinking about
architecting this service/app/component. What would you
do differently, and why?”
• Database sharding / partitioning: “From what you can see,
what problems might we run into with another 5 million
users? With internationalization/localization?”
Some questions…
43
Confidential
What is an actual problem you HAVE solved (that you
DO know the answer to)?
• “Here are the symptoms of something that tripped us up:
what do you think happened?”
• What can we do to prevent this going forward?
Some questions…
44
Confidential
What new products are in development (that you can
share), and how would they think about architecting
them?
• Talk about something specific to your company’s sector and
see how they react to it.
• You can ask them about what they have not seen in that
sector that they would LIKE to see, and how they would
build it. Walk through your architecture, and ask how they
would adapt this component to your existing environment.
Some questions…
45
Confidential
What is the worst production coding / development
mistake you’ve ever made? How did you fix it?
• Always follow up with: “what did you do to make sure it
didn't’t happen again.”
Some questions…
46
Confidential
• Technical interview questions should also look at how
broadly people think about routine tasks.
• For example: read all files in a folder, and print the sum of
the ASCII values of all characters in the files.
• Key Observations:
› File I/O, buffers, exceptions.
› General knowledge of characters and escape codes.
› It’s not going to be perfect, or even compile…
You do have to ask technical questions.
Some questions…
47
Confidential
• Technical interview questions shouldn’t assume a specific
level of social or cultural knowledge (e.g.: “Madden 2013”,
or “rewrite Tinder in Erlang.”)
You do have to ask technical questions.
? ?X X X
Some questions…
48
Confidential
You do have to ask technical questions.
Talk about Object-Oriented Programming concepts:
• Ask them to explain polymorphism and inheritance, what
the difference is, and what considerations you have to
make when designing reusable, extensible classes.
• Discuss what Reflection is good for, and when - and when
not – to use it. (C++ candidates may use templating).
Some questions…
49
Confidential
You do have to ask technical questions.
Talk about Design Patterns:
• Walk through some architectural choices you’ve had to
make, and what the tradeoffs are.
• Push in just enough to have confidence that they know
what questions to ask.
Some questions…
50
Confidential
You do have to ask technical questions.
• Give them a reasonably lengthy code sample with multiple bugs
– not language-specific syntax errors, but bugs in logic and
overall program flow. Ask them to point out what the issues are,
and what they would do to fix them.
• Sometimes the overtly simple things might elude more
experienced candidates – if you point out a specific issue like
that, don’t give them the answer but push in on what the effect is.
• The issues should be in different areas of the program to ensure
they are looking at the program as a whole (e.g.: efficient use of
memory, effective naming conventions, type safety, etc.) Many
will not see all of them, but the key is to see how they react.
Some questions…
51
Confidential
Ask them to explain, at a high level, the key concepts
that you are using and ask about pros and cons:
• For example: RESTful services:
› Pros: easier API for mobile, maps to HTTP protocol
standards, manages state well, simple and clean architecture.
› Cons: can be easy to expose underlying architecture
insecurely if not done right (like C), SOAP can be just so
darned easy to hack together…
• Based on what you’re looking for, ask them three or four – they
won’t nail each of them, but they need to get the majority right –
and know where to go to get the answer.
Some questions…
52
Confidential
What language, framework, methodology
have you learned most recently, and why?
How did you do it?
The point…
53
Confidential
You want great general engineering
athletes, not (necessarily) superstar
position players, for most roles.
Unless you NEED the superstar position player.
+ + +

More Related Content

What's hot

Community and Java EE @ DevConf.CZ
Community and Java EE @ DevConf.CZCommunity and Java EE @ DevConf.CZ
Community and Java EE @ DevConf.CZ
Markus Eisele
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor App
Joe Kutner
 
pranayJ
pranayJpranayJ
pranayJPray B
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
Bobby Curtis
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
Jérôme Françoisse
 
AppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Blue Print Design Guidelines
AppliFire Blue Print Design Guidelines
AppliFire Platform
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Araf Karsh Hamid
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
gvenzl
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
Michel Schildmeijer
 
There is REST and then there is "REST"
There is REST and then there is "REST"There is REST and then there is "REST"
There is REST and then there is "REST"
Radovan Semancik
 
Real-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsReal-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and Solutions
Masoud Kalali
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Finaljucaab
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Lohika_Odessa_TechTalks
 
7 New Tools Java Developers Should Know
7 New Tools Java Developers Should Know7 New Tools Java Developers Should Know
7 New Tools Java Developers Should Know
Takipi
 
Real world RESTful service development problems and solutions
Real world RESTful service development problems and solutionsReal world RESTful service development problems and solutions
Real world RESTful service development problems and solutions
Masoud Kalali
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
Bobby Curtis
 
Java on Azure
Java on AzureJava on Azure
Java on Azure
Philly JUG
 

What's hot (20)

Community and Java EE @ DevConf.CZ
Community and Java EE @ DevConf.CZCommunity and Java EE @ DevConf.CZ
Community and Java EE @ DevConf.CZ
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor App
 
pranayJ
pranayJpranayJ
pranayJ
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
 
Venkata
VenkataVenkata
Venkata
 
No sql
No sqlNo sql
No sql
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
 
AppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Blue Print Design Guidelines
AppliFire Blue Print Design Guidelines
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
There is REST and then there is "REST"
There is REST and then there is "REST"There is REST and then there is "REST"
There is REST and then there is "REST"
 
Real-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsReal-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and Solutions
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
 
7 New Tools Java Developers Should Know
7 New Tools Java Developers Should Know7 New Tools Java Developers Should Know
7 New Tools Java Developers Should Know
 
Real world RESTful service development problems and solutions
Real world RESTful service development problems and solutionsReal world RESTful service development problems and solutions
Real world RESTful service development problems and solutions
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
 
Ow
OwOw
Ow
 
Java on Azure
Java on AzureJava on Azure
Java on Azure
 

Viewers also liked

Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"
Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"
Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"Talent42
 
Sourcing beyond linked in carmen hudson
Sourcing beyond linked in   carmen hudsonSourcing beyond linked in   carmen hudson
Sourcing beyond linked in carmen hudson
Talent42
 
Shannon Anderson heat map bay area - circle of proxmity to downtown sf
Shannon Anderson  heat map bay area - circle of proxmity to downtown sfShannon Anderson  heat map bay area - circle of proxmity to downtown sf
Shannon Anderson heat map bay area - circle of proxmity to downtown sf
Talent42
 
Amybeth Quinn being a productive sourcer
Amybeth Quinn  being a productive sourcerAmybeth Quinn  being a productive sourcer
Amybeth Quinn being a productive sourcer
Talent42
 
Talent42 2014 Jeopardy preso final
Talent42 2014 Jeopardy preso finalTalent42 2014 Jeopardy preso final
Talent42 2014 Jeopardy preso final
Talent42
 
Mei lu talent42 geekology-developer engagement via personas
Mei lu talent42 geekology-developer engagement via personasMei lu talent42 geekology-developer engagement via personas
Mei lu talent42 geekology-developer engagement via personas
Talent42
 
Jobhunting and the Absence of Online Privacy
Jobhunting and the Absence of Online PrivacyJobhunting and the Absence of Online Privacy
Jobhunting and the Absence of Online Privacy
Jim Stroud
 
40 tools for sourcing productivity #sosuasia
40 tools for sourcing productivity #sosuasia 40 tools for sourcing productivity #sosuasia
40 tools for sourcing productivity #sosuasia
Balazs Paroczay
 
Expert Webinar Series: Recruiting Members for Keeps
Expert Webinar Series: Recruiting Members for KeepsExpert Webinar Series: Recruiting Members for Keeps
Expert Webinar Series: Recruiting Members for Keeps
Wild Apricot
 
My tribe @ Work - Onboarding app
My tribe @ Work - Onboarding appMy tribe @ Work - Onboarding app
My tribe @ Work - Onboarding app
Christelle Letist 📱📚
 
Cast Iron for NetSuite Sales Cheat Sheet
Cast Iron for NetSuite Sales Cheat SheetCast Iron for NetSuite Sales Cheat Sheet
Cast Iron for NetSuite Sales Cheat SheetSean O'Connell
 
You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...
You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...
You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...
RecruitDC
 
Industry Vs Curriculum Talk Mec
Industry Vs Curriculum Talk MecIndustry Vs Curriculum Talk Mec
Industry Vs Curriculum Talk Mec
tej_arora
 
Building a proactive sourcing function to fill Critical Positions
Building a proactive sourcing function to fill Critical PositionsBuilding a proactive sourcing function to fill Critical Positions
Building a proactive sourcing function to fill Critical Positions
Rob McIntosh
 
Sourcing Strategy Hci Presentation (Paul Hamilton)
Sourcing Strategy   Hci Presentation (Paul Hamilton)Sourcing Strategy   Hci Presentation (Paul Hamilton)
Sourcing Strategy Hci Presentation (Paul Hamilton)
phamil
 
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)
Susanna Frazier
 
DIY Sourcing Tool: Build your own boolean link generator
DIY Sourcing Tool: Build your own boolean link generatorDIY Sourcing Tool: Build your own boolean link generator
DIY Sourcing Tool: Build your own boolean link generator
RecruitingDaily.com LLC
 
Gayle Laakmann McDowell - Talent42 2015
Gayle Laakmann McDowell - Talent42 2015Gayle Laakmann McDowell - Talent42 2015
Gayle Laakmann McDowell - Talent42 2015Talent42
 
The Power of Purpose
The Power of PurposeThe Power of Purpose
The Power of Purpose
Johnny Campbell
 
11 power searches and 4 Amazing Sourcing Tools
11 power searches and 4 Amazing Sourcing Tools11 power searches and 4 Amazing Sourcing Tools
11 power searches and 4 Amazing Sourcing Tools
RecruitingDaily.com LLC
 

Viewers also liked (20)

Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"
Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"
Joel Spolsky "Joel Spolsky on Hiring Great Tech Talent"
 
Sourcing beyond linked in carmen hudson
Sourcing beyond linked in   carmen hudsonSourcing beyond linked in   carmen hudson
Sourcing beyond linked in carmen hudson
 
Shannon Anderson heat map bay area - circle of proxmity to downtown sf
Shannon Anderson  heat map bay area - circle of proxmity to downtown sfShannon Anderson  heat map bay area - circle of proxmity to downtown sf
Shannon Anderson heat map bay area - circle of proxmity to downtown sf
 
Amybeth Quinn being a productive sourcer
Amybeth Quinn  being a productive sourcerAmybeth Quinn  being a productive sourcer
Amybeth Quinn being a productive sourcer
 
Talent42 2014 Jeopardy preso final
Talent42 2014 Jeopardy preso finalTalent42 2014 Jeopardy preso final
Talent42 2014 Jeopardy preso final
 
Mei lu talent42 geekology-developer engagement via personas
Mei lu talent42 geekology-developer engagement via personasMei lu talent42 geekology-developer engagement via personas
Mei lu talent42 geekology-developer engagement via personas
 
Jobhunting and the Absence of Online Privacy
Jobhunting and the Absence of Online PrivacyJobhunting and the Absence of Online Privacy
Jobhunting and the Absence of Online Privacy
 
40 tools for sourcing productivity #sosuasia
40 tools for sourcing productivity #sosuasia 40 tools for sourcing productivity #sosuasia
40 tools for sourcing productivity #sosuasia
 
Expert Webinar Series: Recruiting Members for Keeps
Expert Webinar Series: Recruiting Members for KeepsExpert Webinar Series: Recruiting Members for Keeps
Expert Webinar Series: Recruiting Members for Keeps
 
My tribe @ Work - Onboarding app
My tribe @ Work - Onboarding appMy tribe @ Work - Onboarding app
My tribe @ Work - Onboarding app
 
Cast Iron for NetSuite Sales Cheat Sheet
Cast Iron for NetSuite Sales Cheat SheetCast Iron for NetSuite Sales Cheat Sheet
Cast Iron for NetSuite Sales Cheat Sheet
 
You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...
You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...
You Got This! Tools and Inspiration for the Modern Recruiter - Spring 2015 - ...
 
Industry Vs Curriculum Talk Mec
Industry Vs Curriculum Talk MecIndustry Vs Curriculum Talk Mec
Industry Vs Curriculum Talk Mec
 
Building a proactive sourcing function to fill Critical Positions
Building a proactive sourcing function to fill Critical PositionsBuilding a proactive sourcing function to fill Critical Positions
Building a proactive sourcing function to fill Critical Positions
 
Sourcing Strategy Hci Presentation (Paul Hamilton)
Sourcing Strategy   Hci Presentation (Paul Hamilton)Sourcing Strategy   Hci Presentation (Paul Hamilton)
Sourcing Strategy Hci Presentation (Paul Hamilton)
 
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)
 
DIY Sourcing Tool: Build your own boolean link generator
DIY Sourcing Tool: Build your own boolean link generatorDIY Sourcing Tool: Build your own boolean link generator
DIY Sourcing Tool: Build your own boolean link generator
 
Gayle Laakmann McDowell - Talent42 2015
Gayle Laakmann McDowell - Talent42 2015Gayle Laakmann McDowell - Talent42 2015
Gayle Laakmann McDowell - Talent42 2015
 
The Power of Purpose
The Power of PurposeThe Power of Purpose
The Power of Purpose
 
11 power searches and 4 Amazing Sourcing Tools
11 power searches and 4 Amazing Sourcing Tools11 power searches and 4 Amazing Sourcing Tools
11 power searches and 4 Amazing Sourcing Tools
 

Similar to Talent42 2014 Sam Wholley -

Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
Camuel Gilyadov
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
Microsoft Iceland
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
Andreas Katzig
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
Software Guru
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talksRuslan Meshenberg
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Comsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Comsysto Reply GmbH
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
Srijan Technologies
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
Marco Parenzan
 
RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?Erik Osterman
 
Zend Code in ZF 2.0
Zend Code in ZF 2.0Zend Code in ZF 2.0
Zend Code in ZF 2.0
Ralph Schindler
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
Hitesh-Java
 
The Download: Tech Talks by the HPCC Systems Community, Episode 11
The Download: Tech Talks by the HPCC Systems Community, Episode 11The Download: Tech Talks by the HPCC Systems Community, Episode 11
The Download: Tech Talks by the HPCC Systems Community, Episode 11
HPCC Systems
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Nilesh Panchal
 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
 
Devoxx PL 2018 - Microservices in action at the Dutch National Police
Devoxx PL 2018 - Microservices in action at the Dutch National PoliceDevoxx PL 2018 - Microservices in action at the Dutch National Police
Devoxx PL 2018 - Microservices in action at the Dutch National Police
Bert Jan Schrijver
 

Similar to Talent42 2014 Sam Wholley - (20)

Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?
 
Zend Code in ZF 2.0
Zend Code in ZF 2.0Zend Code in ZF 2.0
Zend Code in ZF 2.0
 
Microservices
MicroservicesMicroservices
Microservices
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
The Download: Tech Talks by the HPCC Systems Community, Episode 11
The Download: Tech Talks by the HPCC Systems Community, Episode 11The Download: Tech Talks by the HPCC Systems Community, Episode 11
The Download: Tech Talks by the HPCC Systems Community, Episode 11
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
 
Devoxx PL 2018 - Microservices in action at the Dutch National Police
Devoxx PL 2018 - Microservices in action at the Dutch National PoliceDevoxx PL 2018 - Microservices in action at the Dutch National Police
Devoxx PL 2018 - Microservices in action at the Dutch National Police
 

More from Talent42

Real talk on hiring great engineers Jessica McKellar from Pilot
Real talk on hiring great engineers   Jessica McKellar from PilotReal talk on hiring great engineers   Jessica McKellar from Pilot
Real talk on hiring great engineers Jessica McKellar from Pilot
Talent42
 
Susanna frazier 1 pager sourcing on git hub
Susanna frazier 1 pager   sourcing on git hubSusanna frazier 1 pager   sourcing on git hub
Susanna frazier 1 pager sourcing on git hub
Talent42
 
Shami marangwanda 1 pager - back to basics - building a networking recruiting...
Shami marangwanda 1 pager - back to basics - building a networking recruiting...Shami marangwanda 1 pager - back to basics - building a networking recruiting...
Shami marangwanda 1 pager - back to basics - building a networking recruiting...
Talent42
 
Leveraging recruiting to drive an engineering culture change dror kagan fro...
Leveraging recruiting to drive an engineering culture change   dror kagan fro...Leveraging recruiting to drive an engineering culture change   dror kagan fro...
Leveraging recruiting to drive an engineering culture change dror kagan fro...
Talent42
 
How to create high accountability Adam Ward from Pinterest
How to create high accountability   Adam Ward from PinterestHow to create high accountability   Adam Ward from Pinterest
How to create high accountability Adam Ward from Pinterest
Talent42
 
Diversity sourcing hour all presenters
Diversity sourcing hour   all presentersDiversity sourcing hour   all presenters
Diversity sourcing hour all presenters
Talent42
 
Dean da costa 1 pager - sourcing methodology
Dean da costa 1 pager - sourcing methodologyDean da costa 1 pager - sourcing methodology
Dean da costa 1 pager - sourcing methodology
Talent42
 
Carmen hudson 1 pager - sourcing is about more than boolean
Carmen hudson 1 pager - sourcing is about more than booleanCarmen hudson 1 pager - sourcing is about more than boolean
Carmen hudson 1 pager - sourcing is about more than boolean
Talent42
 
Arron daniels 1 pager researching the tech talent market
Arron daniels 1 pager   researching the tech talent marketArron daniels 1 pager   researching the tech talent market
Arron daniels 1 pager researching the tech talent market
Talent42
 
Talent42 2017 Vlastelica Speed and Quality
Talent42 2017 Vlastelica Speed and Quality Talent42 2017 Vlastelica Speed and Quality
Talent42 2017 Vlastelica Speed and Quality
Talent42
 
Talent42 2017: Timing is Everything - Natalie Severino
Talent42 2017: Timing is Everything - Natalie Severino Talent42 2017: Timing is Everything - Natalie Severino
Talent42 2017: Timing is Everything - Natalie Severino
Talent42
 
Talent42 2017: What to Get to Git Programers - Jeff Szczepanski
Talent42 2017: What to Get to Git Programers - Jeff SzczepanskiTalent42 2017: What to Get to Git Programers - Jeff Szczepanski
Talent42 2017: What to Get to Git Programers - Jeff Szczepanski
Talent42
 
Talent42 2017: Scaling without Sacrifice the Lyft Way - Linsey Jackson
Talent42 2017: Scaling without Sacrifice the Lyft Way - Linsey JacksonTalent42 2017: Scaling without Sacrifice the Lyft Way - Linsey Jackson
Talent42 2017: Scaling without Sacrifice the Lyft Way - Linsey Jackson
Talent42
 
Talent42 2017: Robots are Coming - Nimrod Hoofien and Isabel Kloumann
Talent42 2017: Robots are Coming - Nimrod Hoofien and Isabel KloumannTalent42 2017: Robots are Coming - Nimrod Hoofien and Isabel Kloumann
Talent42 2017: Robots are Coming - Nimrod Hoofien and Isabel Kloumann
Talent42
 
Talent42 2017: Recruiter Hunt Tools 1 pager
Talent42 2017: Recruiter Hunt Tools 1 pagerTalent42 2017: Recruiter Hunt Tools 1 pager
Talent42 2017: Recruiter Hunt Tools 1 pager
Talent42
 
Talent42 2017: Paired Sourcing 1-Pager Source Ops Framework
Talent42 2017: Paired Sourcing 1-Pager  Source Ops FrameworkTalent42 2017: Paired Sourcing 1-Pager  Source Ops Framework
Talent42 2017: Paired Sourcing 1-Pager Source Ops Framework
Talent42
 
Talent42 2017: Netflix and Fill - Laura Pruitt and Sydney Busch
Talent42 2017: Netflix and Fill - Laura Pruitt and Sydney BuschTalent42 2017: Netflix and Fill - Laura Pruitt and Sydney Busch
Talent42 2017: Netflix and Fill - Laura Pruitt and Sydney Busch
Talent42
 
Talent42 2017: Mei Lu - 1_Pager Software Developer Job Descriptions
Talent42 2017: Mei Lu - 1_Pager  Software Developer Job DescriptionsTalent42 2017: Mei Lu - 1_Pager  Software Developer Job Descriptions
Talent42 2017: Mei Lu - 1_Pager Software Developer Job Descriptions
Talent42
 
Talent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital Era
Talent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital EraTalent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital Era
Talent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital Era
Talent42
 
Talent42 2017: Maisha Cannon 1-Pager Brewing Boolean
Talent42 2017: Maisha Cannon 1-Pager Brewing BooleanTalent42 2017: Maisha Cannon 1-Pager Brewing Boolean
Talent42 2017: Maisha Cannon 1-Pager Brewing Boolean
Talent42
 

More from Talent42 (20)

Real talk on hiring great engineers Jessica McKellar from Pilot
Real talk on hiring great engineers   Jessica McKellar from PilotReal talk on hiring great engineers   Jessica McKellar from Pilot
Real talk on hiring great engineers Jessica McKellar from Pilot
 
Susanna frazier 1 pager sourcing on git hub
Susanna frazier 1 pager   sourcing on git hubSusanna frazier 1 pager   sourcing on git hub
Susanna frazier 1 pager sourcing on git hub
 
Shami marangwanda 1 pager - back to basics - building a networking recruiting...
Shami marangwanda 1 pager - back to basics - building a networking recruiting...Shami marangwanda 1 pager - back to basics - building a networking recruiting...
Shami marangwanda 1 pager - back to basics - building a networking recruiting...
 
Leveraging recruiting to drive an engineering culture change dror kagan fro...
Leveraging recruiting to drive an engineering culture change   dror kagan fro...Leveraging recruiting to drive an engineering culture change   dror kagan fro...
Leveraging recruiting to drive an engineering culture change dror kagan fro...
 
How to create high accountability Adam Ward from Pinterest
How to create high accountability   Adam Ward from PinterestHow to create high accountability   Adam Ward from Pinterest
How to create high accountability Adam Ward from Pinterest
 
Diversity sourcing hour all presenters
Diversity sourcing hour   all presentersDiversity sourcing hour   all presenters
Diversity sourcing hour all presenters
 
Dean da costa 1 pager - sourcing methodology
Dean da costa 1 pager - sourcing methodologyDean da costa 1 pager - sourcing methodology
Dean da costa 1 pager - sourcing methodology
 
Carmen hudson 1 pager - sourcing is about more than boolean
Carmen hudson 1 pager - sourcing is about more than booleanCarmen hudson 1 pager - sourcing is about more than boolean
Carmen hudson 1 pager - sourcing is about more than boolean
 
Arron daniels 1 pager researching the tech talent market
Arron daniels 1 pager   researching the tech talent marketArron daniels 1 pager   researching the tech talent market
Arron daniels 1 pager researching the tech talent market
 
Talent42 2017 Vlastelica Speed and Quality
Talent42 2017 Vlastelica Speed and Quality Talent42 2017 Vlastelica Speed and Quality
Talent42 2017 Vlastelica Speed and Quality
 
Talent42 2017: Timing is Everything - Natalie Severino
Talent42 2017: Timing is Everything - Natalie Severino Talent42 2017: Timing is Everything - Natalie Severino
Talent42 2017: Timing is Everything - Natalie Severino
 
Talent42 2017: What to Get to Git Programers - Jeff Szczepanski
Talent42 2017: What to Get to Git Programers - Jeff SzczepanskiTalent42 2017: What to Get to Git Programers - Jeff Szczepanski
Talent42 2017: What to Get to Git Programers - Jeff Szczepanski
 
Talent42 2017: Scaling without Sacrifice the Lyft Way - Linsey Jackson
Talent42 2017: Scaling without Sacrifice the Lyft Way - Linsey JacksonTalent42 2017: Scaling without Sacrifice the Lyft Way - Linsey Jackson
Talent42 2017: Scaling without Sacrifice the Lyft Way - Linsey Jackson
 
Talent42 2017: Robots are Coming - Nimrod Hoofien and Isabel Kloumann
Talent42 2017: Robots are Coming - Nimrod Hoofien and Isabel KloumannTalent42 2017: Robots are Coming - Nimrod Hoofien and Isabel Kloumann
Talent42 2017: Robots are Coming - Nimrod Hoofien and Isabel Kloumann
 
Talent42 2017: Recruiter Hunt Tools 1 pager
Talent42 2017: Recruiter Hunt Tools 1 pagerTalent42 2017: Recruiter Hunt Tools 1 pager
Talent42 2017: Recruiter Hunt Tools 1 pager
 
Talent42 2017: Paired Sourcing 1-Pager Source Ops Framework
Talent42 2017: Paired Sourcing 1-Pager  Source Ops FrameworkTalent42 2017: Paired Sourcing 1-Pager  Source Ops Framework
Talent42 2017: Paired Sourcing 1-Pager Source Ops Framework
 
Talent42 2017: Netflix and Fill - Laura Pruitt and Sydney Busch
Talent42 2017: Netflix and Fill - Laura Pruitt and Sydney BuschTalent42 2017: Netflix and Fill - Laura Pruitt and Sydney Busch
Talent42 2017: Netflix and Fill - Laura Pruitt and Sydney Busch
 
Talent42 2017: Mei Lu - 1_Pager Software Developer Job Descriptions
Talent42 2017: Mei Lu - 1_Pager  Software Developer Job DescriptionsTalent42 2017: Mei Lu - 1_Pager  Software Developer Job Descriptions
Talent42 2017: Mei Lu - 1_Pager Software Developer Job Descriptions
 
Talent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital Era
Talent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital EraTalent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital Era
Talent42 2017: Marvin Smith 1-Pager Talent Sourcing Strategy for the Digital Era
 
Talent42 2017: Maisha Cannon 1-Pager Brewing Boolean
Talent42 2017: Maisha Cannon 1-Pager Brewing BooleanTalent42 2017: Maisha Cannon 1-Pager Brewing Boolean
Talent42 2017: Maisha Cannon 1-Pager Brewing Boolean
 

Recently uploaded

Promotion & Selection in Indian Railways .ppt
Promotion & Selection in Indian Railways .pptPromotion & Selection in Indian Railways .ppt
Promotion & Selection in Indian Railways .ppt
Rajesh KUMAR Gupta
 
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...
SocialHRCamp
 
Periodical - Employee Spotlight Kathryn Hillenburg
Periodical - Employee Spotlight Kathryn HillenburgPeriodical - Employee Spotlight Kathryn Hillenburg
Periodical - Employee Spotlight Kathryn Hillenburg
marketing659039
 
1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样
1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样
1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样
4y5yl5qy
 
CI or FS Poly Cleared Job Fair Handbook | June 6
CI or FS Poly Cleared Job Fair Handbook | June 6CI or FS Poly Cleared Job Fair Handbook | June 6
CI or FS Poly Cleared Job Fair Handbook | June 6
ClearedJobs.Net
 
Rally Webinar Recruitment Marketing for High Volume Hiring.pdf
Rally Webinar Recruitment Marketing for High Volume Hiring.pdfRally Webinar Recruitment Marketing for High Volume Hiring.pdf
Rally Webinar Recruitment Marketing for High Volume Hiring.pdf
Rally Recruitment Marketing
 
一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样
一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样
一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样
6budtn3l
 
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...
SocialHRCamp
 
原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样
原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样
原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样
4y5yl5qy
 
The Benefits of Temporary Part-Time Jobs for Students
The Benefits of Temporary Part-Time Jobs for StudentsThe Benefits of Temporary Part-Time Jobs for Students
The Benefits of Temporary Part-Time Jobs for Students
SnapJob
 

Recently uploaded (10)

Promotion & Selection in Indian Railways .ppt
Promotion & Selection in Indian Railways .pptPromotion & Selection in Indian Railways .ppt
Promotion & Selection in Indian Railways .ppt
 
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...
 
Periodical - Employee Spotlight Kathryn Hillenburg
Periodical - Employee Spotlight Kathryn HillenburgPeriodical - Employee Spotlight Kathryn Hillenburg
Periodical - Employee Spotlight Kathryn Hillenburg
 
1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样
1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样
1比1仿制(csun毕业证书)加州州立大学北岭分校毕业证硕士文凭原版一模一样
 
CI or FS Poly Cleared Job Fair Handbook | June 6
CI or FS Poly Cleared Job Fair Handbook | June 6CI or FS Poly Cleared Job Fair Handbook | June 6
CI or FS Poly Cleared Job Fair Handbook | June 6
 
Rally Webinar Recruitment Marketing for High Volume Hiring.pdf
Rally Webinar Recruitment Marketing for High Volume Hiring.pdfRally Webinar Recruitment Marketing for High Volume Hiring.pdf
Rally Webinar Recruitment Marketing for High Volume Hiring.pdf
 
一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样
一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样
一模一样(unh毕业证书)美国新罕布什尔大学毕业证学位证书案例原版一模一样
 
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...
 
原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样
原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样
原版定制(ucdavis毕业证书)加州大学戴维斯分校毕业证学位证书电子版原版一模一样
 
The Benefits of Temporary Part-Time Jobs for Students
The Benefits of Temporary Part-Time Jobs for StudentsThe Benefits of Temporary Part-Time Jobs for Students
The Benefits of Temporary Part-Time Jobs for Students
 

Talent42 2014 Sam Wholley -

  • 1. Confidential Key Software Engineering Concepts for Recruiters Sam Wholley Riviera Partners swholley@rivierapartners.com
  • 2. 2 1 2 3 Software Architecture What’s Hot? Agenda 4 How to Widen Your Candidate Net Confidential Code, Data, & ‘The Cloud’
  • 3.
  • 5.
  • 6. What is Architecture? 6 Build it for extensibility and ease of maintenance: Confidential Be Agile
  • 7. What is Agile Development? 7 • Involve users early, design the ‘grand requirements’. • Split into small units (Scrum). • Develop a unit, and unit test it. • User-test it (ask “is this what you want?”) often. • Iterate, iterate, iterate. Confidential Agile development: moving fast, moving often: Lather Rinse Repeat
  • 8. N-Tier Architecture 8 • Design & layout – images and text. • UI / UX concepts – a nice interface. • HTML,CSS – the actual implementation. • JavaScript – automation, animation, and validation. Confidential The front end (where it’s made to look good): People use the application here.
  • 9. N-Tier Architecture 9 Confidential AJAX: you can actively search for stuff, typically in cached memory or a live database query: • Google uses AJAX/jQuery for type-ahead recommendations. • AJAX can power/position design elements as well. Other front end terms you hear:
  • 10. Javascript Implementations 10 Confidential Front-Endish Handlebars, Mustache, Aural, Kraken, Reactive Coffee, Parrot; haml-js, Angular, Backbone, Ember, Spine, Stapes. Middle-Tierish Node.js, Express, Refactor, Sails, Backbone, Vert.x, OPA, CommonJs. Back-Endish Ember.js Persistence, Backend.js, Persistence.js. Some of the more common JavaScript frameworks:
  • 11. N-Tier Architecture 11 Confidential • Social Media: ‘like’ counts, posts, connections, are calculated. • APIs: application rules are enforced. • Banking: account inquiry, debit == credit, a summary is generated. • Commerce: stream a movie, your credit card gets charged. The middle tier (typically where decisions are made): Other APIs and integration points interface here.
  • 12. N-Tier Architecture 12 Confidential Some methodologies, frameworks, and languages used: • Custom code – all languages apply, it’s the architecture that matters. • Services-Oriented Architecture (SOA). • Message queuing, caching (most times), ‘software infrastructure.’ The middle tier (typically where decisions are made): Other APIs and integration points interface here.
  • 13. N-Tier Architecture 13 Some terms you’ll hear: • Redis, memcache, Varnish: Scaling (in-memory caching.) • Django, JBoss, Rails: User / session management. • RESTful services: application doesn’t depend on sessions. • JSON – a way to pass data cleanly and clearly. Confidential The middle tier (typically where decisions are made): Other APIs and integration points interface here.
  • 14. N-Tier Architecture 14 Some methodologies, frameworks, and languages used: • Hibernate, iBATIS, Objectstore: Persistence. • Oracle, SQL, MySql, PostgreSQL, MongoDB: Storage. • BSON, Avro, XML: Storage, Transport, Serialization. Confidential Stuff is stored here The back end:
  • 15. N-Tier Architecture 15 Other terms you’ll hear: • Hadoop, Cassandra, MapR: NoSQL storage, big data aggregation. • MapReduce: the way NoSQL deals with DB queries. • “Big Data” ≠ Data Warehouse or Datamart (“Lots of Data”.) Confidential The back end: Stuff is stored here
  • 17. 17 Software is core to most modern things, so architecture and scalability matters a great deal. A Mercedes Benz S-Class has about 100 million lines of code in the car’s onboard control system. A Boeing 737 has about 20 million lines. Confidential
  • 18. Code and Compilation 18 Source Code Intermediate Language (IL) Machine Code function Add(int num1, int num2) { return num1 + num2; } moveq.w #0, d1 loop: tst.w d0 beq end move.w d0, (a5,d1) subq.w #1, d0 addq.w #2, d1 braloop end: rts 01100110 01110101 01101110 01100011 01110100 01101001 01101111 01101110 00100000 01001000 01100101 01101100 01101100 01101111 01010111 01101111 01110010 01101100 01100100 00100000 00101000 01110011 01110100 01110010 01101001 01101110 01100111 00100000 01001101 01100101 01110011 01110011 01100001 01100111 01100101 00101001 00100000 01111011 00001101 00001010 00001001 01100001 01101100 01100101 01110010 01110100 00101000 01001101 01100101 01110011 01110011 01100001 01100111 01100101 00101001 00111011 00001101 00001010 01111101 00001101 00001010 Confidential
  • 19. Code Implementation 19 Compiled The entire codebase is translated to the target machine’s ‘language’ directly, as the program is written, and executed from there. Interpreted The codebase is translated and executed as the program is run. Code can be implemented in different ways. The most common are: Confidential
  • 20. Code Implementation 20 When finished writing the code, it’s checked, built, and turned into binary (1s and 0s) for the computer to run. • High load speed and fast execution; • You can add various optimizations during compile process to increase run speed. • Compilers are specific to the hardware platform; • Compiled code requires recompilation to change. Confidential Compiled Code: Typical Examples: C, C++, Java (can be), Visual Basic, Haskell
  • 21. Types of Codebases 21 Confidential The code exists in flexible files and, when the file is executed, the text is compiled and run. • Just-In-Time (JIT) compiled – compiled when executed. • Development is flexible – source code is ‘live’, easy to edit. • Are typically very elastic (e.g.: allow dynamic typing) to make prototyping quick. • Warrant full testing coverage; static code analysis recommended. Interpreted code: Typical Examples: Ruby, Python, JavaScript, PHP.
  • 23. Types of Codebases 23 Confidential The code is checked, built, and turned into bytecode with metadata for a Just-In-Time compiler to compile and run. • Can be compiled or interpreted, but have metadata <data about the data> that helps to secure, define, accelerate, and ‘manage’ the code (both before and after compilation.) • Have a framework that helps to manage the code’s interaction with the broader platform. • In essence, creates a sandbox and runs the code in it. Managed codebase: Typical Examples: C# (.Net), Java are often deployed in a managed fashion.
  • 24. Types of Codebases 24 ALL CODE becomes compiled at some point before it is run. The question is: at which point? Run-timeWrite-time Compiled Managed Interpreted Confidential
  • 25. Programming Paradigms 25 Confidential Object-Oriented Programming • Organizing programs into “things”; these “things” have properties, and actions those “things” can take. • This is compared with a more simplistic: input -> stuff happens -> output logic model. • It also follows how the human brain works (“is a” and “has a”.)
  • 26. Programming Paradigms 26 Functional Programming Defining functions that do specific things and linking them all together, where the outputs of one feed the inputs of the next function, the behavior is determined by the data on the initial input and not on the order in which the functions are declared. Laying out a set of fixed instructions with each instruction executed in the order they are declared in, starting with the first and ending with the last. Confidential Procedural Programming
  • 27.
  • 29. What is the cloud? 29 Confidential Instead of having servers on premise, the “servers” are stored somewhere else: • Hosted or collocated environment (a Private Cloud.) • Amazon: AWS. • Google Cloud. • Microsoft Azure. • VMware Cloud. • Rackspace: OpenStack. Basically, it’s just where all the ‘stuff’ is stored.
  • 30. Why does this matter? 30 SaaS or Cloud Operations: DevOps, continuous integration, release management tools integrated with cloud platforms instead of traditional physical servers. Servers (owned or managed services), networking infrastructure, hardware, uptime, “IT”. Confidential Technical Operations:
  • 32. What’s hottest? 32 Confidential 1. Ruby / Rails 2. Mobile: iOS and Android 3. Python 4. Java 1. Big Data 2. Data Science 3. DevOps 4. Cloud Architecture Competencies & Disciplines Languages
  • 34. 34 Confidential So, what’s the RIGHT answer? It depends… Widening the net…
  • 35. Widening the net… 35 Any good engineer should be able to learn, read, and understand any language or framework, given a reasonable opportunity to learn its intricacies. But, there are some VERY GENERAL similarities that could make it easier for them to jump in. Confidential
  • 36. Widening the net… 36 Confidential • C and C++ syntax are 99.9% identical. › It’s mostly the programming paradigm that’s different. › Test the candidate’s knowledge thoroughly. • JSP, PHP, and Ruby syntax can be similar. • Python and Perl syntax can be similar. • C#, Java, and C++ syntax can be similar. • Pythonic thinking is roughly similar to ‘Rubyist’ thinking (if done right.) For example:
  • 37. Widening the net… 37 Confidential • A good, solid understanding of object-oriented analysis & design will, generally, port to any language. • Holistic engineering thinkers are ‘utility players.’
  • 38. Widening the net… 38 Confidential • The size and stage of the company. • The platform and target language. • The engineer’s role. • The strengths of the team. • The reason for the hire. Consider the environment.
  • 40. Appendix 40 Confidential The following slides include some questions and approaches to discuss with your technical hiring managers. ? ?
  • 41. Some questions… 41 Confidential • Scalability: “Here’s where we’re seeing a bottleneck - what could be some root causes?” • Refactoring: “Here’s our approach, what do you think? Think of an actual problem you’re trying to solve today (that you DON’T know the answer to)? +
  • 42. Some questions… 42 Confidential Think of an actual problem you’re trying to solve today (that you DON’T know the answer to)? • Design Patterns: “Here’s how we are thinking about architecting this service/app/component. What would you do differently, and why?” • Database sharding / partitioning: “From what you can see, what problems might we run into with another 5 million users? With internationalization/localization?”
  • 43. Some questions… 43 Confidential What is an actual problem you HAVE solved (that you DO know the answer to)? • “Here are the symptoms of something that tripped us up: what do you think happened?” • What can we do to prevent this going forward?
  • 44. Some questions… 44 Confidential What new products are in development (that you can share), and how would they think about architecting them? • Talk about something specific to your company’s sector and see how they react to it. • You can ask them about what they have not seen in that sector that they would LIKE to see, and how they would build it. Walk through your architecture, and ask how they would adapt this component to your existing environment.
  • 45. Some questions… 45 Confidential What is the worst production coding / development mistake you’ve ever made? How did you fix it? • Always follow up with: “what did you do to make sure it didn't’t happen again.”
  • 46. Some questions… 46 Confidential • Technical interview questions should also look at how broadly people think about routine tasks. • For example: read all files in a folder, and print the sum of the ASCII values of all characters in the files. • Key Observations: › File I/O, buffers, exceptions. › General knowledge of characters and escape codes. › It’s not going to be perfect, or even compile… You do have to ask technical questions.
  • 47. Some questions… 47 Confidential • Technical interview questions shouldn’t assume a specific level of social or cultural knowledge (e.g.: “Madden 2013”, or “rewrite Tinder in Erlang.”) You do have to ask technical questions. ? ?X X X
  • 48. Some questions… 48 Confidential You do have to ask technical questions. Talk about Object-Oriented Programming concepts: • Ask them to explain polymorphism and inheritance, what the difference is, and what considerations you have to make when designing reusable, extensible classes. • Discuss what Reflection is good for, and when - and when not – to use it. (C++ candidates may use templating).
  • 49. Some questions… 49 Confidential You do have to ask technical questions. Talk about Design Patterns: • Walk through some architectural choices you’ve had to make, and what the tradeoffs are. • Push in just enough to have confidence that they know what questions to ask.
  • 50. Some questions… 50 Confidential You do have to ask technical questions. • Give them a reasonably lengthy code sample with multiple bugs – not language-specific syntax errors, but bugs in logic and overall program flow. Ask them to point out what the issues are, and what they would do to fix them. • Sometimes the overtly simple things might elude more experienced candidates – if you point out a specific issue like that, don’t give them the answer but push in on what the effect is. • The issues should be in different areas of the program to ensure they are looking at the program as a whole (e.g.: efficient use of memory, effective naming conventions, type safety, etc.) Many will not see all of them, but the key is to see how they react.
  • 51. Some questions… 51 Confidential Ask them to explain, at a high level, the key concepts that you are using and ask about pros and cons: • For example: RESTful services: › Pros: easier API for mobile, maps to HTTP protocol standards, manages state well, simple and clean architecture. › Cons: can be easy to expose underlying architecture insecurely if not done right (like C), SOAP can be just so darned easy to hack together… • Based on what you’re looking for, ask them three or four – they won’t nail each of them, but they need to get the majority right – and know where to go to get the answer.
  • 52. Some questions… 52 Confidential What language, framework, methodology have you learned most recently, and why? How did you do it?
  • 53. The point… 53 Confidential You want great general engineering athletes, not (necessarily) superstar position players, for most roles. Unless you NEED the superstar position player. + + +