Agenda
• Introduction
• Process of job search & useful resources
• Tips for applying and getting a response
• Preparing for phone screens
• Preparing for interview
• Technical interview questions
• How to answer difficult questions
• Building a strong resume
• Wrap up and Q&A
Introduction
• Over 20 years in Software Engineering
• MBA from one of top 5 programs in the United States
• Have conducted over 500 interviews
• Have interviewed at over 30 companies with almost 100% interview-to-job offer ratio
• Have a 100% retention rate over the past 8 years as Engineering Manager
• Have launched 3 Startup Companies
• Brought several business ideas to life
Process of job search & useful resources
• LinkedIn
• Glassdoor
• Zip Recruiter
• Angel Co
• Technical Recruiting Firms: TEKSystems, Primer Talent Partners etc.
Tips for applying and getting a response
• Do some due diligence about the position and the company before applying
o Learn company’s mission and values
o Find out what their current tech stack is
o How long has the position been open for?
o Look at LinkedIn profiles of employees with a similar role to see what they are looking for
• Prepare your resume to fit the position
o Highlight the relevant technical experience on your resume
o Make sure your summary objectives align well with the company size, mission, vision
• Submit your resume
• Search for recruiters at the company on LinkedIn and send a connection request
• Find the most likely Hiring Manager for the position and send a connection request
Preparing for phone screen
• How to answer the very first question over the phone?
o Create a 1-minute commercial for yourself
• Remember to mention why you want to work for this company
o Good Answers
I am very passionate about the technology you guys are using
The job requirements reflect some of my strengths and I am confident I can add value to your team
I fit really well with the first paced Start-up company work style because it allows me to push beyond my comfort zone and add value without being restricted by the job/role boundaries
o Bad Answers
I am currently unemployed and really need any job that I can get
My current commute is bad, and my commute to your company will be more convenient
I want to learn AI and ML
• Ask If phone screen can be replaced with an In-person meeting
Preparing for interview
• What to wear?
• What time to show up?
• Figure out the transportation, parking, coffee-shops nearby, etc.
• Get educated on the company’s business space
• Who are their major competitors?
• What problem in the company trying to solve?
• How do you personally align with that cause?
• What makes this company the only place where you want to work at?
• Read their reviews on Glassdoor and learn what some of their problems might be.
• Example: unhappy employees leaving at a fast rate, people worried about the company’s growth/future, etc. Do you still really want to work here? If yes, how you can help address these problems for the company?
• Prepare an example of your own project (Stories to share).
• Body Postures https://jamesclear.com/body-language-how-to-be-confident
Technical Interview Questions
• What is the difference between Priority and Severity?
• Explain the Software Development process
• Explain the testing process
• What is a Web-Service? API? Why do we use them?
• What tool and technologies are you familiar with?
• Test the following application for me
• How do you decide Automation vs Manual?
• How do you plan a testing strategy?
• What do you do when you get blocked on a task?
• What do you do when there’s too many tasks and too little time?
• When you are aimed to test a given software
o Take a recipe approach to creating testcases
o Work on a quick high-level test plan
o Take a recipe approach to asking smart questions
• Asked to write a piece of code
o Get a good understanding of the problem that you are asked to solve
o Ask if you can pseudo-code on whiteboard
• Asked about specific programming language or another technology that you are not familiar with.
o Think of the closest thing to what’s being asked and use that as an example
Recipe approach to creating testplans
• Functional – positive, negative
• Load
• Compatibility
• 80% Load for 3/5/7 days = stress
• Performance (Performance * Load)
• Usability
Functional – Positive
• Happy Path – Req & All
• Positive Boundary – All Fields
• All Content is present
• All Valid Special Chars accepted
• Verify Submitted Data processed and stored as expected
• Verify User lands at the right page upon successful submission
• Verify User can halt, quit, before submission and data is not stored
Functional – Negative
• All Fields & each Req Field missing
• Negative Boundary – All Fields
• Invalid Special Characters
• Error message content for each negative case
• Make sure Data not stored if user quits without submitting
• Verify expected user behavior if browser back/forward button is clicked
Performance testing
• Are there any contractual SLA’s?
• Make sure we never degrade below a Contractual SLA
o Test for a Scaled Performance in non-prod env
o Decide on a Strategy to constantly monitor the Prod Env
o Include Performance testing in test-plans for all major changes/features
• Possible tools we could use, NeoLoad, Gatling, Postman (PostMan can do Functional and Performance Combined)
Load testing
• What is the maximum expected concurrent load on the application?
• Do load test at 85%, 100%, 115%, 130% end even 150% if we have seasonality effect (Costco.com lost $11 million on Black Friday 2019)
• Possible Tools we could use – JMeter, NeoLoad, Gatling, FloodIO, etc.
Compatibility
• What platforms/operating systems/browsers do we support?
• Automated test-suite should run against each supported combination of platform, operating system, browser
• Possible tools we could use – Distributed Machines, SauceLabs, BrowserStack, etc.
Usability
• Is the Application easy to navigate and user-friendly?
• Does Tab-Order work conveniently to navigate the input Forms and page Navigations?
• How does the UI look in different resolutions and Color-Scales? Gray-Scale, etc.
Stress test
• Run 80-85% of the load for 3, 5, or 7 days and monitor the CPU & Memory usage over this period.
• Stress test is usually run at this load level in order to accelerate any problems that the application might experience (such as memory leaks) over a longer duration at average load levels
Generic interview questions
• Why do you want to work for this company?
• Why should we hire you?
• What makes you different or better than the rest of the QA Engineers?
• What are some of your strengths and weaknesses?
• What is your most recent accomplishment?
• What do you least like about you current or most recent job?
• How do you feel about conflict within the team?
• How do you like to be managed?
Building a strong Resume
Tips to make your Resume Stand out:
• Keep your resume 1 page if possible, 2 pages if you have a ten of experience
• Use as many numbers as possible, because numbers are the easiest to qualify
• Make sure it is well formatted and looks well in several different applications (if doc or docs file)
• Convert to PDF whenever you have an option
• Have a generic resume that can be used to apply to your position at most companies
• Do minor customizations to your resume if the company is really nice (FinTech, RealEstateTech, eCommerce, SaaS, etc.)
• Make sure the resume is not over-crowded with words and not redundant. (Extensive experience in Test Automation tens to repeat in more than one job/experience)