hero

Looking for your next challenge?

38
companies
441
Jobs

Software Engineer - Backend

Observe.AI

Observe.AI

Software Engineering
Redwood Shores, Redwood City, CA, USA
Posted on Wednesday, May 1, 2024
The Opportunity
As a Software Engineer at our company, you will play a crucial role in launching a new product line that represents a strategic focus within the contact center space. This role will challenge you to leverage your technical skills in a fast-paced, agile environment where the quality of your work directly influences business outcomes.
You will contribute both independently and as part of a team to develop scalable solutions, engaging in meaningful collaboration with product managers, engineers, and designers. This is a chance to engage deeply with a newly emerging product category, applying your problem-solving skills to ensure we're not only developing the right solutions but also addressing the most impactful problems.
This position is akin to a founding role in a new team, where you'll have the opportunity to shape the direction and success of the product from the ground up. While you'll be joining a new initiative, you'll be supported by the robust infrastructure of an established engineering team with over 100 members, offering a balance of stability and innovation.
About the Team
Our team is a dynamic mix of engineers, ranging from recent college graduates to seasoned principal engineers. Several team members have been with the company for over five years, witnessing and contributing to the significant evolution of our systems and the company's growth. Our engineers share a passion for a fast-paced work environment, emphasizing quality and fostering healthy competition.
In this role, you'll have the unique opportunity to work directly with principal engineers, the Director of Product, and other executives. This position offers high visibility within the organization, as it is central to a new product line that the company is heavily invested in. Your contributions will not only influence the immediate project but also the broader strategic direction of the company.

What you’ll do day to day as a Software Engineer (Backend)

  • Software Development: Participate in the full application lifecycle with a focus on coding and debugging. You will integrate user-facing elements developed by front-end developers with server-side logic, crafting efficient and scalable solutions.
  • Component Ownership: Assume responsibility for critical technical components including databases, queues, caches, and APIs. You will buy or build suitable technologies for each, ensuring optimal performance and scalability of our backend systems.
  • Code Quality: Build reusable code and libraries for future use, emphasizing maintainability and efficient code reuse.
  • System Optimization: Ensure the balance of critical technical pillars including scalability, reliability, security, and cost. Design and implement systems with an eye towards future needs and immediate performance.
  • Advanced Features: Build and engage with complex backend systems involving RBAC, user authentication, and stream communication for audio. You will work on systems requiring low latency optimizations and those where downtime could significantly impact customer business operations, reflecting the high stakes and technical precision required.

What you’ll bring to the role

  • Experience: At least 3 years of experience in building production-grade software products. Familiarity with working in fast-paced environments and delivering under tight deadlines.
  • Technical Expertise: Strong proficiency in Java and Spring, or similar frameworks. Experience with Python is a plus. You should also have hands-on experience with container management tools like Docker Swarm or Kubernetes.
  • Database Management: Hands-on knowledge of at least one SQL or no-SQL database, such as Postgres, MongoDB, or Cassandra.
  • System Knowledge: Understanding of fundamental modules including queues, cache, OLAP stores, and websockets.
  • Design Acumen: Knowledge of design patterns and their practical applicability in solving complex software engineering problems.