Software Engineer

Posted 2hrs ago

Employment Information

Education
Salary
Experience
Job Type

Report this job

Job expired or something wrong with this job?

Job Description

Software Engineer building scalable Java and Spring systems for NCMEC. Developing tools that help technology companies and law enforcement detect and prevent child exploitation.

Responsibilities:

  • Write well-designed, testable, efficient code
  • Develop innovative solutions for complex operational and technical challenges
  • Iterate on applications to enhance capabilities while ensuring scalability, reliability, and performance
  • Participate in the full software development lifecycle as part of a Scrum team
  • Partner with technology industry leaders and domestic and international law enforcement agencies to help detect and prevent child exploitation
  • Serve as a domain expert on information systems
  • Assist with reviewing and refining software requirements
  • Identify and implement process improvements for business and IT processes
  • Evaluate technical solutions and provide estimates for operational planning
  • Participate in code reviews and uphold architecture, framework, and coding standards
  • Respond to and help resolve production issues, including rare after-hours support
  • Maintain the integrity and confidentiality of highly sensitive information and processes
  • Work effectively in an Agile environment while mentoring junior engineers

Requirements:

  • Bachelor’s degree in Computer Science, Information Technology, or related field or equivalent experience
  • 3-5 years of full stack Java development and familiarity with Spring Boot and the Spring Framework
  • Experience building highly available, scalable, cloud-ready applications, including client, server, and database layers
  • Experience with recent versions of Java and Spring Boot highly desired
  • Strong object-oriented software development and data modeling skills
  • Experience designing and implementing distributed systems and microservice architectures
  • Experience designing and implementing RESTful web services
  • Experience designing and implementing message-driven and event-driven architectures, message brokers, and Spring AMQP
  • Experience designing and implementing relational databases; understanding of NoSQL data stores is a plus
  • Hands-on frontend development experience with JavaScript, TypeScript, Sass, and familiarity with Angular, React, Bootstrap, or jQuery is a plus
  • Experience building and deploying containerized applications using Docker; exposure to CI/CD tools is a plus
  • Strong ability to debug code and troubleshoot issues
  • Experience with unit testing frameworks such as JUnit, Mockito, and TestNG
  • Understanding of Agile software development, including gathering and analyzing requirements
  • Ability to work collaboratively, accept and provide feedback, prioritize multiple tasks, and work with minimal supervision
  • Excellent critical thinking, organization, communication, and time management skills