The document provides an overview of key software engineering concepts for recruiters, including software architecture, agile development, n-tier architecture, programming paradigms like object-oriented programming and functional programming, cloud computing, and popular technologies. It discusses architectural approaches like building for extensibility, agile development principles, front-end and back-end development, and database concepts. The document aims to help recruiters understand technical candidates' backgrounds and evaluate skills.
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
The sea change in JavaScript frameworks is shifting the pendulum away from today's thin-client based server-side web frameworks like Spring MVC and JSF to JavaScript powered rich clients. With strong support for REST, WebSocket and JSON, Java EE is well positioned to adapt to this landscape.
In this heavily code driven session, we will show you how you can utilize today's most popular JavaScript frameworks like AngularJS and React to utilize the core strengths of Java EE using JAX-RS, WebSocket, JSON-P, JSON-B, CDI and Bean Validation.
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
The sea change in JavaScript frameworks is shifting the pendulum away from today's thin-client based server-side web frameworks like Spring MVC and JSF to JavaScript powered rich clients. With strong support for REST, WebSocket and JSON, Java EE is well positioned to adapt to this landscape.
In this heavily code driven session, we will show you how you can utilize today's most popular JavaScript frameworks like AngularJS and React to utilize the core strengths of Java EE using JAX-RS, WebSocket, JSON-P, JSON-B, CDI and Bean Validation.
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...Jérôme Françoisse
How can you use ODI12c to generated your Hive, Pig and Spark jobs? How can you orchestrate the executions directly on the Hadoop Cluster? How to get data in the Hadoop Cluster and how to move it to an RDBMS?
Everything is answered in this session presented at Oracle Open World 2015
Real-World RESTful Service Development Problems and SolutionsMasoud Kalali
This session covers some of the best practices and lessons learned and takes a deep dive into designing RESTful services.
It discusses a variety of topics, from validation and exception handling to tracing, caching, security, rate limiting, and other RESTful services topics.
The presentation is suitable for anyone from novices to advanced programmers.
Debugging Microservices - key challenges and techniques - Microservices Odesa...Lohika_Odessa_TechTalks
Microservice architecture is widespread our days. It comes with a lot of benefits and challenges to solve. Main goal of this talk is to go through troubleshooting and debugging in the distributed micro-service world. Topic would cover:
main aspects of the logging,
monitoring,
distributed tracing,
debugging services on the cluster.
About speaker:
Andrеy Kolodnitskiy is Staff engineer in the Lohika and his primary focus is around distributed systems, microservices and JVM based languages.
Majority of time engineers spend debugging and fixing the issues. This talk will be dedicated to best practicies and tools Andrеys team uses on its project which do help to find issues more efficiently.
Get ready to lock and load through this quick overview of some of the newest most innovative, tools around. Source: http://www.takipiblog.com/7-new-tools-java-developers-should-know/
Real world RESTful service development problems and solutionsMasoud Kalali
This session is a deep dive as well as an interactive discussion on design principles, considerations, lessons learned from mistakes that can be taken into account when developing RESTful services. It will cover a variety of topics from Designing of RESTful resources, Versioning,Exception Handling, Caching, Validation, Security, Rate limiting, HATEOAS, Testing and Documentation. This talk will walk through and compare the different REST API provided by companies like Twitter, Paypal, Google, Stripe and more we can learn the good, the bad and ugly. So join me in this talk to build high quality applications that can be highly scalable, available and reliable. Summary: Learn all you ever wanted to learn about RESTful services development challenges in large scale applications Outline: This session is a deep dive as well as an interactive discussion on design principles, considerations, lessons learned from mistakes that can be taken into account when developing RESTful services. It will cover a variety of topics from Designing of RESTful resources, Versioning, Exception Handling, Caching, Validation, Security, Rate limiting, HATEOAS, Testing and Documentation. This talk will walk through and compare the different REST API provided by companies like Twitter, Paypal, Google, Stripe and more we can learn the good, the bad and ugly. So join me in this talk to build high quality applications that can be highly scalable, available and reliable.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...Jérôme Françoisse
How can you use ODI12c to generated your Hive, Pig and Spark jobs? How can you orchestrate the executions directly on the Hadoop Cluster? How to get data in the Hadoop Cluster and how to move it to an RDBMS?
Everything is answered in this session presented at Oracle Open World 2015
Real-World RESTful Service Development Problems and SolutionsMasoud Kalali
This session covers some of the best practices and lessons learned and takes a deep dive into designing RESTful services.
It discusses a variety of topics, from validation and exception handling to tracing, caching, security, rate limiting, and other RESTful services topics.
The presentation is suitable for anyone from novices to advanced programmers.
Debugging Microservices - key challenges and techniques - Microservices Odesa...Lohika_Odessa_TechTalks
Microservice architecture is widespread our days. It comes with a lot of benefits and challenges to solve. Main goal of this talk is to go through troubleshooting and debugging in the distributed micro-service world. Topic would cover:
main aspects of the logging,
monitoring,
distributed tracing,
debugging services on the cluster.
About speaker:
Andrеy Kolodnitskiy is Staff engineer in the Lohika and his primary focus is around distributed systems, microservices and JVM based languages.
Majority of time engineers spend debugging and fixing the issues. This talk will be dedicated to best practicies and tools Andrеys team uses on its project which do help to find issues more efficiently.
Get ready to lock and load through this quick overview of some of the newest most innovative, tools around. Source: http://www.takipiblog.com/7-new-tools-java-developers-should-know/
Real world RESTful service development problems and solutionsMasoud Kalali
This session is a deep dive as well as an interactive discussion on design principles, considerations, lessons learned from mistakes that can be taken into account when developing RESTful services. It will cover a variety of topics from Designing of RESTful resources, Versioning,Exception Handling, Caching, Validation, Security, Rate limiting, HATEOAS, Testing and Documentation. This talk will walk through and compare the different REST API provided by companies like Twitter, Paypal, Google, Stripe and more we can learn the good, the bad and ugly. So join me in this talk to build high quality applications that can be highly scalable, available and reliable. Summary: Learn all you ever wanted to learn about RESTful services development challenges in large scale applications Outline: This session is a deep dive as well as an interactive discussion on design principles, considerations, lessons learned from mistakes that can be taken into account when developing RESTful services. It will cover a variety of topics from Designing of RESTful resources, Versioning, Exception Handling, Caching, Validation, Security, Rate limiting, HATEOAS, Testing and Documentation. This talk will walk through and compare the different REST API provided by companies like Twitter, Paypal, Google, Stripe and more we can learn the good, the bad and ugly. So join me in this talk to build high quality applications that can be highly scalable, available and reliable.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
Jobhunting and the Absence of Online PrivacyJim Stroud
This presentation explains the importance of your online reputation, how to build it and how to protect it. Use the tips in this presentation to take your job hunting to the next level. And please, do pass it on to others that could use the advice.
Expert Webinar Series: Recruiting Members for KeepsWild Apricot
Recruiting new members is so much more than “selling” a membership. The way you recruit has a direct impact on the way new members participate…and whether or not they renew. Drawing from decades of research from members across associations and generations, discover how simple changes in the recruitment conversation can make all the difference.
In this webinar, you will:
Examine why current approaches fail to produce desired results
Explore a recruitment technique that resonates across generations
Learn practical ways your fellow members can become successful recruiters
Discover how this approach can be incorporated in print and digital ways
Gain access to samples and templates for your immediate use
This webinar will be led by Patricia A. Hudson, MPsSc, President Melos Institute. Trish is a community psychologist with over 30 years’ experience with membership-based and non-profit organizations. Trish leads the Melos Institute, which is dedicated to finding practical solutions to address the persistent ongoing challenges facing these organizations.
Great hiring doesn\'t happen by accident; it\'s the culmination of a series of thoughtfully planned and well executed events. At the beginning of hiring well is a sourcing strategy. This strategy outlines responsibilities, articulates the steps, plans for contingencies, and defines success.
Building this strategy can be difficult. To be effective, it should include a robust audit of source effectiveness, ROI measures, and cutting-edge methods. It is a toolkit that will address holistic sourcing approaches but be flexible enough to be tailored for unique needs.
SOURCECON: BEST HACKS, LAUGHS, & INSIGHTS (Fall 2016)Susanna Frazier
This SlideShare overviews the best hacks, laughs, & insights from the Fall 2016 SourceCon in Anaheim.
Included:
- Highlights from all 3 tracks (Candidate Identification, Candidate Engagement, Marketing/Branding & Leadership/Strategy) - with links to session PPT presentations and some streamed videos.
- How to's
...Use the latest and greatest tools to find passive candidates and their contact details, and then engage them in a way to influence their making a change.
...Curate unstructured data points created by someone’s social footprint and analyze that data to creatively engage them in a way that separates you from the other recruiters reaching out.
...Choose when and which new Chrome Extension to use to find contact details, manipulate API’s, build customized bookmarklets, scrape the web, and hack Excel to organize and increase efficiency.
- Tools
...Dean Da Costa's top recommendations
...Susanna Conway's top 5 free recommendations
+ more!
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
Drupal has been a consistent leader in the Gartner Magic Quadrant for Web Content Management. However, enterprises leveraging Drupal have traditionally relied on PaaS providers for their hosting, scaling and lifecycle management. And that usually leads to enterprise applications being locked-in with a particular cloud or vendor.
As container and container orchestration technologies disrupt the cloud and platform landscape, there’s a clear way to avoid this state of affairs. In this webinar, we discuss why it's important to build a cloud-native Drupal platform, and exactly how to do that.
Join the webinar to understand how you can avoid vendor lock-in, and create a secure platform to manage, operate and scale your Drupal applications in a multi-cloud portable manner.
Key Takeaways:
- Why you need a cloud-native Drupal platform and how to build one
- How to craft an idiomatic development workflow
- Understanding infrastructure and cloud engineering - under the hood
- Demystifying the art and science of Docker and Kubernetes: deep dive into scaling the LAMP stack
- Exploring cost optimization and cloud governance
- Understand portability of applications
- A hands-on demo of how the platform works
Come può .NET contribuire alla Data Science? Cosa è .NET Interactive? Cosa c'entrano i notebook? E Apache Spark? E il pythonismo? E Azure? Vediamo in questa sessione di mettere in ordine le idee.
This is a low-level, and philosophical discussion on the act of compiling data out of your PHP applications using Zend\Code: Scanning, Generating, Annotating code in PHP.
In this core java training session, you will learn get introduction to Java. Topics covered in this session are:
• History of Java – A Programmer’s Perspective
• Salient Features of Java
• Major Java Editions
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
The Download: Tech Talks by the HPCC Systems Community, Episode 11HPCC Systems
Join us as we continue this series of webinars specifically designed for the community by the community with the goal to share knowledge, spark innovation and further build and link the relationships within our HPCC Systems community.
Episode 11 includes Tech Talks featuring speakers from our community on topics covering Big Data solutions, Spark Integration and other ECL Tips leveraging the HPCC Systems platform.
1) Raj Chandrasekaran, CTO & Co-Founder, ClearFunnel - Scaling Data Science capabilities: Leveraging a homogeneous Big Data ecosystem
2) James McMullan, Software Engineer III, LexisNexis Risk Solutions - HDFS Connector Preview
3) Bob Foreman, Senior Software Engineer, LexisNexis Risk Solutions - Building a RELATIONal Dataset - A Valentine’s Day Special!
Reuven Lerner's first talk from Open Ruby Day, at Hi-Tech College in Herzliya, Israel, on June 27th 2010. An overview of what makes Rails a powerful framework for Web development -- what attracted Reuven to it, what are the components that most speak to him, and why others should consider Rails for their Web applications.
Accelerating AI Integration with Collaborative Learning - Kinga Petrovai - So...SocialHRCamp
Speaker: Kinga Petrovai
You have the new AI tools, but how can you help your team use them to their full potential? As technology is changing daily, it’s hard to learn and keep up with the latest developments. Help your team amplify their learning with a new collaborative learning approach called the Learning Hive.
This session outlines the Learning Hive approach that sets up collaborations that foster great learning without the need for L&D to produce content. The Learning Hive enables effective knowledge sharing where employees learn from each other and apply this learning to their work, all while building stronger community bonds. This approach amplifies the impact of other learning resources and fosters a culture of continuous learning within the organization.
Watch this expert-led webinar to learn effective tactics that high-volume hiring teams can use right now to attract top talent into their pipeline faster.
Becoming Relentlessly Human-Centred in an AI World - Erin Patchell - SocialHR...SocialHRCamp
Speaker: Erin Patchell
Imagine a world where the needs, experiences, and well-being of people— employees and customers — are the focus of integrating technology into our businesses. As HR professionals, what tools exist to leverage AI and technology as a force for both people and profit? How do we influence a culture that takes a human-centred lens?
The Benefits of Temporary Part-Time Jobs for StudentsSnapJob
SnapJob is revolutionizing the way people connect with work opportunities and find talented professionals for their projects. Find temporary part-time jobs that fit your schedule and skills. Browse our listings and apply online today to secure flexible work opportunities that offer the perfect balance between career and personal life.
7. What is Agile Development?
7
• Involve users early, design the ‘grand requirements’.
• Split into small units (Scrum).
• Develop a unit, and unit test it.
• User-test it (ask “is this what you want?”) often.
• Iterate, iterate, iterate.
Confidential
Agile development: moving fast, moving often:
Lather Rinse Repeat
8. N-Tier Architecture
8
• Design & layout – images and text.
• UI / UX concepts – a nice interface.
• HTML,CSS – the actual implementation.
• JavaScript – automation, animation, and validation.
Confidential
The front end (where it’s made to look good):
People use the application here.
9. N-Tier Architecture
9
Confidential
AJAX: you can actively search for stuff, typically in cached
memory or a live database query:
• Google uses AJAX/jQuery for type-ahead
recommendations.
• AJAX can power/position design elements as well.
Other front end terms you hear:
10. Javascript Implementations
10
Confidential
Front-Endish
Handlebars, Mustache, Aural, Kraken,
Reactive Coffee, Parrot; haml-js, Angular,
Backbone, Ember, Spine, Stapes.
Middle-Tierish
Node.js, Express, Refactor, Sails,
Backbone, Vert.x, OPA, CommonJs.
Back-Endish
Ember.js Persistence, Backend.js,
Persistence.js.
Some of the more common JavaScript frameworks:
11. N-Tier Architecture
11
Confidential
• Social Media: ‘like’ counts, posts, connections, are
calculated.
• APIs: application rules are enforced.
• Banking: account inquiry, debit == credit, a summary is
generated.
• Commerce: stream a movie, your credit card gets
charged.
The middle tier (typically where decisions are made):
Other APIs and integration points interface here.
12. N-Tier Architecture
12
Confidential
Some methodologies, frameworks, and languages used:
• Custom code – all languages apply, it’s the architecture
that matters.
• Services-Oriented Architecture (SOA).
• Message queuing, caching (most times), ‘software
infrastructure.’
The middle tier (typically where decisions are made):
Other APIs and integration points interface here.
13. N-Tier Architecture
13
Some terms you’ll hear:
• Redis, memcache, Varnish: Scaling (in-memory caching.)
• Django, JBoss, Rails: User / session management.
• RESTful services: application doesn’t depend on sessions.
• JSON – a way to pass data cleanly and clearly.
Confidential
The middle tier (typically where decisions are made):
Other APIs and integration points interface here.
14. N-Tier Architecture
14
Some methodologies, frameworks, and languages used:
• Hibernate, iBATIS, Objectstore: Persistence.
• Oracle, SQL, MySql, PostgreSQL, MongoDB: Storage.
• BSON, Avro, XML: Storage, Transport, Serialization.
Confidential
Stuff is stored here
The back end:
15. N-Tier Architecture
15
Other terms you’ll hear:
• Hadoop, Cassandra, MapR: NoSQL storage, big data
aggregation.
• MapReduce: the way NoSQL deals with DB queries.
• “Big Data” ≠ Data Warehouse or Datamart (“Lots of
Data”.)
Confidential
The back end:
Stuff is stored here
17. 17
Software is core to most modern things, so
architecture and scalability matters a great
deal.
A Mercedes Benz S-Class has about 100 million
lines of code in the car’s onboard control system.
A Boeing 737 has about 20 million lines.
Confidential
19. Code Implementation
19
Compiled
The entire codebase is translated to the target
machine’s ‘language’ directly, as the program is
written, and executed from there.
Interpreted
The codebase is translated and executed as the
program is run.
Code can be implemented in different ways.
The most common are:
Confidential
20. Code Implementation
20
When finished writing the code, it’s checked, built, and turned into
binary (1s and 0s) for the computer to run.
• High load speed and fast execution;
• You can add various optimizations during compile process to
increase run speed.
• Compilers are specific to the hardware platform;
• Compiled code requires recompilation to change.
Confidential
Compiled Code:
Typical Examples: C, C++, Java (can be), Visual Basic,
Haskell
21. Types of Codebases
21
Confidential
The code exists in flexible files and, when the file is executed, the
text is compiled and run.
• Just-In-Time (JIT) compiled – compiled when executed.
• Development is flexible – source code is ‘live’, easy to edit.
• Are typically very elastic (e.g.: allow dynamic typing) to make
prototyping quick.
• Warrant full testing coverage; static code analysis recommended.
Interpreted code:
Typical Examples: Ruby, Python, JavaScript, PHP.
23. Types of Codebases
23
Confidential
The code is checked, built, and turned into bytecode with metadata
for a Just-In-Time compiler to compile and run.
• Can be compiled or interpreted, but have metadata <data about
the data> that helps to secure, define, accelerate, and ‘manage’
the code (both before and after compilation.)
• Have a framework that helps to manage the code’s interaction
with the broader platform.
• In essence, creates a sandbox and runs the code in it.
Managed codebase:
Typical Examples: C# (.Net), Java are often deployed
in a managed fashion.
24. Types of Codebases
24
ALL CODE becomes compiled at some point before it is
run.
The question is: at which point?
Run-timeWrite-time
Compiled Managed Interpreted
Confidential
25. Programming Paradigms
25
Confidential
Object-Oriented Programming
• Organizing programs into “things”; these “things” have properties,
and actions those “things” can take.
• This is compared with a more simplistic: input -> stuff happens ->
output logic model.
• It also follows how the human brain works (“is a” and “has a”.)
26. Programming Paradigms
26
Functional Programming
Defining functions that do specific things and linking them all together,
where the outputs of one feed the inputs of the next function, the
behavior is determined by the data on the initial input and not on the
order in which the functions are declared.
Laying out a set of fixed instructions with each instruction executed in
the order they are declared in, starting with the first and ending with
the last.
Confidential
Procedural Programming
29. What is the cloud?
29
Confidential
Instead of having servers on premise, the “servers” are
stored somewhere else:
• Hosted or collocated environment (a Private Cloud.)
• Amazon: AWS.
• Google Cloud.
• Microsoft Azure.
• VMware Cloud.
• Rackspace: OpenStack.
Basically, it’s just where all the ‘stuff’ is stored.
30. Why does this matter?
30
SaaS or Cloud Operations:
DevOps, continuous integration, release management tools
integrated with cloud platforms instead of traditional physical
servers.
Servers (owned or managed services), networking
infrastructure, hardware, uptime, “IT”.
Confidential
Technical Operations:
35. Widening the net…
35
Any good engineer should be able to learn,
read, and understand any language or
framework, given a reasonable opportunity
to learn its intricacies.
But, there are some VERY GENERAL similarities
that could make it easier for them to jump in.
Confidential
36. Widening the net…
36
Confidential
• C and C++ syntax are 99.9% identical.
› It’s mostly the programming paradigm that’s
different.
› Test the candidate’s knowledge thoroughly.
• JSP, PHP, and Ruby syntax can be similar.
• Python and Perl syntax can be similar.
• C#, Java, and C++ syntax can be similar.
• Pythonic thinking is roughly similar to ‘Rubyist’
thinking (if done right.)
For example:
37. Widening the net…
37
Confidential
• A good, solid understanding of object-oriented analysis
& design will, generally, port to any language.
• Holistic engineering thinkers are ‘utility players.’
38. Widening the net…
38
Confidential
• The size and stage of the company.
• The platform and target language.
• The engineer’s role.
• The strengths of the team.
• The reason for the hire.
Consider the environment.
41. Some questions…
41
Confidential
• Scalability: “Here’s where we’re seeing a bottleneck - what
could be some root causes?”
• Refactoring: “Here’s our approach, what do you think?
Think of an actual problem you’re trying to solve
today (that you DON’T know the answer to)?
+
42. Some questions…
42
Confidential
Think of an actual problem you’re trying to solve
today (that you DON’T know the answer to)?
• Design Patterns: “Here’s how we are thinking about
architecting this service/app/component. What would you
do differently, and why?”
• Database sharding / partitioning: “From what you can see,
what problems might we run into with another 5 million
users? With internationalization/localization?”
43. Some questions…
43
Confidential
What is an actual problem you HAVE solved (that you
DO know the answer to)?
• “Here are the symptoms of something that tripped us up:
what do you think happened?”
• What can we do to prevent this going forward?
44. Some questions…
44
Confidential
What new products are in development (that you can
share), and how would they think about architecting
them?
• Talk about something specific to your company’s sector and
see how they react to it.
• You can ask them about what they have not seen in that
sector that they would LIKE to see, and how they would
build it. Walk through your architecture, and ask how they
would adapt this component to your existing environment.
45. Some questions…
45
Confidential
What is the worst production coding / development
mistake you’ve ever made? How did you fix it?
• Always follow up with: “what did you do to make sure it
didn't’t happen again.”
46. Some questions…
46
Confidential
• Technical interview questions should also look at how
broadly people think about routine tasks.
• For example: read all files in a folder, and print the sum of
the ASCII values of all characters in the files.
• Key Observations:
› File I/O, buffers, exceptions.
› General knowledge of characters and escape codes.
› It’s not going to be perfect, or even compile…
You do have to ask technical questions.
47. Some questions…
47
Confidential
• Technical interview questions shouldn’t assume a specific
level of social or cultural knowledge (e.g.: “Madden 2013”,
or “rewrite Tinder in Erlang.”)
You do have to ask technical questions.
? ?X X X
48. Some questions…
48
Confidential
You do have to ask technical questions.
Talk about Object-Oriented Programming concepts:
• Ask them to explain polymorphism and inheritance, what
the difference is, and what considerations you have to
make when designing reusable, extensible classes.
• Discuss what Reflection is good for, and when - and when
not – to use it. (C++ candidates may use templating).
49. Some questions…
49
Confidential
You do have to ask technical questions.
Talk about Design Patterns:
• Walk through some architectural choices you’ve had to
make, and what the tradeoffs are.
• Push in just enough to have confidence that they know
what questions to ask.
50. Some questions…
50
Confidential
You do have to ask technical questions.
• Give them a reasonably lengthy code sample with multiple bugs
– not language-specific syntax errors, but bugs in logic and
overall program flow. Ask them to point out what the issues are,
and what they would do to fix them.
• Sometimes the overtly simple things might elude more
experienced candidates – if you point out a specific issue like
that, don’t give them the answer but push in on what the effect is.
• The issues should be in different areas of the program to ensure
they are looking at the program as a whole (e.g.: efficient use of
memory, effective naming conventions, type safety, etc.) Many
will not see all of them, but the key is to see how they react.
51. Some questions…
51
Confidential
Ask them to explain, at a high level, the key concepts
that you are using and ask about pros and cons:
• For example: RESTful services:
› Pros: easier API for mobile, maps to HTTP protocol
standards, manages state well, simple and clean architecture.
› Cons: can be easy to expose underlying architecture
insecurely if not done right (like C), SOAP can be just so
darned easy to hack together…
• Based on what you’re looking for, ask them three or four – they
won’t nail each of them, but they need to get the majority right –
and know where to go to get the answer.
53. The point…
53
Confidential
You want great general engineering
athletes, not (necessarily) superstar
position players, for most roles.
Unless you NEED the superstar position player.
+ + +