Sr. Software Engineer (Fullstack) - remote

Posted 3 years ago

About the Product

Anyone who has worked with 3D Models —Video Game Designers, CAD Engineers, or Architects —knows it's very hard to communicate effectively about 3D information. Revaly is changing that by providing a rich, accessible, web-based, real-time 3D Collaboration platform. We believe that an efficient 3D Design Review can only happen if all the stakeholders can easily participate, without unnecessary technical hurdles, as if they were in the same physical space. Right now, we're laser focused on creating the best 3D Design Review tool in the world from first principles, and our early customers are thrilled with the clean, focused interface we've given them so far. But we're only in Alpha, and we're not even close to finished —which is where you come in.

‍About the Role

Locations: Remote (Within US), or In-Office (South Carolina)

As a Full-Stack Engineer, you're going to breathe life into our systems. You'll work closely alongside our existing Development and Design teams to make UX improvements on the frontend, and DX improvements on the backend —becoming responsible for the lifecycle of features, from conception to implementation. We'll pull from your years of technical experience to help us improve our technical processes, and we'll pull from your years of human experience to help us improve our UX. As an early-stage Engineer on the Revaly Product Team, you'll have input on the design of our products and systems, and you'll be close to company-making decisions. You'll be working with high caliber talent just like yourself, and you'll get things done.

What You'll Achieve:

  • You'll work with others to build new product features from start to finish: through conception, research, implementation, and maintenance. For example, you might build a tool that helps create real-time synchronized measurements on a 3D Model.
  • You'll help improve performance and reliability, or polish existing features. For example, you might make it easier to upload a 3D Model.
  • You'll build internal tools to support simplicity and productivity for the whole team. This might include writing a script to ping our Discord server whenever a User reports a bug.

Skills You'll Need to Bring:

  • Thoughtful problem-solving: For you, problem-solving starts with a clear and accurate understanding of the context. You can decompose tricky problems and work towards a clean solution, by yourself or with teammates. You're comfortable asking for help when you get stuck.
  • Shipping quality user interfaces: You can work with others to build and maintain quality user interfaces for a big audience, using Web technologies like HTML, CSS, JavaScript, and a modern UI framework like React. If you've experienced the technical challenges of rapid growth, that's a plus.
  • Familiarity with the backend: You understand how parts of a system fit together—from the user interface to the data model. Experienced candidates should be familiar with database systems —whether relational database systems like Postgres or MySQL, or NoSQL Systems like CosmosDB or MongoDB. Ideally, candidates would also be comfortable with Docker, or other Container Orchestration technologies, and Microservice architectures.
  • Pragmatic and business-oriented: You care about the business impact of what you're building, and you prioritize projects accordingly. You're not just going after cool stuff—you understand the balance between craft, speed, and the bottom line.
  • Put users first: You think critically about the implications of what you're building, and how it shapes real people's lives. You understand that reach comes with responsibility for our impact—good and bad.
  • Not ideological about technology: To you, technologies and programming languages are about tradeoffs. You may be opinionated, but you're not ideological and can learn new technologies as you go.
  • Empathetic communication: You communicate nuanced ideas clearly, whether you're explaining technical decisions in writing or brainstorming in real time. In disagreements, you engage thoughtfully with other perspectives and compromise when needed.
  • Team player: You understand when work is better, together. You enjoy collaborating cross-functionally to accomplish shared goals, and you care about learning, growing, and helping others to do the same.

Nice to Haves:

  • You're proficient with any part of our technology stack: React, TypeScript, Node.js, C#, Python, Redux, CosmosDB, Azure, Docker, Graphql.
  • You understand the technical infrastructure behind real-time systems (I.e. Video Games, Real-Time Chat Systems), and have had to find ways to keep clients in synch.
  • You know what Consensus Protocols are (i.e. Paxos, Raft), and why they may be useful in a real-time collaboration application.
  • You have a good understanding of SOLID principles.
  • You have interests outside of technology, such as in art, history, or social sciences.

Our customers come from all walks of life and so do we. We hire great people from a wide variety of backgrounds, not just because it's the right thing to do, but because it makes our company stronger. If you share our values and our enthusiasm for small businesses, you will find a home here.