: Server Software Engineer

As a Server Engineer, you will lead development of software systems and services with a high level of autonomy. You will also support software design, implementation, debugging, troubleshooting, installation and operations. A SE is able to design and build a wide variety of software subsystems and components efficiently and effectively, given only requirements specifications and constraints. A SE is able to develop and sustain these subsystems and software components in complex, multi-vendor, multi-platform environments.

Job Duties

  • Develop software systems and services using agile software development processes and provided use cases and requirements. Confer with Product Management and other functional groups within Skyhook
  • Work with DevOps team to analyze and address performance, scaling and other operational impacts associated with software deployment
  • Interact with software architects or other technical leaders to understand functional and performance requirements and recommend implementations to meet or exceed those requirements
  • Document designs and performance in Confluence
  • Keep abreast of state-of-the-art development tools, programming techniques, and computing infrastructure; participate in educational opportunities; read professional publications; maintain personal networks; participate in professional organizations
  • Utilize and support the team’s technical infrastructure (e.g. Git repositories, build system, testing systems, Jira issue tracking systems, Confluence documentation tool, others)
  • Protect Skyhook intellectual property by keeping information confidential
  • Accomplish engineering mission by completing tasks as needed
  • Support and develop other software engineers by providing advice, coaching and educational opportunities

Requirements

Required Skills, Qualifications and Experience for Position:

  • Software architecture, design and development fundamentals
  • Agile software development process
  • Object-oriented as well as functional software development
  • Software unit testing
  • Teamwork and coaching
  • BS in engineering, computer science, or a related discipline or equivalent experience
  • Experience in Java-based webserver environment (e.g., Tomcat)
  • Hands-on experience with the following technologies:
    • Java (Scala a significant plus)
    • AWS (e.g., EMR, S3, EC2, Lambda, RDS, ECS, Athena, etc.)
    • Database (relational and/or No-SQL datastores, SQL)
    • Python and Bash scripting
    • REST API principles
    • Container and container orchestration platforms (e.g., Docker and Kubernetes)

Additional beneficial Skills/Qualifications for the Position:

  • Knowledge of large-scale data pipeline processing techniques in a distributed/clustered Linux environment, using both stand-alone servers as well as cloud-based services
  • Spark or Hadoop (in big data context), Parquet

About Skyhook

Skyhook is location. Our team is made up of creative and passionate individuals who are focused on creating highly contextualized and location specific mobile experiences across the globe. Innovation is in our DNA. Our office in Boston’s exciting Seaport area is filled with Ideapaint, standing desks, bean bag chairs, crowd-controlled Sonos radio and a kitchen full of snacks. Our office is a collaborative open space that allows all of our teams to create and innovate together. If you love scaling and analyzing billions and billions of location samples, dealing with noisy data and are fanatical about building technology that drastically improves user experiences, we want to hear from you!

Full-time