Job Description

We are looking for a curious and methodical server-side software engineer to join our team. This position will focus on designing and crafting scalable web services and web applications. An ideal candidate will have 5+ years of work experience and deep knowledge of at least one functional or object-oriented programming language.

In this role, you'll get to:

  • Help design and develop scalable, performant web services and applications
  • Contribute to the refinement of our software development practices
  • Experiment with emerging languages, data-stores, deployment environments, and technologies

Requirements

Requirements:

  • Fluency in Go, Rust, TypeScript, Python or similar languages and accompanying REST API frameworks.
  • Strong grasp of Linux/UNIX CLI.
  • Strong grasp of RDBMS, SQL, data modeling, and data management concepts such as ACID and CAP.
  • Experience with one or more cloud services; AWS, Google Cloud, Microsoft Azure, Heroku, etc.
  • Experience developing asynchronous services and socket servers for high transaction environments.
  • Experience with writing unit tests and integrating them into a CI/CD pipeline.
  • Experience with maintaining a CI/CD pipeline.
  • Experience with load testing.
  • Exposure to static code analysis tools and addressing basic back-end security issues.
  • Completely comfortable speaking and writing in English.
  • The ideal applicant would have the following personality traits; patient, team-oriented, conscientious, self-motivated / self learning, takes initiative with communications, and understands the value of good writing skills (technical and non-technical, trust us, the better your writing skills, the less meetings you'll have to attend).

Nice to have:

  • Consulting or related client / customer services experience.
  • Data analysis, data cleansing, data engineering experience working with a data science team.
  • C, Java, or C++
  • Exposure to server-less compute services; Docker, Kubernetes, AWS Lambda, Google App Engine, etc.
  • Exposure to queue based architectures, distributed queue components, and pub/sub systems; SQS, Kinesis, Google Pub/Sub, etc..
  • Exposure to key-value data-stores, real time kv document stores, and related caching components; Riak, DynamoDB, Firebase, Redis, MemcachedDB, etc.
  • Exposure to RDBMS OLTP/OLAP optimization concepts.
  • Exposure to MPP databases; Bigquery, Redshift, SQLServer DW, etc.
  • Exposure to in-memory RDBMS; VoltDB, MemSQL, Redis Enterprise, etc.
  • Exposure to Hadoop/HDFS based data management systems; Impala, Spark, Hive, etc.
  • Exposure to data engineering concepts such as; data cleansing, statistical analysis, transaction coordination, polyglot persistence, etc.

Benefits

  • Gain experience working with the latest and greatest technologies in areas such as; iot, big data, data engineering / analysis, ML/AI. It never gets boring here, we get some really cool projects, and attack some really awesome problems.
  • You'll be part of a global team of talented engineers, architects, and designers who are respectful and eager to teach one another about emerging technologies, trends, and techniques.
  • If you are the type of person who doesn't want to be micro-managed, likes to contribute to a project at a high level (beyond just engineering; design and ux related issues, business related issues), and is more comfortable with free and open communication with your team - you will succeed here.

Some similar jobs