Senior Software Developer (Telecommuting / Remote Position)

SANS Institute

Job Title: Senior Developer, Online Training

Department: SANS Online Training

Locations: Longmont CO, Fredericksburg VA, or telecommuting/remote (continental US)

About SANS:

The SANS Institute was established in 1989 as a cooperative research and education organization. Today SANS is the most trusted and by far the largest source for information security training and security certification in the world, with programs reaching more than 165,000 security professionals worldwide. As the leading organization in computer security training, SANS is known for providing intensive, immersion training designed to help security professionals master the practical steps necessary for defending systems and networks.

At the heart of SANS are the many security practitioners in government agencies, corporations, and universities around the world who invest hundreds of hours each year in research and teaching to help the entire information security community. Will you join them?

Role Description:

We are looking for a senior level developer to join the Online Training team at SANS.

The Senior Developer will work with the Online Training engineering team, with specific focus on the development and integration of both new and existing applications. This position works closely with the team lead to estimate, design, implement, and support solutions for Online Training at SANS. These products are both customer-facing client/server applications for traditional browsers and mobile devices, internal web-based and desktop applications, and integration with existing COTS products.

SANS software development teams span multiple time zones, with concentrations in Fredericksburg, VA, and Longmont, CO. The majority of the Online Training team works remotely. Travel is uncommon but sometimes necessary, on average up to two weeks total per year.

The development team uses an Agile/Scrum methodology with two week sprints. At the end of every sprint, work completed is demoed to stakeholders. The team is a combination of junior to senior developers in their experience levels, so some degree of mentoring is expected.

SANS uses a variety of programming languages and technologies. While no one specific language is an absolute requirement, a focus on PHP, Java, or C# is highly desirable, and the ability to learn new languages and frameworks is essential.

Essential Skills / Requirements :

  • 8+ years software development experience, with a focus on web development
  • Proven track record of professional software engineering practices:

    • Experience with unit testing, end-to-end testing, static analysis tools, etc.
    • Experience performing code reviews for peers
    • Understanding of debugging and troubleshooting tools and processes
    • Strong understanding of MVC and other design patterns, along with ability to distinguish the best applications for each
  • Understanding of Amazon Web Services, particularly how the services interoperate to form complete solutions

  • Strong understanding of RESTful APIs

  • Strong understanding of AJAX and Single Page Applications (SPAs), preferably with Angular 2+, Node.js and NPM, Redux, and related technologies

  • SQL Experience (preferably MySQL)

    • Perform basic CRUD operations as well as simple database table design.
    • Understanding key-based constraints and indices
  • Proficient in HTML/CSS/JavaScript, including JavaScript without the total reliance on a framework such as jQuery

  • Strong organizational and leadership skills

    • Ability to prioritize tasks and document work done
    • Ability to work independently when necessary
    • Ability to effectively mentor junior developers
  • Experience with Linux/Unix

    • Basic shell operations (file operations, etc.)
    • Basic text file manipulations
    • Understand file permissions
  • Experience with source control (preferably Git)

    • Working with branches, merging branches back to production, etc.
  • Bachelor's degree in Computer Science / Software Engineering or an equivalent combination of education and experience.

Desired Skills

These skills are not essential, but they make candidates even more appealing:

  • Experience with the Google Web Toolkit (GWT) writing client-side applications for numerous browsers and mobile devices. Only the client-side aspects of GWT are necessary; the server-side aspects are not presently used.
  • Experience with Python
  • Experience with Laravel
  • Experience with Eloquent and other ORMs
  • Experience with learning management systems (LMS) and SCORM
  • Experience writing applications for iOS and Android, including cross-platform frameworks
  • Experience with Atlassian Products (JIRA, Confluence, Stash, Bamboo)
  • Experience with Agile/Scrum methodologies
  • Experience with Bash shell scripts

    • provided by Dice 8 yrs of web-based SW Dev exp (PHP, Java, C#, etc.), SQL, HTML, CSS, Javascript, APIs, AWS exp is preferred
View this job on