Senior Software Engineer

Expel Logo

Expel

πŸ’΅ $163k-$236k
πŸ“Remote - United States

Summary

Join Expel's Device Detections and Tasking team and contribute to building a next-generation data ingestion and detection pipeline. You will participate in stakeholder discussions, implement tasks in the software development lifecycle, and collaborate with your team. Responsibilities include designing and architecting data-centric software solutions, building and optimizing large datasets, and writing tests. The ideal candidate possesses experience with data pipelines, database architecture, microservices, and front-end frameworks. Expel offers a competitive salary, unlimited PTO, flexible work location, parental leave, and excellent health benefits.

Requirements

  • Experience with architecting and maintaining data-centric software solutions and data pipelines using message bus / queue frameworks (e.g. PubSub)
  • Experience with database architecture (e.g. PostGres, Cloud SQL, BigQuery or Bigtable) and orchestration, including deep understanding of SQL and/or NoSQL
  • Experience with architecting and maintaining microservices (e.g. Go, Node, Python) & APIs (e.g. REST, RPC, HTTP, JSON)
  • Experience with building and optimizing large datasets (e.g. Spark, Iceberg)
  • Experience writing tests at different levels (unit, integration, smoke, etc.)
  • Familiarity with running systems and using services of a cloud platform (e.g. Google Cloud, AWS, Azure)
  • Experience with one or more front-end frameworks (e.g. React, Ember, Angular)
  • Ability to code in a readable, reliable, extensible, compiled and well scripted manner in multiple programming languages. Can easily identify patterns and incorporate leading practices
  • Working knowledge of logging, monitoring, query, analysis, and metrics (e.g. Google Logs, Loggly, Splunk, Stackdriver, and/or Datadog)

Responsibilities

  • Actively participate in stakeholder discussions to understand business needs
  • Identify, prioritize and implement tasks in the software development lifecycle, in conjunction with the product owner to deliver on business goals
  • Exemplify structured software development, testing, and deployment behaviors
  • Collaborate respectfully as part of your immediate team and with adjacent teams through pair programming, design sessions, and reviewing pull requests
  • Contribute to defining project level requirements based on your experience in software development and your understanding of the customer and business needs
  • Produce high-quality, modular, and extensible software designs and architecture with occasional oversight
  • Set an example for balancing high quality, technical excellence with focused, timely execution through planning, pair programming, and code reviews
  • Provide guidance and mentorship to less experienced engineers
  • Research and evaluate new technologies in support of business, technical, or delivery needs
  • Present, demo, or author blogs, for technical and non-technical audiences, as required internally and externally
  • Participate in your team’s 24x7 support for the applications you build and run
  • Establish and encourage a culture of belonging on your team

Preferred Qualifications

  • Proficiency with React
  • An eagerness to learn more about data-intensive systems (in Go)

Benefits

  • Bonus eligibility
  • Equity
  • Unlimited PTO
  • Work location flexibility
  • Up to 24 weeks of parental leave
  • Really excellent health benefits

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.