Senior Software Engineer, Java/J2EE
Under minimal supervision, perform software development activities including software requirements, architecture, design, implementation, unit test and integration.
Minimum Skills & Knowledge Requirements:
• Bachelor’s Degree plus typically at least 10 years of related experience or Master’s Degree plus typically 8 years of related experience or waiver based on experience
• Must be proficient in java programming language found in the product development.
• Must have at least 3 to 5 years of experience in Java Enterprise (J2EE) development, specially EJB, JMS, JMX and Servlets.
• Must be proficient in SQL and RDMS databases such as Postgresql.
• Must have at least 5 years of experience in Object Oriented Analysis and Design and development
• Must have experience with Unit Test and Unit Test frameworks such as JUnit.
• Experience with J2EE application servers such as JBoss will be a plus.
• Experience with Java Swing development will be a plus
• Experience with OOD and OOA with UML will be a plus.
• Must possess strong written and oral communications skills.
• Must be highly organized and detail-oriented, with the ability to multi-task.
• Proactive and able to function independently with project stakeholders, but still work well in a team oriented environment.
Principal Duties & Responsibilities:
• Participate as an active member on a software development team. This includes participating in requirements review, design reviews, code reviews, test case reviews, and team meetings
• Participate as an active member on a project development team. This includes requirements change control, defect management, risk analysis, and release management
• Create / Maintain software requirement / functional specifications
• Create / Maintain software architecture documentation
• Create / Maintain software (component) design documentation
• Create / Maintain software source code that adheres to design documentation
• Perform unit testing and/or code reviews as per project policy
• Perform integration testing to ensure software functions within application and with electrical and mechanical devices
• Evaluate, investigate, and implement fixes to assigned software defects
• Evaluate, investigate, and implement assigned software change proposals
• Provide level of effort for assigned software activities. Track personal estimates over time in order to improve accuracy
• Follow project and corporate software plans, standards, and procedures to perform software development
• Perform other related duties as assigned