BigCommerce, named Best and Brightest Place to Work For in San Francisco 2017 is looking for an experienced and proven engineer who wants to join a well-established, fast-paced team in the exciting and rapidly growing e-commerce industry.
The Storefront team powers the storefront experience. We build scalable, performant services that enable merchants to create beautiful, personalized, and fast storefront experiences. The merchants on our platform transact billions of dollars in orders and we routinely handle Black Friday without a hitch.
We're focused on improving our industry-leading Stencil theming framework, extending its functionality with internationalization and tools that enable personalization and targeted marketing of products. In addition, we are improving performance and scalability through service decomposition, increasing concurrency, and using gRPC.
What You’ll Do
- Swap out the jet engine while the plane is flying. Port functionality of our existing monolithic application into Scala services.
- Rearchitect our storefront system to make it dramatically faster.
- Help design/architect/execute the building of new services for the BigCommerce platform.
- Build highly-available, distributed systems.
- Write code that is performant, fault-tolerant, maintainable, testable, and concise.
- Work closely with Ops/infrastructure to improve our architecture and scalability
- Work on Scala, Ruby, and Node microservices
- Assist in decomposing our PHP monolith
- Push yourself to learn the full BigCommerce tech stack: Scala, Ruby, Node, Docker, gRPC, LinkerD, and more…
Who You Are
- 5+ years experience in building systems using at least two of the following languages: Scala, Ruby, PHP, Python, or Node.
- Experience with microservices or service oriented architecture.
- B.S. or M.S. Computer Science or related experience.
- You’re not afraid to dive deep into legacy code and figure out how to make it better.
- You want to prove to the world that high-quality code can be delivered with speed.
- You enjoy explaining complex technical topics in a way that others can understand.
- You enjoy making yourself and your team better engineers.
- You possess strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
- You know how to build reliable and safe distributed systems and understand the tradeoffs made when designing and building a feature.
- When things break, you’re the first to jump in and help fix them.
- You are results-oriented and like to use data to showcase progress.