SlideShare a Scribd company logo
1 of 69
Monday, October 17, 2016 @ 6:00 pm ( link )
Pixability - 77 North Washington Street, Boston, MA
by T. J. Maher
@tjmaher1
10/17/2016 2
About This Talk
How to pass a coding interview as an automation developer
Slides have been posted on SlideShare.Net.
http://slideshare.net/tjmaher1
Note: This presentation has been adapted for SlideShare.
Slideshare does not handle animations.
What used to be originally animations has been split out across
various slides.
What about the audience?
10/17/2016 3How to pass a coding interview as an automation developer
Where are the:
 People who aren’t in the Quality Assurance field who may not
know what we QA people do?
 Manual testers trying to break into the automation field?
 Automation developers?
 Software developers?
10/17/2016 How to pass a coding interview 4
About the Speaker:
Thomas F. Maher, Jr. ( “T.J.” )
@tjmaher1
http://tjmaher.com
About the Speaker:
Thomas F. Maher, Jr. ( “T.J.” )
@tjmaher1
1996: Start of Software Testing Career
2014: Working with Selenium WebDriver / Java
2015: Blogger, Adventures in Automation
2016: Contributing Writer to TechBeacon
 How to pass a coding interview as an automation developer,
by T.J. Maher, Sept 21, 2016
 BSCS from Bridgewater State
 MSE from Brandeis University
Quality Assurance Engineer => End User Advocate
10/17/2016 5
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
10/17/2016 6
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 7
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 8
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 9
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
 Software requirements
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 10
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
 Software requirements
 Acceptance criteria
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 11
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
 Software requirements
 Acceptance criteria
 The software development process
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 12
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
 Software requirements
 Acceptance criteria
 The software development process
 The software itself
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 13
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
 Software requirements
 Acceptance criteria
 The software development process
 The software itself
 My own assumptions about the product
Quality Assurance Engineer => End User Advocate
 Build Model of Customer
 Taking Model through Software Development Process
10/17/2016 14
Quality Assurance: The Fun Parts!
How to pass a coding interview as an automation developer
The Fun Parts: With brand-new functionality, testing the…
 Software requirements
 Acceptance criteria
 The software development process
 The software itself
 My own assumptions about the product
Finding bugs is fun, too … don’t tell the developers…
10/17/2016 15
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
10/17/2016 16
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
10/17/2016 17
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
10/17/2016 18
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
10/17/2016 19
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
 Chrome, Firefox
10/17/2016 20
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
 Chrome, Firefox
 Safari on the Mac
10/17/2016 21
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
 Chrome, Firefox
 Safari on the Mac
Automation Development Makes Things Fun Again: 
10/17/2016 22
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
 Chrome, Firefox
 Safari on the Mac
Automation Development Makes Things Fun Again: 
 Write software to automatically check the old stuff is still
working
10/17/2016 23
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
 Chrome, Firefox
 Safari on the Mac
Automation Development Makes Things Fun Again: 
 Write software to automatically check the old stuff is still
working
 Selenium WebDriver to emulate the user workflows
10/17/2016 24
QA: The Not So Fun Parts! 
How to pass a coding interview as an automation developer
Regression Testing: 
Checking the old functionality still works in:
 IE9, IE10, IE11
 MS Edge
 Chrome, Firefox
 Safari on the Mac
Automation Development Makes Things Fun Again: 
 Write software to automatically check the old stuff is still
working
 Selenium WebDriver to emulate the user workflows
 Testing the Webservices or REST APIs
10/17/2016 25
Before My First Technical Interviews:
Incorrect Assumptions
How to pass a coding interview as an automation developer
The Technical Interview Would Be Based
Around Automation Development
Experience
10/17/2016 26
Before My First Technical Interviews:
Incorrect Assumptions
How to pass a coding interview as an automation developer
Assumption #1:
The Technical Interview Would Be Based
Around Automation Development
Experience
10/17/2016 27
Before My First Technical Interviews:
Incorrect Assumptions
How to pass a coding interview as an automation developer
Assumption #1:
I’d be writing Selenium WebDriver code
either:
 On a laptop
 On a whiteboard
Assumption #2:
10/17/2016 28
The Technical Interview
How to pass a coding interview as an automation developer
A developer instructed me to go to the whiteboard and answer the
following:
10/17/2016 29
The Technical Interview
How to pass a coding interview as an automation developer
A developer instructed me to go to the whiteboard and answer the
following:
10/17/2016 30
The Technical Interview
How to pass a coding interview as an automation developer
“Using your favorite programming
language: Write a method that
checks to see if a given word is a
palindrome.”
A developer instructed me to go to the whiteboard and answer the
following:
10/17/2016 31
The Technical Interview
How to pass a coding interview as an automation developer
“Using your favorite programming
language: Write a method that
checks to see if a given word is a
palindrome.
“Example palindromes: ‘noon’ and
‘racecar’.”
10/17/2016 32How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
10/17/2016 33
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do …
10/17/2016 34
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do … ANYTHING!!
10/17/2016 35
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do … ANYTHING!!
• Scribbled something down....
10/17/2016 36
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do … ANYTHING!!
• Scribbled something down....
• Erased it.
10/17/2016 37
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do … ANYTHING!!
• Scribbled something down....
• Erased it.
• Scribbled something down...
10/17/2016 38
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do … ANYTHING!!
• Scribbled something down....
• Erased it.
• Scribbled something down...
• Stared blankly.
10/17/2016 39
And then this happened…
How to pass a coding interview as an automation developer
• Blank Staring at Whiteboard
• Developers waiting for me to do … ANYTHING!!
• Scribbled something down....
• Erased it.
• Scribbled something down...
• Stared blankly.
• Finished only half of the problem.
10/17/2016 40
And then this happened…
How to pass a coding interview as an automation developer
I joked with the interviewers. If only:
10/17/2016 41
Technical Interview: The Aftermath
How to pass a coding interview as an automation developer
I joked with the interviewers. If only:
 Questions focused solely on automation
10/17/2016 42
Technical Interview: The Aftermath
How to pass a coding interview as an automation developer
I joked with the interviewers. If only:
 Questions focused solely on automation
 Interview demoed writing an automation script
10/17/2016 43
Technical Interview: The Aftermath
How to pass a coding interview as an automation developer
I joked with the interviewers. If only:
 Questions focused solely on automation
 Interview demoed writing an automation script
Their response:
10/17/2016 44
Technical Interview: The Aftermath
How to pass a coding interview as an automation developer
I joked with the interviewers. If only:
 Questions focused solely on automation
 Interview demoed writing an automation script
Their response:
“All employees are expected to meet a certain
minimum standard of coding knowledge, even
for quality assurance positions”.
10/17/2016 45
Technical Interview: The Aftermath
How to pass a coding interview as an automation developer
I joked with the interviewers. If only:
 Questions focused solely on automation
 Interview demoed writing an automation script
Their response:
“All employees are expected to meet a certain
minimum standard of coding knowledge, even
for quality assurance positions”.
10/17/2016 46
Technical Interview: The Aftermath
How to pass a coding interview as an automation developer
… These types of questions asked in 10 out of 12 of my
interviews!
10/17/2016 47
New Requirements
For Automation Developers
How to pass a coding interview as an automation developer
 Screening for Basic Fluency in a Programming Language
10/17/2016 48
New Requirements
For Automation Developers
How to pass a coding interview as an automation developer
 Screening for Basic Fluency in a Programming Language
 Automation Developers asked same interview questions as
Software Developers
10/17/2016 49
New Requirements
For Automation Developers
How to pass a coding interview as an automation developer
 Screening for Basic Fluency in a Programming Language
 Automation Developers asked same interview questions as
Software Developers
 Automation Developers are Software Developers
10/17/2016 50
New Requirements
For Automation Developers
How to pass a coding interview as an automation developer
 Screening for Basic Fluency in a Programming Language
 Automation Developers asked same interview questions as
Software Developers
 Automation Developers are Software Developers
 Same code quality in the automation test framework as the
software application itself.
10/17/2016 51
New Requirements
For Automation Developers
How to pass a coding interview as an automation developer
Step 1: Take a Refresher Course:
10/17/2016 52
How to Become Fluent in Coding?
How to pass a coding interview as an automation developer
Step 1: Take a Refresher Course:
 Members of the Boston Public Library get a free subscription
to Lynda.com.
10/17/2016 53
How to Become Fluent in Coding?
How to pass a coding interview as an automation developer
Step 1: Take a Refresher Course:
 Members of the Boston Public Library get a free subscription
to Lynda.com.
 Massively Open Online Courses such as Mooc.org, indexes
absolutely free edX courses from Harvard, MIT and other
colleges dealing with Computer Science, Java
10/17/2016 54
How to Become Fluent in Coding?
How to pass a coding interview as an automation developer
Step 1: Take a Refresher Course:
 Members of the Boston Public Library get a free subscription
to Lynda.com.
 Massively Open Online Courses such as Mooc.org, indexes
absolutely free edX courses from Harvard, MIT and other
colleges dealing with Computer Science, Java
 Coursera.org by Duke, Stanford, Johns Hopkins
10/17/2016 55
How to Become Fluent in Coding?
How to pass a coding interview as an automation developer
Step 1: Take a Refresher Course:
 Members of the Boston Public Library get a free subscription
to Lynda.com.
 Massively Open Online Courses such as Mooc.org, indexes
absolutely free edX courses from Harvard, MIT and other
colleges dealing with Computer Science, Java
 Coursera.org by Duke, Stanford, Johns Hopkins
 Udacity.org, backed by Google, AT&T and Amazon, also has
free courses in Java, JavaScript, etc. Learn by creating
projects.
10/17/2016 56
How to Become Fluent in Coding?
How to pass a coding interview as an automation developer
Step 2: Read the Documentation:
 Learning Java? Java has official “Learning trails” with chapters such
as Getting Started, Learning the Java Language, and Essential Java
Classes.
 Learning JavaScript? Free online books such as Speaking
JavaScript. Other resources are listed on my blog.
10/17/2016 57How to pass a coding interview as an automation developer
Step 2: Read the Documentation:
 Learning Java? Java has official “Learning trails” with chapters such
as Getting Started, Learning the Java Language, and Essential Java
Classes.
 Learning JavaScript? Free online books such as Speaking
JavaScript. Other resources are listed on my blog.
Step 3: Solve Coding Problems on Paper
 Make up simple homework examples and solve them on
paper while reading documentation.
 DON’T DO CRAM SESSIONS
 Create functions that do mathematical operations or string
comparison.
10/17/2016 58How to pass a coding interview as an automation developer
Mathematic Examples:
Sketch out on paper a function that uses a for loop to print out,
in the range of 1 to 100:
 All even numbers within that range
 All odd numbers.
 All numbers divisible by three
 All numbers divisible by three and five
String Manipulation:
Sketch out a function that takes in a string s and returns:
 The length as an integer (Java: s.length)
 The first character (s.charAt(0) )
 The last character (s.charAt(s.length - 1) )
10/17/2016 59How to pass a coding interview as an automation developer
10/17/2016 60
During the Coding Interview
How to pass a coding interview as an automation developer
1. Define the problem:
Take a moment to think of what information you need from
the interviewer to solve the problem.
Do candidates immediately jump into the code, possibly not
realizing that the specs are unclear?
Or do they take a step back, examine the problem and gather
the requirements?
10/17/2016 61How to pass a coding interview as an automation developer
2. Start with initial test cases:
Do candidates come up with enough edge cases to test their
code? How thorough are they? Do they go through test data
with us?
If Palindromes are matched character by character, space by
space:
 “noon”, “racecar” 
 “Madam, I’m Adam” 
 “Alpha” 
 “A Man, A Plan, A Canal: Panama!” 
Single character strings? 
Empty Strings? 
10/17/2016 62How to pass a coding interview as an automation developer
3. Walk the interviewer through solution
Does the candidate sketch out the problem, talking out loud so the
interviewer can get a sense of the candidate's thoughts on solving
the problem?
10/17/2016 63How to pass a coding interview as an automation developer
3. Walk the interviewer through solution
Does the candidate sketch out the problem, talking out loud so the
interviewer can get a sense of the candidate's thoughts on solving
the problem?
4. Come up with a solution
Can the candidate write clear and concise code?
10/17/2016 64How to pass a coding interview as an automation developer
3. Walk the interviewer through solution
Does the candidate sketch out the problem, talking out loud so the
interviewer can get a sense of the candidate's thoughts on solving
the problem?
4. Come up with a solution
Can the candidate write clear and concise code?
5. Debug and Test Your Code
Does the candidate accept feedback gracefully?
10/17/2016 65
Summary
How to pass a coding interview as an automation developer
Find basic coding problems on the web.
Solve them with a pen and paper.
Find official documentation to see if built in functions can help
you
Come up with your own solution first
Don't do cram sessions. That merely store the information in
your short-term memory.
Practice a little bit at a time
Don't go through all this effort just to pass a
whiteboard test.
Aim higher! Make it your goal to be a better
programmer.
Thank you!
10/17/2016 How to pass a coding interview 66
10/17/2016 67
Appendix: Palindrome Solutions
How to pass a coding interview as an automation developer
public boolean isPalindrome(String s) {
int head = 0;
int tail = s.length() - 1;
while (head < tail) {
if (s.charAt(head) != s.charAt(tail)) {
return false;
}
head++;
tail--;
}
return true;
}
Attempt #1:
10/17/2016 68How to pass a coding interview as an automation developer
public boolean isPalindrome(String s) {
int len = s.length;
for (int i = 0; i < len / 2; i++) {
if ( s.charAt(i) != s.charAt(len-1- i)) {
return false;
}
}
return true;
}
Attempt #2:
Write the code using a basic for loop.
10/17/2016 69
Further Reading
How to pass a coding interview as an automation developer
Coding Interviews:
 Gayle Laakmann McDowell's book, Cracking the Coding
Interview
 "Get that Job at Google", Steve Yegge, March 12, 2008
 "Get that Job at Facebook", Carlos Bueno, July 20, 2012
Practice Questions:
 Top Ten Algorithms For Coding Interviews
The slides are at:
http://slideshare.net/tjmaher1

More Related Content

What's hot

SauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital EditionSauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital EditionSauce Labs
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsIsaac Murchie
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA TeamSrijan Technologies
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appiumJames Eisenhauer
 
SauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of ConcurrencySauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of ConcurrencySauce Labs
 
How to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous TestingHow to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous TestingPerfecto by Perforce
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android ApplicationsLeif Janzik
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best PracticesSauce Labs
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsAndreas Grabner
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5Sauce Labs
 
Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appiumVodqaBLR
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryMike McGarr
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Sauce Labs
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerSauce Labs
 
LinkedIn's Consistent Android Testing Environments Using Gradle
LinkedIn's Consistent Android Testing Environments Using GradleLinkedIn's Consistent Android Testing Environments Using Gradle
LinkedIn's Consistent Android Testing Environments Using GradleDrew Hannay
 
Js foo famo.us- build native quality apps using html5 within a day
Js foo  famo.us- build native quality apps using html5 within a dayJs foo  famo.us- build native quality apps using html5 within a day
Js foo famo.us- build native quality apps using html5 within a dayDebnath Sinha
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right ProjectOri Bendet
 

What's hot (20)

SauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital EditionSauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital Edition
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce Labs
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
 
SauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of ConcurrencySauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of Concurrency
 
How to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous TestingHow to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous Testing
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best Practices
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appium
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous Delivery
 
Your API is not a Website!
Your API is not a Website!Your API is not a Website!
Your API is not a Website!
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
 
LinkedIn's Consistent Android Testing Environments Using Gradle
LinkedIn's Consistent Android Testing Environments Using GradleLinkedIn's Consistent Android Testing Environments Using Gradle
LinkedIn's Consistent Android Testing Environments Using Gradle
 
Js foo famo.us- build native quality apps using html5 within a day
Js foo  famo.us- build native quality apps using html5 within a dayJs foo  famo.us- build native quality apps using html5 within a day
Js foo famo.us- build native quality apps using html5 within a day
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right Project
 

Viewers also liked

Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationSauce Labs
 
Managers, Future Proof Your Automation
Managers, Future Proof Your AutomationManagers, Future Proof Your Automation
Managers, Future Proof Your AutomationSauce Labs
 
Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"Greg Tutunjian
 
The Social Semantic Web
The Social Semantic Web The Social Semantic Web
The Social Semantic Web John Breslin
 
Using narratives in enterprise gamification for sales, training, service and ...
Using narratives in enterprise gamification for sales, training, service and ...Using narratives in enterprise gamification for sales, training, service and ...
Using narratives in enterprise gamification for sales, training, service and ...Centrical
 
Social Networks, Dominance And Interoperability
Social Networks, Dominance And InteroperabilitySocial Networks, Dominance And Interoperability
Social Networks, Dominance And Interoperabilityblogzilla
 
Increase your college’s visibility with content curation
Increase your college’s visibility with content curationIncrease your college’s visibility with content curation
Increase your college’s visibility with content curationHigher Education Marketing
 
The digital traces of user generated content
The digital traces of user generated contentThe digital traces of user generated content
The digital traces of user generated contentKatrin Weller
 
Social Media and Scholarly Communication
Social Media and Scholarly CommunicationSocial Media and Scholarly Communication
Social Media and Scholarly CommunicationCrossref
 
PLNs, CoPs, and Connectivism
PLNs, CoPs, and ConnectivismPLNs, CoPs, and Connectivism
PLNs, CoPs, and ConnectivismDavid Mulder
 
The Social Semantic Web
The Social Semantic WebThe Social Semantic Web
The Social Semantic WebJohn Breslin
 
Gamification: How it can be used to Engage Library Users
Gamification: How it can be used to Engage Library UsersGamification: How it can be used to Engage Library Users
Gamification: How it can be used to Engage Library UsersSt. Petersburg College
 
Global inspiration, local action #ili2014
Global inspiration, local action #ili2014Global inspiration, local action #ili2014
Global inspiration, local action #ili2014Jan Holmquist
 
Predicting Discussions on the Social Semantic Web
Predicting Discussions on the Social Semantic WebPredicting Discussions on the Social Semantic Web
Predicting Discussions on the Social Semantic WebMatthew Rowe
 
Twitter as a First Draft of the Present – and the Challenges of Preserving It...
Twitter as a First Draft of the Present – and the Challenges of Preserving It...Twitter as a First Draft of the Present – and the Challenges of Preserving It...
Twitter as a First Draft of the Present – and the Challenges of Preserving It...Axel Bruns
 
Effective Content Curation in Higher Ed
Effective Content Curation in Higher EdEffective Content Curation in Higher Ed
Effective Content Curation in Higher Edmeetcontent
 
Why Semantic Knowledge Graphs matter
Why Semantic Knowledge Graphs matterWhy Semantic Knowledge Graphs matter
Why Semantic Knowledge Graphs matterAndreas Blumauer
 

Viewers also liked (20)

Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test Automation
 
Managers, Future Proof Your Automation
Managers, Future Proof Your AutomationManagers, Future Proof Your Automation
Managers, Future Proof Your Automation
 
Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"Test Automation In The Hands of "The Business"
Test Automation In The Hands of "The Business"
 
The Social Semantic Web
The Social Semantic Web The Social Semantic Web
The Social Semantic Web
 
Using narratives in enterprise gamification for sales, training, service and ...
Using narratives in enterprise gamification for sales, training, service and ...Using narratives in enterprise gamification for sales, training, service and ...
Using narratives in enterprise gamification for sales, training, service and ...
 
Social Networks, Dominance And Interoperability
Social Networks, Dominance And InteroperabilitySocial Networks, Dominance And Interoperability
Social Networks, Dominance And Interoperability
 
About the Social Semantic Web
About the Social Semantic WebAbout the Social Semantic Web
About the Social Semantic Web
 
SIOC
SIOCSIOC
SIOC
 
Increase your college’s visibility with content curation
Increase your college’s visibility with content curationIncrease your college’s visibility with content curation
Increase your college’s visibility with content curation
 
The digital traces of user generated content
The digital traces of user generated contentThe digital traces of user generated content
The digital traces of user generated content
 
Social Media and Scholarly Communication
Social Media and Scholarly CommunicationSocial Media and Scholarly Communication
Social Media and Scholarly Communication
 
PLNs, CoPs, and Connectivism
PLNs, CoPs, and ConnectivismPLNs, CoPs, and Connectivism
PLNs, CoPs, and Connectivism
 
The Social Semantic Web
The Social Semantic WebThe Social Semantic Web
The Social Semantic Web
 
Gamification: How it can be used to Engage Library Users
Gamification: How it can be used to Engage Library UsersGamification: How it can be used to Engage Library Users
Gamification: How it can be used to Engage Library Users
 
Global inspiration, local action #ili2014
Global inspiration, local action #ili2014Global inspiration, local action #ili2014
Global inspiration, local action #ili2014
 
Predicting Discussions on the Social Semantic Web
Predicting Discussions on the Social Semantic WebPredicting Discussions on the Social Semantic Web
Predicting Discussions on the Social Semantic Web
 
Twitter as a First Draft of the Present – and the Challenges of Preserving It...
Twitter as a First Draft of the Present – and the Challenges of Preserving It...Twitter as a First Draft of the Present – and the Challenges of Preserving It...
Twitter as a First Draft of the Present – and the Challenges of Preserving It...
 
Effective Content Curation in Higher Ed
Effective Content Curation in Higher EdEffective Content Curation in Higher Ed
Effective Content Curation in Higher Ed
 
Why Semantic Knowledge Graphs matter
Why Semantic Knowledge Graphs matterWhy Semantic Knowledge Graphs matter
Why Semantic Knowledge Graphs matter
 
Gamification in Libraries
Gamification in LibrariesGamification in Libraries
Gamification in Libraries
 

Similar to How to pass a coding interview as an automation developer talk - Oct 17 2016

The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxPVS-Studio
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Conversionista : Conversion manager course - Stockholm 20 march 2013
Conversionista : Conversion manager course  - Stockholm 20 march 2013Conversionista : Conversion manager course  - Stockholm 20 march 2013
Conversionista : Conversion manager course - Stockholm 20 march 2013Craig Sullivan
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Skills Matter
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android StudioRamon Ribeiro Rabello
 
Third Party Footprint: Evaluating the Performance of External Scripts
Third Party Footprint: Evaluating the Performance of External ScriptsThird Party Footprint: Evaluating the Performance of External Scripts
Third Party Footprint: Evaluating the Performance of External ScriptsBarbara Bermes
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Lemi Orhan Ergin
 
Top 9 Automation Testing Tools In 2023 And Beyond.pdf
Top 9 Automation Testing Tools In 2023 And Beyond.pdfTop 9 Automation Testing Tools In 2023 And Beyond.pdf
Top 9 Automation Testing Tools In 2023 And Beyond.pdfSatawareTechnologies6
 
INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...
INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...
INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...apidays
 
Leveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextLeveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextPerfecto by Perforce
 
Static analysis as part of the development process in Unreal Engine
Static analysis as part of the development process in Unreal EngineStatic analysis as part of the development process in Unreal Engine
Static analysis as part of the development process in Unreal EnginePVS-Studio
 
API Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdfAPI Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdfiDataScientists
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabbleCraig Sullivan
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Dynatrace
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
API-Design-Using-ChatGPT
API-Design-Using-ChatGPTAPI-Design-Using-ChatGPT
API-Design-Using-ChatGPTRahul Dighe
 

Similar to How to pass a coding interview as an automation developer talk - Oct 17 2016 (20)

The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Conversionista : Conversion manager course - Stockholm 20 march 2013
Conversionista : Conversion manager course  - Stockholm 20 march 2013Conversionista : Conversion manager course  - Stockholm 20 march 2013
Conversionista : Conversion manager course - Stockholm 20 march 2013
 
4 Leading Test Automation Tools.pdf
4 Leading Test Automation Tools.pdf4 Leading Test Automation Tools.pdf
4 Leading Test Automation Tools.pdf
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android Studio
 
Third Party Footprint: Evaluating the Performance of External Scripts
Third Party Footprint: Evaluating the Performance of External ScriptsThird Party Footprint: Evaluating the Performance of External Scripts
Third Party Footprint: Evaluating the Performance of External Scripts
 
Tec314f
Tec314fTec314f
Tec314f
 
BDD: There's more to it than you think
BDD: There's more to it than you thinkBDD: There's more to it than you think
BDD: There's more to it than you think
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017
 
Top 9 Automation Testing Tools In 2023 And Beyond.pdf
Top 9 Automation Testing Tools In 2023 And Beyond.pdfTop 9 Automation Testing Tools In 2023 And Beyond.pdf
Top 9 Automation Testing Tools In 2023 And Beyond.pdf
 
INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...
INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...
INTERFACE by apidays 2023 - Refining Your API: The Last Mile of API Design, J...
 
Leveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextLeveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps Next
 
Static analysis as part of the development process in Unreal Engine
Static analysis as part of the development process in Unreal EngineStatic analysis as part of the development process in Unreal Engine
Static analysis as part of the development process in Unreal Engine
 
API Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdfAPI Testing Useful Tools Postman Tutorial And Hints.pdf
API Testing Useful Tools Postman Tutorial And Hints.pdf
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabble
 
Peer review
Peer reviewPeer review
Peer review
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
API-Design-Using-ChatGPT
API-Design-Using-ChatGPTAPI-Design-Using-ChatGPT
API-Design-Using-ChatGPT
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

How to pass a coding interview as an automation developer talk - Oct 17 2016

  • 1. Monday, October 17, 2016 @ 6:00 pm ( link ) Pixability - 77 North Washington Street, Boston, MA by T. J. Maher @tjmaher1
  • 2. 10/17/2016 2 About This Talk How to pass a coding interview as an automation developer Slides have been posted on SlideShare.Net. http://slideshare.net/tjmaher1 Note: This presentation has been adapted for SlideShare. Slideshare does not handle animations. What used to be originally animations has been split out across various slides.
  • 3. What about the audience? 10/17/2016 3How to pass a coding interview as an automation developer Where are the:  People who aren’t in the Quality Assurance field who may not know what we QA people do?  Manual testers trying to break into the automation field?  Automation developers?  Software developers?
  • 4. 10/17/2016 How to pass a coding interview 4 About the Speaker: Thomas F. Maher, Jr. ( “T.J.” ) @tjmaher1 http://tjmaher.com About the Speaker: Thomas F. Maher, Jr. ( “T.J.” ) @tjmaher1 1996: Start of Software Testing Career 2014: Working with Selenium WebDriver / Java 2015: Blogger, Adventures in Automation 2016: Contributing Writer to TechBeacon  How to pass a coding interview as an automation developer, by T.J. Maher, Sept 21, 2016  BSCS from Bridgewater State  MSE from Brandeis University
  • 5. Quality Assurance Engineer => End User Advocate 10/17/2016 5 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer
  • 6. Quality Assurance Engineer => End User Advocate  Build Model of Customer 10/17/2016 6 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer
  • 7. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 7 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer
  • 8. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 8 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…
  • 9. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 9 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…  Software requirements
  • 10. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 10 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…  Software requirements  Acceptance criteria
  • 11. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 11 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…  Software requirements  Acceptance criteria  The software development process
  • 12. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 12 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…  Software requirements  Acceptance criteria  The software development process  The software itself
  • 13. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 13 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…  Software requirements  Acceptance criteria  The software development process  The software itself  My own assumptions about the product
  • 14. Quality Assurance Engineer => End User Advocate  Build Model of Customer  Taking Model through Software Development Process 10/17/2016 14 Quality Assurance: The Fun Parts! How to pass a coding interview as an automation developer The Fun Parts: With brand-new functionality, testing the…  Software requirements  Acceptance criteria  The software development process  The software itself  My own assumptions about the product Finding bugs is fun, too … don’t tell the developers…
  • 15. 10/17/2016 15 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer
  • 16. 10/17/2016 16 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing: 
  • 17. 10/17/2016 17 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11
  • 18. 10/17/2016 18 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge
  • 19. 10/17/2016 19 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge  Chrome, Firefox
  • 20. 10/17/2016 20 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge  Chrome, Firefox  Safari on the Mac
  • 21. 10/17/2016 21 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge  Chrome, Firefox  Safari on the Mac Automation Development Makes Things Fun Again: 
  • 22. 10/17/2016 22 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge  Chrome, Firefox  Safari on the Mac Automation Development Makes Things Fun Again:   Write software to automatically check the old stuff is still working
  • 23. 10/17/2016 23 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge  Chrome, Firefox  Safari on the Mac Automation Development Makes Things Fun Again:   Write software to automatically check the old stuff is still working  Selenium WebDriver to emulate the user workflows
  • 24. 10/17/2016 24 QA: The Not So Fun Parts!  How to pass a coding interview as an automation developer Regression Testing:  Checking the old functionality still works in:  IE9, IE10, IE11  MS Edge  Chrome, Firefox  Safari on the Mac Automation Development Makes Things Fun Again:   Write software to automatically check the old stuff is still working  Selenium WebDriver to emulate the user workflows  Testing the Webservices or REST APIs
  • 25. 10/17/2016 25 Before My First Technical Interviews: Incorrect Assumptions How to pass a coding interview as an automation developer
  • 26. The Technical Interview Would Be Based Around Automation Development Experience 10/17/2016 26 Before My First Technical Interviews: Incorrect Assumptions How to pass a coding interview as an automation developer Assumption #1:
  • 27. The Technical Interview Would Be Based Around Automation Development Experience 10/17/2016 27 Before My First Technical Interviews: Incorrect Assumptions How to pass a coding interview as an automation developer Assumption #1: I’d be writing Selenium WebDriver code either:  On a laptop  On a whiteboard Assumption #2:
  • 28. 10/17/2016 28 The Technical Interview How to pass a coding interview as an automation developer
  • 29. A developer instructed me to go to the whiteboard and answer the following: 10/17/2016 29 The Technical Interview How to pass a coding interview as an automation developer
  • 30. A developer instructed me to go to the whiteboard and answer the following: 10/17/2016 30 The Technical Interview How to pass a coding interview as an automation developer “Using your favorite programming language: Write a method that checks to see if a given word is a palindrome.”
  • 31. A developer instructed me to go to the whiteboard and answer the following: 10/17/2016 31 The Technical Interview How to pass a coding interview as an automation developer “Using your favorite programming language: Write a method that checks to see if a given word is a palindrome. “Example palindromes: ‘noon’ and ‘racecar’.”
  • 32. 10/17/2016 32How to pass a coding interview as an automation developer
  • 33. • Blank Staring at Whiteboard 10/17/2016 33 And then this happened… How to pass a coding interview as an automation developer
  • 34. • Blank Staring at Whiteboard • Developers waiting for me to do … 10/17/2016 34 And then this happened… How to pass a coding interview as an automation developer
  • 35. • Blank Staring at Whiteboard • Developers waiting for me to do … ANYTHING!! 10/17/2016 35 And then this happened… How to pass a coding interview as an automation developer
  • 36. • Blank Staring at Whiteboard • Developers waiting for me to do … ANYTHING!! • Scribbled something down.... 10/17/2016 36 And then this happened… How to pass a coding interview as an automation developer
  • 37. • Blank Staring at Whiteboard • Developers waiting for me to do … ANYTHING!! • Scribbled something down.... • Erased it. 10/17/2016 37 And then this happened… How to pass a coding interview as an automation developer
  • 38. • Blank Staring at Whiteboard • Developers waiting for me to do … ANYTHING!! • Scribbled something down.... • Erased it. • Scribbled something down... 10/17/2016 38 And then this happened… How to pass a coding interview as an automation developer
  • 39. • Blank Staring at Whiteboard • Developers waiting for me to do … ANYTHING!! • Scribbled something down.... • Erased it. • Scribbled something down... • Stared blankly. 10/17/2016 39 And then this happened… How to pass a coding interview as an automation developer
  • 40. • Blank Staring at Whiteboard • Developers waiting for me to do … ANYTHING!! • Scribbled something down.... • Erased it. • Scribbled something down... • Stared blankly. • Finished only half of the problem. 10/17/2016 40 And then this happened… How to pass a coding interview as an automation developer
  • 41. I joked with the interviewers. If only: 10/17/2016 41 Technical Interview: The Aftermath How to pass a coding interview as an automation developer
  • 42. I joked with the interviewers. If only:  Questions focused solely on automation 10/17/2016 42 Technical Interview: The Aftermath How to pass a coding interview as an automation developer
  • 43. I joked with the interviewers. If only:  Questions focused solely on automation  Interview demoed writing an automation script 10/17/2016 43 Technical Interview: The Aftermath How to pass a coding interview as an automation developer
  • 44. I joked with the interviewers. If only:  Questions focused solely on automation  Interview demoed writing an automation script Their response: 10/17/2016 44 Technical Interview: The Aftermath How to pass a coding interview as an automation developer
  • 45. I joked with the interviewers. If only:  Questions focused solely on automation  Interview demoed writing an automation script Their response: “All employees are expected to meet a certain minimum standard of coding knowledge, even for quality assurance positions”. 10/17/2016 45 Technical Interview: The Aftermath How to pass a coding interview as an automation developer
  • 46. I joked with the interviewers. If only:  Questions focused solely on automation  Interview demoed writing an automation script Their response: “All employees are expected to meet a certain minimum standard of coding knowledge, even for quality assurance positions”. 10/17/2016 46 Technical Interview: The Aftermath How to pass a coding interview as an automation developer … These types of questions asked in 10 out of 12 of my interviews!
  • 47. 10/17/2016 47 New Requirements For Automation Developers How to pass a coding interview as an automation developer
  • 48.  Screening for Basic Fluency in a Programming Language 10/17/2016 48 New Requirements For Automation Developers How to pass a coding interview as an automation developer
  • 49.  Screening for Basic Fluency in a Programming Language  Automation Developers asked same interview questions as Software Developers 10/17/2016 49 New Requirements For Automation Developers How to pass a coding interview as an automation developer
  • 50.  Screening for Basic Fluency in a Programming Language  Automation Developers asked same interview questions as Software Developers  Automation Developers are Software Developers 10/17/2016 50 New Requirements For Automation Developers How to pass a coding interview as an automation developer
  • 51.  Screening for Basic Fluency in a Programming Language  Automation Developers asked same interview questions as Software Developers  Automation Developers are Software Developers  Same code quality in the automation test framework as the software application itself. 10/17/2016 51 New Requirements For Automation Developers How to pass a coding interview as an automation developer
  • 52. Step 1: Take a Refresher Course: 10/17/2016 52 How to Become Fluent in Coding? How to pass a coding interview as an automation developer
  • 53. Step 1: Take a Refresher Course:  Members of the Boston Public Library get a free subscription to Lynda.com. 10/17/2016 53 How to Become Fluent in Coding? How to pass a coding interview as an automation developer
  • 54. Step 1: Take a Refresher Course:  Members of the Boston Public Library get a free subscription to Lynda.com.  Massively Open Online Courses such as Mooc.org, indexes absolutely free edX courses from Harvard, MIT and other colleges dealing with Computer Science, Java 10/17/2016 54 How to Become Fluent in Coding? How to pass a coding interview as an automation developer
  • 55. Step 1: Take a Refresher Course:  Members of the Boston Public Library get a free subscription to Lynda.com.  Massively Open Online Courses such as Mooc.org, indexes absolutely free edX courses from Harvard, MIT and other colleges dealing with Computer Science, Java  Coursera.org by Duke, Stanford, Johns Hopkins 10/17/2016 55 How to Become Fluent in Coding? How to pass a coding interview as an automation developer
  • 56. Step 1: Take a Refresher Course:  Members of the Boston Public Library get a free subscription to Lynda.com.  Massively Open Online Courses such as Mooc.org, indexes absolutely free edX courses from Harvard, MIT and other colleges dealing with Computer Science, Java  Coursera.org by Duke, Stanford, Johns Hopkins  Udacity.org, backed by Google, AT&T and Amazon, also has free courses in Java, JavaScript, etc. Learn by creating projects. 10/17/2016 56 How to Become Fluent in Coding? How to pass a coding interview as an automation developer
  • 57. Step 2: Read the Documentation:  Learning Java? Java has official “Learning trails” with chapters such as Getting Started, Learning the Java Language, and Essential Java Classes.  Learning JavaScript? Free online books such as Speaking JavaScript. Other resources are listed on my blog. 10/17/2016 57How to pass a coding interview as an automation developer
  • 58. Step 2: Read the Documentation:  Learning Java? Java has official “Learning trails” with chapters such as Getting Started, Learning the Java Language, and Essential Java Classes.  Learning JavaScript? Free online books such as Speaking JavaScript. Other resources are listed on my blog. Step 3: Solve Coding Problems on Paper  Make up simple homework examples and solve them on paper while reading documentation.  DON’T DO CRAM SESSIONS  Create functions that do mathematical operations or string comparison. 10/17/2016 58How to pass a coding interview as an automation developer
  • 59. Mathematic Examples: Sketch out on paper a function that uses a for loop to print out, in the range of 1 to 100:  All even numbers within that range  All odd numbers.  All numbers divisible by three  All numbers divisible by three and five String Manipulation: Sketch out a function that takes in a string s and returns:  The length as an integer (Java: s.length)  The first character (s.charAt(0) )  The last character (s.charAt(s.length - 1) ) 10/17/2016 59How to pass a coding interview as an automation developer
  • 60. 10/17/2016 60 During the Coding Interview How to pass a coding interview as an automation developer 1. Define the problem: Take a moment to think of what information you need from the interviewer to solve the problem. Do candidates immediately jump into the code, possibly not realizing that the specs are unclear? Or do they take a step back, examine the problem and gather the requirements?
  • 61. 10/17/2016 61How to pass a coding interview as an automation developer 2. Start with initial test cases: Do candidates come up with enough edge cases to test their code? How thorough are they? Do they go through test data with us? If Palindromes are matched character by character, space by space:  “noon”, “racecar”   “Madam, I’m Adam”   “Alpha”   “A Man, A Plan, A Canal: Panama!”  Single character strings?  Empty Strings? 
  • 62. 10/17/2016 62How to pass a coding interview as an automation developer 3. Walk the interviewer through solution Does the candidate sketch out the problem, talking out loud so the interviewer can get a sense of the candidate's thoughts on solving the problem?
  • 63. 10/17/2016 63How to pass a coding interview as an automation developer 3. Walk the interviewer through solution Does the candidate sketch out the problem, talking out loud so the interviewer can get a sense of the candidate's thoughts on solving the problem? 4. Come up with a solution Can the candidate write clear and concise code?
  • 64. 10/17/2016 64How to pass a coding interview as an automation developer 3. Walk the interviewer through solution Does the candidate sketch out the problem, talking out loud so the interviewer can get a sense of the candidate's thoughts on solving the problem? 4. Come up with a solution Can the candidate write clear and concise code? 5. Debug and Test Your Code Does the candidate accept feedback gracefully?
  • 65. 10/17/2016 65 Summary How to pass a coding interview as an automation developer Find basic coding problems on the web. Solve them with a pen and paper. Find official documentation to see if built in functions can help you Come up with your own solution first Don't do cram sessions. That merely store the information in your short-term memory. Practice a little bit at a time
  • 66. Don't go through all this effort just to pass a whiteboard test. Aim higher! Make it your goal to be a better programmer. Thank you! 10/17/2016 How to pass a coding interview 66
  • 67. 10/17/2016 67 Appendix: Palindrome Solutions How to pass a coding interview as an automation developer public boolean isPalindrome(String s) { int head = 0; int tail = s.length() - 1; while (head < tail) { if (s.charAt(head) != s.charAt(tail)) { return false; } head++; tail--; } return true; } Attempt #1:
  • 68. 10/17/2016 68How to pass a coding interview as an automation developer public boolean isPalindrome(String s) { int len = s.length; for (int i = 0; i < len / 2; i++) { if ( s.charAt(i) != s.charAt(len-1- i)) { return false; } } return true; } Attempt #2: Write the code using a basic for loop.
  • 69. 10/17/2016 69 Further Reading How to pass a coding interview as an automation developer Coding Interviews:  Gayle Laakmann McDowell's book, Cracking the Coding Interview  "Get that Job at Google", Steve Yegge, March 12, 2008  "Get that Job at Facebook", Carlos Bueno, July 20, 2012 Practice Questions:  Top Ten Algorithms For Coding Interviews The slides are at: http://slideshare.net/tjmaher1

Editor's Notes

  1. I’ve include a lot of links to reference material in these slides. If you wish to get a copy of them, I have uploaded them to my slideshare account at Slideshare.net/tjmaher1. You’ll see that link again at the end of the talk.
  2. Before I begin talking about myself and my interview experience, by a show of hands, are there any people who aren’t software testers or in the Quality Assurance field? … Good! Welcome! I’ll make sure I’ll to cover a bit of what a QA Person is for you. Now, where are the manual testers? By a show of hands, who are the manual testers who are trying to switch over to automation? With this talk I’ll go into the basics of the automation development interview process and how to prepare. How many people are already automation developers? … have you job searched recently? The interview process changed a bit in the past two years. I will cover that, too. Now, any software developers in the audience? During the question and answer sessions, we will really need your input. There may be misconceptions that I have that you can help straighten out for me. Hiring managers looking for manual testers? How many hands are up? Manual testers, make sure to meet these people after the presentations. Hiring managers looking for automation developers? How many hands are up?
  3. Good evening! I’m T.J. Maher. Even though I have been in the software industry for the past twenty years, I just started getting involved with Selenium WebDriver fairly recently. Around three years ago, I started taking a few courses in Selenium WebDriver with Java. Last year, back in March 2015, I went from executing other peoples automated tests at one job to writing my own tests in another. I captured my Adventures in Automation in my blog, tjmaher.com. This year I have been turning blog posts into articles. When I found myself this summer suddenly needing to find a new job after a shift in managers raised the bar a bit too high for me, this time around, I found the interview process remarkably changed in just two years. I wrote about that experience, too. I published last month an article “How to Pass a Coding Test As an Automation Developer” based this summer’s job search. Knowing that I wanted to get some practice public speaking Conrad suggesting I build a talk around the article. Thank you Conrad for this opportunity! I want to apologize for my heavy use of notes during this talk. I just started a new job last Monday, and the time I wanted to use to memorize the talk went into learning the ropes of the new job. I’m now a Software Engineer in Test. It’s weird: for the first time in twenty years, I don’t have the words “QA” in my job title.
  4. As a QA Engineer I’m an end user advocate. I don’t just do software testing. I shepherd the Quality process … I try to build a model of the customer that is using the product and carry that model throughout the entire software development life cycle. As with any job, there are fun parts, and not so fun parts … The fun parts for me is testing the brand new functionality the developers are creating. Developers and testers shouldn’t work like being an artist to an art critic. They should be like a writer and a copyeditor: separate disciplines working together to make a quality product. I test the Software requirements … acceptance criteria … the software development process … the software itself … and my own assumptions about the product and how it is supposed to work… Okay, okay finding bugs is fun too. Don’t tell the developers…
  5. There are not so fun parts of my job… Two words: Regression testing. Making sure the new feature built did not break the old functionality… There is nothing more boring than testing the same exact workflow in IE 8, IE9, IE10, IE 11 … MS Edge … Chrome, Firefox, … Safari on the Mac, etc… Automation development makes regression testing fun. You are writing software to test the software. That is what I have been doing as an automation developer… Using Selenium WebDriver to emulate a user navigating through the web application … Or testing at the webservices layer, what the browser interacts with.
  6. When I found myself unexpectedly job searching for a new automation development position, judging by what I experienced two years ago, I thought the technical portion of the interview could go one of two ways … Assumption #1: The technical interview would be based around my automation experience … Assumption #2: I’d walk into a room, find a laptop pre-installed with IntelliJ or Eclipse, I’d be directed to a web page, and ask to automate it. Or I would be directed to a whiteboard, and I’d be asked to write code to, say, log into a login page using sendKeys to input a user name and password, and click a button. Those were most of the interview questions I was asked two years ago. This time around, it was something completely different.
  7. After chatting for a bit and giving my background, a developer instructed me to go to the whiteboard and answer the following: “Using your favorite programming language: Write a method that checks to see if a given word is a palindrome. “Example palindromes: ‘noon’ and ‘racecar’.”
  8. I must have started at the whiteboard for a good two minutes while the developers watched silently, waiting for me to do… anything! I scribbled something on the board, I am not sure what. I stopped. Erased what I had written. Wrote something else. I just didn’t know how to answer this question. I was completely unprepared …
  9. After getting through only half of the assigned problem… I joked with the interviewers … If only I was coding an automated test, I would be doing a lot better. Yes, I had been doing Java coding, but I only had focused on how it manipulated Selenium WebDriver … If only I had a laptop in front of me, loaded with IntelliJ! Or if I had been demoing an automation script I had written… Their response … All employees are expected to meet a certain minimum standard of coding knowledge, even for quality assurance positions. And that, my friends, is how I started my new job search … It seems that I stumbled on a new requirement: These types of whiteboard coding questions were asked in ten out of twelve jobs I interviewed with this summer.
  10. Okay, by a show of hands, how many people know Spanish? Did you take it back in high school and college? You might know Spanish, but are you fluent in it? Let’s say you had a beginning job translating English to Spanish with an English to Spanish dictionary and a phrasebook close at hand? If you had the dictionary and phrasebook taken away, and were asked suddenly during an interview to go to the whiteboard and write a paragraph on what you had for breakfast this morning it would be difficult. That is how it felt without the development environment IntelliJ and the Java Documentation close at hand. My work experience as an automation development hadn’t prepared me to answer the types of coding questions given. If I was asked a Java question that related to Selenium WebDriver and automated testing: How to compare two string values, such as when I am setting up a test where the expected alert message on a page matches the actual alert message appearing on the page. At the time, I did not have the basic fluency in Java that they were looking for … I found that automation developers would be asked the same questions as software developers … Why? This might sound naïve to any software developers, but I found it astounding that Automation developers are Software developers. You see, just five years ago, a QA Engineer wouldn’t be expected to know how to code at all. Three years ago, automation developers were manual testers who were learning how to assemble automated tests. Now, they seem to be straddling being a QA Engineer and a Software Engineer … Companies are now looking for the same code quality in the automation test framework as the software application itself.
  11. That’s the question, isn’t it? How do we become fluent in coding? … Step 1: Take a Refresher Course: Members of the Boston Public Library get a free subscription to Lynda.com … Massively Open Online Courses such as Mooc.org, indexes absolutely free edX courses from Harvard, MIT and other colleges dealing with Computer Science, Java … Coursera.org by Duke, Stanford, Johns Hopkins .. Udacity.org, backed by Google, AT&T and Amazon, also has free courses in Java, JavaScript, etc. Learn by creating projects.
  12. Step 2 to becoming fluent: Read the Documentation: Learning Java? Java has official “Learning trails” with chapters such as Getting Started, Learning the Java Language, and Essential Java Classes… Learning JavaScript? Free online books such as Speaking JavaScript. Other resources are listed on my blog… Step 3 to becoming fluent: Solve Coding Problems on Paper … Make up simple homework examples and solve them on paper while reading documentation… DON’T DO CRAM SESSIONS: You want to work this knowledge into your long term memory, building up over time… Sample Homework Examples: Draft functions that do mathematical operations or string comparison.
  13. Here are a few sample homework problems I am talking about that could get you started: Sketch out on paper a function that uses a for loop that prints in the range of 1 to 100: All even numbers within that range All odd numbers. All numbers divisible by three All numbers divisible by three and five … How about some string manipulation? Sketch out a public method that takes in a string s and returns: The length as an integer (Java: s.length) The first character (s.charAt(0) ) The last character (s.charAt(s.length - 1) )
  14. Here's what I hadn't realized when I went on that first coding interview. The two stone-faced developers observing me having a brain freeze and getting flustered in front of the whiteboard weren't just silently watching. They were waiting. The first think I should have done was Define the problem. Take a moment to think of what information you need from the interviewer to solve the problem… Do candidates immediately jump into the code, possibly not realizing that the specs are unclear, or do they take a step back, examine the problem and gather the requirements?  If you remember, the problem I was given was: "Write a method that checks to see if a given word is a palindrome. Example palindromes: 'noon' and 'racecar'.” …. What is the very first question I should have asked them? … “What is a palindrome” They would have replied: "We are looking for a string and its reverse to match exactly, character by character."  "Your solution should be case sensitive. An uppercase 'R' should not match a lowercase 'r'. "
  15. 2. Start with initial test cases: … Do candidates come up with enough edge cases to test their code? How thorough are they?  … If Palindromes are matched character by character, space by space: “Noon”, “Racecar”  … “Madam, I’m Adam”  “Alpha”  “A Man, A Plan, A Canal: Panama!”  … Single character strings?  Empty Strings? 
  16. 3. They also were trying to see if I could Walk the interviewer through solution Does the candidate sketch out the problem, talking out loud so the interviewer can get a sense of the candidate's thoughts on solving the problem?  4. Come up with a solution Can the candidate write clear and concise code? 5. Debug and Test Your Code according to their new changes given Does the candidate accept feedback gracefully?
  17. Gaining basic fluency in a programming language and being able to demonstrate it will not happen overnight, but it can happen. Here's how to proceed … Find basic coding problems on the web … Attempt to solve them with a pen and paper … If you can't solve them, look at the official documentation of the programming language and see which built-in language methods will help you out … Come up with your own solution first before seeking out a better solution elsewhere. If you do your own research and investigation, chances are the information will stick in your mind permanently.  Don't do cram sessions. That merely storea the information in your short-term memory… Practice a little bit at a time—maybe 15 minutes a day. You want this information to move to long-term memory, so you can recall information even during extreme interview stress … 
  18. The main takeaway is this: Don't go through all this effort just to pass a whiteboard test... Aim higher! Make it your goal to be a better programmer. Thank you … Thank you.
  19. If you want, I included two of the solutions that I came up with.
  20. .
  21. Here are some listings for further reading.