Software Engineer - Go - remote

Posted 3 years ago

As a well rounded software engineer, you should definitely be the type that appreciates diversity in your day, and challenges outside of your comfort level! A typical day in the life of a PacketFabric software engineer might include these types of activities:

Designing a deterministic lifecycle workflow for our next product offering.

  • Writing core platform code for a new feature, and unit tests for functionality.
  • Leading discussions on new development and gathering requirements from business users for new features.
  • Refactoring and improving existing code for performance and simplicity.
  • Build tools to help our internal business partners better perform their jobs
  • Researching additional ideas, you may have to improve the product/platform overall and sharing with the team.
  • Interacting with customers and/or sales on a bug in the software, quickly resolving it, and coordinating across the team to push a fix.
  • Working with other engineers and discussing quirks in network protocols and network interconnection which translate rapid API changes.


Requirements

The right candidate will have an abundance of hard core programming skills, have solid instincts for API usability and design patterns. You are probably a full stack developer who naturally gravitates towards work on a product core. You know how to sacrifice algorithmic elegance for getting it done on deadline. More specifics include:

  • Extensive experience with Go in large applications developed in a team environment.
  • Expert unit tester.
  • Experience building tools and applications used by internal company users.
  • Extensive experience with the HTTP protocol and developing and using RESTful APIs.
  • A solid understanding of OO programming paradigms.
  • Experience with a message queue system like RabbitMQ or Kafka.
  • Experience using NoSQL data stores like Redis.
  • Be completely at home on any *nix command line and building your own tools.
  • Very comfortable using Git in a team environment (i.e. pull-requests, branch management, rebasing).
  • Experience working in an environment leveraging remote communication collaboration tools like Slack, Zoom etc.
  • Never being afraid to venture boldly where none have gone before and develop code where there are no previous libraries to draw from.

Preferred Experience

  • Cassandra experience.
  • Any experience interacting with physical world equipment - industrial, medical, etc
  • SQL experience.