Software Developer/ Engineer/ Architect

Java & PHP Software Engineer I

Essential Duties/Responsibilities

  • Maintaining and troubleshooting production systems which are supporting internal and external customers
  • Takes part in production systems evaluation and software-support troubleshooting
  • Producing documentation to support other developers and internal teams within Cofense
  • Generating test cases and producing a testable and tested software product
  • Staying current with the latest techniques and tools used within the software development industry
  • Understanding the approach and design decisions and creating an implementation that supports overall design
  • Working with other engineers on the team, particularly more junior engineers through pair programming, open communications, and collaboration
  • Actively participate in both Agile and Waterfall development life-cycle(s), including planning and grooming, stand-up, and retrospectives
  • Proactively perform code reviews, give feedback, and ask questions
  • Expeditiously resolve software bugs with appropriate criticality
  • Other duties as assigned

 

Knowledge, Skills and Abilities Required

  • Works well with others, capable of working constructively with a group of people that have different skill sets and interests. Effective at communication
  • Ability to work independently and take initiative as a member of a dynamic and fast-moving team.
  • Knowledge and experience using Spring and dependency injection in general.
  • Knowledge and experience using JPA / Hibernate.
  • Knowledge and experience using relational database systems especially PostgreSQL and MySQL.
  • Knowledge and experience using Elasticsearch as a developer as well as designing indexes and search clusters for efficient search across massive data sets.
  • Knowledge and experience using PHP
  • Knowledge and experience using HTML
  • Knowledge and experience using CSS
  • Knowledge and experience using Jquery
  • Knowledge and experience using MariaDB
  • Ability to comfortably do full stack development from backend systems to user interfaces as necessary.

Education and/or Experience:

  • Bachelor’s Degree preferred.
  • Experience and comfort developing large scale distributed applications using Java (core, concurrency, threading)
  • Knowledge and experience using Spring and Hibernate
  • Knowledge and experience in web development and PHP
  • LMS development experience a plus
  • Experience with Moodle plugins a HUGE plus
  • Experience working with RESTful APIs with data validation techniques