As a Backend Engineer, you’re given the unique opportunity to partner intimately with Procore's customer base (namely Amazon), translating their fundamental needs into technological SaaS solutions. Empowered by your team-mates and other teams you will be driving the process migration the monolith architecture to microservices.
- Establish standards for development teams and lead initiatives in collaboration with Product, Quality Assurance, User Experience, and other internal groups
- Use a customer-centric approach to lead architectural design decisions that improve scalability and performance
- Develop fellow teammates by conducting code reviews, providing mentorship, pairing, and training opportunities
- Support and improve the high quality standards in the company
- Leverage our tech stack: Ruby/Rails/Postgres running in AWS on the back end, React/JS on the front end, Java/Elixir for microservices
Drive key projects including:
- Scalability: We’re scaling Ruby on Rails and need engineers who are ready to take on the challenge of working on live, core systems with millions of users.
- Complex file systems: We’re building a world-class document and photo file management system from the ground up. You’ll work through challenges like pdf creation, photo management, large file manipulations, permissions and file revisioning, 3D models, and videos.
- Breaking a Monolith into Microservices: We are driving the process to move from the current monolith solution into microservices. We build, maintain, and develop a wide series of microservices and are looking for engineers adept at discovering new opportunities and driving them to completion.
- 3+ years experience in OOP fundamentals, TDD and Design principles (Ruby on Rails, Python, C++, Java)
- 3+ years SW development experience with Ruby/Rails
- Solid knowledge of web protocols HTTP, WebSockets, OAuth, SAML
- Experience in working and developing RESTful APIs
- Familiar with the principles of OWASP
- Great attention to details, ability and diligence in troubleshooting problems
- Experience with version control systems (Git)
- Good level of verbal and written communication skills in English
- Understand the tradeoffs between technical, analytical and product goals, and ability to satisfy all of these needs
- Experience in working with asynchronous requests in large scale applications
- Proven expertise with modern web development including development, testing, staging, deploying, and monitoring
Nice to have:
- Knowledge of Java/Elixir
- Experience in building and automating the microservices architecture
- Experience in network, virtualisation, data storage