Principal Backend Software Engineer

· remote, New York
Employment Type Full-Time (US)
Minimum Experience Experienced

SoHo Dragon represents a global technology company with offices in Texas that needs to hire a Principal Backend Software Engineer for a full time opportunity.

What You Will be Doing 

  • Work with senior engineers and application architects to implement technical requirements
  • Implement backend services and their corresponding client SDKs.
  • Work in all stages of the product development life cycle; design, implementation, testing, release, deployment, monitoring, troubleshooting, maintenance and improvement
  • Implement testing automation and mocking in the service implementation
  • Working as QA to build and maintain test automations
  • Working as DevOp to build and maintain CI/CD and blue/green deployments
  • Provide constructive feedback and be open to receive critical feedback in design reviews and code reviews 
  • Keep your work well documented and train other members to be able to back you up 
  • Additional responsibilities
    • Work with Product Management and other business partners to turn business requirements into technical designs  
    • Work with Project Management to develop the work backlog, task dependencies, and delivery milestones
    • Facilitate matrix decision making- conduct research and produce multiple architectural options.  Present each option's trade-offs to the project stakeholders to forge consensus
    • Work ahead of the team - identify and complete pre-works that will unblock the team or magnify the team's output
    • Design and implement zonal and regional failover test scenarios
    • Design fault injection test scenarios
    • Design and implement blue/green deployment scenarios
    • Design service API interfaces and be able to produce both a RPC schema, REST schema, and mapping of the two.
    • Generate API documentations

What You Will Need to Succeed

  • Behaviors
    • Learn and be Curious - eager to learn new skills, be curious about new possibilities, and act to explore them
    • Biased for Action - move fast and take calculated risks
    • Take Ownership - never say "that's not my job"
    • Dive Deep - stay connected to the details and be skeptical when metrics and anecdote differ.  No task is beneath you
    • Low Ego - demonstrate the maturity to listen and emphasize with opposing opinions.  Focus on helping the team to deliver on the mission instead of "doing things your way"
  • Skills
    • Java and/or Python
    • Familiar with SQL and a relational database technology such as Postgres
    • Familiar with unit testing and test automation techniques
    • Familiar with CI/CD processes (e.g. Gitlab)
    • Additional Skills
      • Familiar with System Design patterns and their trade-offs: session-based routing, caching strategies, active-active, active-standby
      • Familiar with database sharding design and high availability patterns 
      • Familiar with patterns to horizontally scale a distributed application and their trade-offs

Nice to Have Skills

  • Familiar with Go
  • Familiar Kubernetes
  • Familiar Terraform 
  • Familiar with AWS technologies such as VPC, EC2, Kinesis, and S3
  • Additional Skills
    • Familiar with authentication and single-sign-on protocols such as OAuth2 or SAML 
    • Familiar with authorization patterns such as role based access control
    • Familiar with Service Mesh technology such as Istio
    • Familiar with Open Policy Agent and Rego
    • Familiar with logging technologies such as FluentD, CloudWatch, Prometheus, and/or Grafana Loki
    • Familiar with running a bitcoind node or an Ethereum node
    • Familiar with generating and signing a blockchain transaction

Thank You

Your application was submitted successfully.

  • Location
    remote, New York
  • Employment Type
    Full-Time (US)
  • Minimum Experience