The role requires you to think critically and design with first principles. You should be comfortable with multiple moving parts, microservices architecture, de-coupled services, and multi-threaded programming. Given you are constructing the core foundation on which the whole system will be built — you need to pay very close attention to detail and have a forward-thinking outlook while maintaining scrappiness for the present needs. You are very comfortable learning new technologies, and systems. You thrive in an iterative but heavily test-driven development environment.
- Design and build the core services, infrastructure, and system architecture
- Experiment, prototype, measure, and make data-driven technology stack decisions
- Implement web-services, business-logic, APIs for the Penny.co product interface.
- Building interactive consumer data from multiple systems and RESTfully abstract to the UI through a Node.js backend
- Define code architecture decisions to support a high-performance and scalable product with a minimal footprint
- Help improve engineering standards, tooling, and process.
You are a good fit if you:
- Have strong hands-on programming experience as a MEAN Stack Developer
- Have experience building in REST APIs, Websockets, SQL/No-SQL Databases (MongoDB), message queues, distributed caches, data pipelines
- In-depth knowledge of NodeJS, ExpressJS or NestJS
- Experience with GCP deployments and pipelines management is preferred
- Enjoy building distributed/scalable backend infrastructure with a microservices-first design
- Are extremely comfortable crafting elegant multi-threaded programs, and services
- Have a strong grasp of CS fundamentals, data structures, and algorithms
- Hold yourself to a very high bar for production system quality
- Love to demonstrate, and incrementally build 100% confidence in all the layers/components you develop.
- Have a deep sense of appreciation for test-driven methodology
- Are unafraid of the unknowns, can handle many moving parts
- Love driving projects end-to-end to deliver business
- Deeply care about resource frugality and performance
- ALWAYS take a customer-first and team-first approach