Senior Software Engineer

company logo

R2

Apply for this job

Skills & requirements

Design systems, using pragmatism and principles (SOLID, design patterns), to publish and syndicate laws, rules and regulations. Publish data APIs and documentation to be consumed by internal and external developers. Manage production APIs, while maintaining backwards compatibility for long-term clients. Develop client multi-language libraries (SDKs) to consume from the APIs. Collaborate cross-functionally across a small team and a diverse stack to integrate applications. Deliver complex product features in a fast environment with limited requirements.


Qualifications

  • 6+ years of experience as a professional software engineer.
  • 2+ years in a software leadership role, leading teams, and/or managing development for software projects.
  • 2+ years of designing and architecting HTTP APIs (GraphQL preferred).
  • 2+ years of developing with Java microservice applications (Spring Boot strongly preferred).
  • 2+ years of working directly with SQL-like database (PostgreSQL preferred, Oracle, etc…)
  • 1+ years of developing applications that ingest XML and/or unstructured data.
  • Previous experience developing and maintaining a developer-facing API, data feed, or data interchange is a plus.
  • Previous experience developing using eventing infrastructure (Kafka, RabbitMQ, Redis, etc...)
  • Must be able to apply CS theory, including graphs and trees, to solve real-world problems.
  • Previous experience working with an orchestration tool for data pipelines (Argo, Airflow, etc...) is a plus.
  • Previous experience working with python (lxml, SQLAlchemy, pydantic, etc...) is a plus.
  • Previous experience developing machine learning models is a plus.
  • Previous experience working with Google Cloud Platform (GCP) or kubernetes is a plus.
  • You write code that is understandable, simple, clean and elegant.
  • You enjoy autonomy and are able to operate with self-direction.