Senior Software Development Engineer

Employer
ARIN
Location
Chantilly, Virginia
Salary
ARIN offers competitive salaries, comprehensive benefits, training, education, and generous 401K.
Posted
Apr 01, 2019
Closes
May 06, 2019
Industry
Nonprofit, Other
Hours
Full Time

We are currently seeking a Senior Software Development Engineer who will participate in the full life cycle of software development while supporting the functionality and mission of ARIN.  This includes research, design, development, testing, debugging, maintenance and documentation.  The functionality of ARIN includes domain name services, public key certificate services, registration software, billing/accounting solutions, customer record management, data research and analysis, web-based systems including REST, electronic publication of ARIN data and any future technical growth and implementations at ARIN.

Job Description and Responsibilities

  • Research, design and develop software systems to meet with user requirements using Kotlin, Java, Javascript, C, Ruby and other languages as deemed appropriate by the Chief Technology Officer and/or Chief Engineer and applying principles and techniques of computer science, engineering, and mathematical analysis.  Test, debug, and maintain the systems.
  • Follow configuration management practices of ARIN including source control using Git, coding standards and release packaging using Ansible, Docker, and Kubernetes in a Linux environment. Provide packaged releases for all application releases and bug fixes. Support Quality Assurance (QA) efforts.
  • Design, develop, test, debug, maintain and document web-based systems that can operate on a variety of computer platforms and operating systems using modern web technologies such as HTML, CSS, Javascript, Angular, React, Bootstrap, and Web Assembly.
  • Design, develop, test, debug, maintain and document applications against various ARIN databases in PostreSQL and MariaDB. Create utilities to modify records, produce statistical analysis and timely reports, and scan the database for integrity. Develop proposed relational database schemas to support application development.
  • Participate in a scrum-based, Agile software development process and present results of individual and team work to supervisors and product owners on a regular basis.
  • Participate in requirements gathering process. Produce, contribute to and/or review project specifications, design documents, flowcharts and diagrams. Analyze software requirements to determine feasibility of design within time and cost constraints. Consult with customers concerning requirements, enhancements and operation of systems.
  • Consult with system operations and other engineering staff to evaluate interface between hardware and software, and operational and performance requirements of overall system.
  • Design, develop, test, debug, maintain and document application programming interfaces for external, third-party systems or software. 
  • Participate in code reviews of own and others software.
  • Research, recommend and make changes to improve systems and/or database performance.

Additional Duties

  • Perform other related duties as required and assigned.
  • Ability to travel to various locations to attend industry related conferences.

Background / Skills Required

  • 4-year college degree preferably in an information systems or computer science related discipline OR equivalent work experience.
  • Seven or more years job-related experience, including functional programming techniques, object-oriented techniques, structured analysis and design and application troubleshooting and support.
  • Knowledge of Java, C, and Javascript in a Linux environment.
  • Experienced with client/server network programming (TCP/IP and UDP). Demonstrated proficiency in dealing with such issues as multithreading, non-blocking and asynchronous I/O.
  • Experience and knowledge of REST based systems.
  • Experience and knowledge of systems configuration management such as Ansible or Puppet.
  • Experience and knowledge of Java application containers such as Jboss/Wildfly.
  • Experience and knowledge of Docker, Kubernetes or other container and container orchestration technologies.
  • Knowledge of relational databases and SQL, preferably MariaDB and PostgreSQL
  • Ability to understand complex instructions and to work independently.
  • Strong interpersonal, verbal, presentation and written skills.
  • Excellent problem-solving skills.

Background / Skills Preferred

  • Familiarity of IPv4, IPv6, PKI, RPKI, Whois, RDAP, RPSL, routing and networking issues and protocols.
  • Familiarity with the DNS protocol and its particulars.
  • Experience and knowledge of Kotlin, Gradle, Angular, and/or React.

Apply for Senior Software Development Engineer

Already uploaded your resume? Sign in to apply instantly

Apply

Upload from your computer

Or import from cloud storage

Your Resume must be a .doc, .pdf, .docx, .rtf, and no bigger than 1Mb


4000 characters left

Marketing Communication

We'd love to send you information about Jobs and Services from Washington Post Jobs by email.

All emails will contain a link in the footer to enable you to unsubscribe at any time.


When you apply for a job we will send your application to the named recruiter, who may contact you. By applying for a job listed on Washington Post Jobs you agree to our terms and conditions and privacy policy. You should never be required to provide bank account details. If you are, please email us.