Senior Software Engineer

About SkySync

SkySync is a rapidly evolving, fast-paced, venture-backed software innovator based in the Ann Arbor tech cluster with remote Syncopaths in all U.S. timezones. Our quirky and unique workforce excels at managing our customer’s content migration, synchronization, and orchestration challenges like no other in our space.

We’re committed to providing our customers with innovative, robust and secure solutions for managing their content across any platform. We are seeking a Senior Software Engineer who understands digital platforms such as Microsoft SharePoint and Google G Suite. Our new offering launching just around the corner leverages A.I./M.L. capabilities and has an extensive front-end component. We work remotely, so strong communication skills are a must. Our code base is complex (not spaghetti code—it just does a lot and does it well), so we anticipate more experienced resources will be needed to hit the ground running.

Duties and Responsibilities

You’ll work on full-stack components including API integration, SDK, and extensions for our next generation synchronization and migration framework. Using an Agile approach, engineers are involved in the full lifecycle of code design, delivery, automation and extension.

Engineers help refine tasks from the JIRA backlog, adding acceptance criteria and then working with architects to build something that matches design guidelines. We use a TDD approach and our process adds an emphasis on code reviews and collaboration. You will deliver a completed User Story after code review approval to QA staff, but stay involved to ensure that testing and documentation is done correctly.

Because of the complexity of the product, engineers regularly work with professional services, sales engineers, and customers to strategize and solve specific challenges and business use cases.

Software Engineers are required to be self-starters capable of working independently with minimal management oversight. Because we work remotely, good written and oral communication skills are a must.

As we extend our product, we are looking at integrating with A.I./Machine Learning tools, so if you have interest or experience in that domain then we might be a good fit for you.

Specifically, as a Senior Engineer, you will need to:

  • Refine basic requirements/user stories to add necessary design elements and acceptance criteria
  • Deliver completed code commensurate to seniority level, in a way that meets task acceptance criteria
  • Work according to development standards (including MVVM architecture, TDD, and code formatting)
  • Participate fully in the SkySync Agile process (daily standups, grooming, retros, demo)
  • Contribute to team velocity via code reviews, lunch and learns, and infrastructure maintenance appropriate to seniority level
  • Maintain development skills independently by researching technology and utilizing available learning resources
  • Contribute to team velocity by stepping into any necessary stage of the agile process (requirements, documentation, testing)

Required skills

  • Extensive experience with software patterns and standards (MVVM, OAuth, other frameworks using OO principles)
  • Familiarity with asynchronous programming
  • Strong skill in automated testing including mocking
  • Experience programming against Web services (primarily REST)
  • Proficiency in Microsoft .Net, and C#
  • Experience with SQL databases (MS SQL, PostgreSQL)
  • Ability to work with React/Redux, Typescript and JavaScript ES6.
  • Familiarity with NodeJS and NPM
  • At least 5-years of enterprise software development experience

Desired skills

  • Experience with HTML5, React.js
  • Experience with Git, TeamCity
  • Ability to refine basic stories and find ‘hidden requirements’
  • Microsoft SharePoint development, and/or any ECM platform development experience will be a big benefit.

This position is a great fit for you if you like complex problem solving and being empowered to find solutions in technology or by collaborating on a solution; you accept the challenges and rewards that come from working with some of the world’s largest software companies.

This position is not a great fit for you if you like detailed requirements laid out in advance; you prefer a job where testing, documentation and customer support are located in separate teams or departments away from engineering; you work alone and dislike code review feedback.