Essential Job Functions
- Generally takes leadership role in guiding projects through the complete software development life cycle
- Typical focus is on code design efforts
- Solid understanding of secure coding techniques and best practices
- Responsible (takes ownership) for multiple software applications
- Manage tasks and resources while utilizing modern project management principles
- Participate or lead the development of multiple projects at one time
- Conducts code reviews and ensures coding best practices are being followed
- Recommend software improvements and changes to systems, as needed
- May approve software to be deployed to production systems
- Perform software and data analysis to uncover issues and solve complicated problems that typically span multiple systems
- Lead various meetings to gather software requirements and project details
- Conduct software demo's to educate and train others in the use of software
- Debug and correct complex software defects
- Develop new or modify existing software using coding best practices
- Create or update advanced project documentation
- Test software to validate accuracy of code and high quality software systems
Skills and Qualifications
- 7+ years of software development experience
- Advanced understanding of change management and the O'Reilly change control process and procedures
- Advanced knowledge of Project Development Life Cycle (PDLC) and Software Development Life Cycle (SDLC)
- Advanced understanding of the software and system(s) supported by their team, as well as the overall company business
- Ability to lead and get results from others
- Ability to articulate advanced technical concepts and teach others
- Ability to effectively multitask
- Expert software debugging and testing knowledge
- Advanced understanding of complex computer systems (multiple programs, databases, communications etc)
- Advanced knowledge of programming, database systems, and systems analysis and design
- Ability to write advanced technical documentation
- Advanced problem-solving skills
- Good verbal and written communications skills
- Must work well in a team environment,
- Ability to learn independently
- Experience with Java desktop application development JavaFX or Swing)