The interview process at Boundless aims to assess the overlap between your skillset, and the needs that we have at Boundless. Instead of thinking of this as a pass/fail step, its more appropriate to see this as a fit assessment, both for you and for us. Your presence at Boundless should be a mutually beneficial relationship where you help the company evolve, as well as evolve in your own personal and professional goals
Interview Tips
To help you prepare effectively, we've compiled a list of topics and resources that are integral to the challenges we face on a daily basis. We aim to assess not only your technical knowledge but also your ability to lead and innovate within a DevOps context.
Be ready to take a business case and propose a technical solution, including approaches for handling data and compute at large scale. Be prepared to deep dive into serverless cloud architectural patterns and development. Expect to discuss AWS infrastructure as code and distributed system architecture. Mathematical assessments may include order of magnitude estimations, exponentials, logs, and probability/expected value calculations.
Personal contributions
This is where you share your previous experiences and contributions in depth. We expect that you'll be able to communicate clearly, and in a detailed manner about these experiences, as well as answer challenge questions.
Previous Work
Specific Contributions: Be ready to detail your personal contributions to past projects, including code you wrote, systems you architected, or processes you improved. Challenges Faced: Discuss significant challenges you encountered and how you overcame them. Decision-Making Process: Explain the reasoning behind key decisions you've made, whether they were technical choices, team collaborations, or project directions.
Code Sample
Be prepared to walk through a complex TypeScript project you've worked on showing your specific code - explaining the architecture, patterns and objectives.
Written Communication
Writing Sample: Show examples of your ability to communicate complex ideas or instructions clearly in writing, such as documentation, technical proposals, or email threads with stakeholders.
Visualization Sample
Architectural or UI Designs: If applicable, present a sample of visual work, such as architectural diagrams that you've created to illustrate system architectures or user interfaces.
To discuss in depth
For these subjects, we require an expert level of technical knowledge and precision. We will dive into the details of each of these topics to assess your level of control of these topics.
AWS Knowledge
DynamoDB: We use DynamoDB heavily for most of our DB storage. You should be able to discuss it thoroughly to an advanced level
AWS Solutions Architect and Devops: Aim to have at minimum an Associate level knowledge of these certifications, although your work will typically involve Professional level skills
AWS Serverless: Serverless architecture concepts and services such as SQS, SNS, Lambda, DynamoDB, S3, Fargate, CloudFront, API Gateway, and EventBridge.
CloudFormation / CDK: We heavily use infrastructure as code through AWS CloudFormation and the AWS Cloud Development Kit (CDK). You should be able to discuss concepts and patterns through usage of these tools
Well-Architected Framework: You should understand how to apply the principles of the framework to architect secure, high-performing, resilient, and efficient infrastructure for applications.
Distributed Computing
Architectural Patterns: Know how to apply caching, queues, throttling, events, load balancing, and high availability to your architecture. Considerations: Be prepared to discuss idempotency, eventual consistency, locking, and state management, message delivery semantics Failure Modes: Understand backpressure, noisy neighbors, and thundering herd problems. Software Engineering
JavaScript Ecosystem: Brush up on your JavaScript fundamentals, Node.js, and TypeScript knowledge. : Inheritance, Scoping, Closures, Promises, Modules : Event Loop, Streams, Packaging : Classes, Interfaces, Generics
Be familiar with:
We won't ask explicit questions on these topics, but it was assumed and expected that you have a solid mastery of each of these areas.
Software Engineering
Software Architecture: Understand various design patterns and principles such as hexagonal architectures, abstraction, encapsulation, and domain decomposition.
Software Development Practices: Be clear on nomenclature and the importance of programming with clarity and intent. Know your way around version control, testing, and code reviews.
Security
Authentication and Authorization: Know the difference between the two and the common strategies used. OWASP Top 10: Be able to discuss at least one of the OWASP top 10 security risks.
Testing
Browser, Unit, End-to-End, Penetration, Load, Regression
Good luck with your preparations, and we look forward to discussing your experience and insights.