Senior Java Software Engineer
Location: Harrisburg, PAPosition Type: HybridHybrid Schedule: 1 day in office per week minimum (must be flexible to be on site 5 days if management team requires)Contract Length: 6 month, contract-to-hirePosition Overview:The Senior Developer is responsible for using approved programming languages, operating systems and source code to create, enhance, and maintain application solutions that meet the identified functional and non-functional business requirements. This role performs more complex assignments and has greater responsibility in the development process and work closely with Application/Integration Architects and Solution Architects to build and enhance systems at the Agency.Duties:Lead development and execution of unit tests and functional test coverage for assigned coding changes to ensure code quality.Code/build application solutions from specifications provided by Requirements Analysts and Application/ Integration ArchitectLead testing of application software modifications utilizing various programming platforms and productivity tools and review results for accuracy.Perform complex coding and testing in multiple systems and/or processes.Assist in defining and enforcing processes and procedures to ensure the quality of technical solutions.Present solutions and represent development team in code reviews.Represent development team in broader technical reviews used to detect defects in requirements, design, code, test cases, or other project artifacts.Oversee and enforce documentation of all code changes.Collaborate with Application/ Integration Architects in the design and development of proof of concept and prototype application environments.Manage source code changes using approved version control systems according to established version management approaches and methods as defined.Develop and refresh code construction fundamentals for coding practices, guideline for use of data, control-related concepts, and error-detection practicesCollaborate with other areas to identify and evaluate risks; participate in mitigation and control activities.Provide on-call support in support of systems and applications in production.Lead development team in production support activities including incident and problem management, code corrections, upgrades and patchesRequired Skills:SOFTWARE DEVELOPMENTSoftware Development Tools and Programming LanguagesSoftware development principles, practices, and conceptsObject-Oriented (OO) concepts and application to design, architecture, and developmentService-Oriented Architecture (SOA) and Web Services (REST, SOAP)IBM WebSphere Application ServerIBM MQ SeriesWeb Security (keys, certificates, trusts, etc.)Source code management tools (Subversion, Git)Software Development Life Cycle (SDLC) methodologies and toolsStructured Query Language (SQL)Relational and NoSQL databasesExcellent verbal and written communication skillsJAVAJava EEHibernateSpring FrameworkQuarkus (or similar microservice frameworks)Serverless architectures and/or containerizationAWS technologies (EC2, ECS, EKS, S3, Lambda, etc.)Model-View-Controller (MVC) frameworksDistributed Java technologies (MDB, EJB)Eclipse IDE and/or Microsoft VS CodeApache MavenHTML (HyperText Markup Language)JavaScript and/or TypeScriptCSS (Cascading Style Sheets)Preferred Skills:ColdFusionColdFusion ComponentsColdFusion Builder