Description:Researches, designs, implements and manage software programs as well as testing and evaluating new programs. Resolves problems with software and responds to suggestions for improvements and enhancements. Writing and implementing efficient code. Develop quality assurance procedures and deploy software tools, processes and metrics. Works closely with other developers, UX designers, business and systems analysts. Acts as team leader on projects. Participates in development of software user manuals. Instructs, assigns, directs, and checks the work of other software developers on development team. Consults with engineering staff to evaluate software-hardware interfaces and develop specifications and performance requirements.
List of tasks to be performed:• Participate in the project planning process that determines programming and hardware needs. Assist or lead in preparing programming specifications and in developing coding logic. Prepare charts, diagrams, and other documentation as needed.• Design, code, test, and debug computer programs, independently or as part of a team, using computer languages identified and available in the Infrastructure Tool Kit (ITK).• Oversee the consistent utilization of development standards, procedures and processes. Ensure systems compatibility. Follow data security procedures and identify potential data security risks.• Maintain contact, as designated, with the team leader, customers, contractors, and equipment vendors to monitor progress and coordinate varied project stages.• Maintain computer programs and systems. Revise and update computer programs, procedures, and systems; including rewrites to the systems documentation and instructions as necessary.• Performs other job-related tasks as assigned or required to support the duties outlined above.
Knowledge with the following qualifications:• DevSecOps, Secure Coding practices, and the Solutions Development Framework (Docker, Jenkins, GitLab)• Designing and developing event/message based application services using a message queue (e.g.Apache Kafka)• Using automated unit testing and user interface testing tools, ideally in a test-driven-development approach.• Use of source code management tools, ideally in a continuous integration/continuous delivery (CI/CD pipeline) SecDevOps environment• API centric, microservices, serverless applications, or similar cloud-friendly application designs.• Cloud Development with Dataflow, PubSub, or Redis• Microservices design• Kubernetes• Security• Performance tuning• High Observability Principle• Multi-threading• Java• NoSQL Schema Design
Working knowledge of one of more of the following qualifications:• Knowledge/experience with Agile Methodologies• Knowledge/experience of SDLC practices• Change Management and Configuration Management (VersionOne, ServiceNow, etc)• Application Lifecycle Management (ALM)
Additional Required Skills/Experience:o A minimum of Thirteen (13) years’ relevant experience.o A degree from an accredited College/University in the applicable field of services is required. If the indiviual's degree is not in the applicable field then four additional years of related experience is required.