POSITION SUMMARY: This position is responsible for the analysis, design, implementation, testing and maintenance of high quality software components.
EDUCATION / SKILLS and EXPERIENCE:
Education: B.S. in Computer Science required or a combination of equivalent educational experience
- Skills and Experience:
- 5+ years of Java Development experience
- Advanced skills / experience in test and task automation
- Experience with or strong understanding of Test Driven Development and Unit Testing
- Advanced skills / experience in software development life cycle methodologies
- Advanced skills/experience in both front-end and back-end development desired. Individual positions may require more experience in a particular area.
- Ability to assume technical lead role
- Experience turning requirements into software design specifications
- Ability to mentor other software engineers
- Ability to act as Subject Matter Expert on business, technical or discipline topics
- Understand Prioritization and balance own work as well as that of other engineers
- Provide input to standards and practices. Provide solid guidance for code reviews
- Clear communications (oral and written) and willing team player
- Proficiency developing and troubleshooting complex software systems that run in mixed-environments including Linux, Unix z/OS and/or Windows
CURRENT ENVIRONMENT:
- Java, XML, XSLT, JMS, WebSphere MQ, SQL / Stored Procedures; web development technologies
- IBM DB2 – primarily for mainframe z/OS; some SQL Server for Windows
- Unix / Linux
.
GENERAL DUTIES AND RESPONSIBILITIES:
(This is a representative list of the general duties the position may be asked to perform, and is not intended to be all-inclusive)
- Participate in process to elicit and specify project requirements and define project scope
- Assist in development of software application architecture
- Analyze, design, code, test, debug, maintain, and document software components in accordance with MIB’s software architecture and software development processes
- Participate in application performance tuning
- Ensure developed applications adhere to MIB security model / policies
- Lead code review of developed software artifacts
- Ensure that deliverables meet the project requirements, including timely delivery and quality (reliability, performance, and maintainability)
- Contribute to the creation of project schedules by providing estimates related to effort, duration, and completion of assigned tasks
- Adhere to MIB’s processes for change / configuration management
- Find innovative ways to improve quality and productivity
- Provide ongoing technical support for external / internal users of software components
- Participate in the research and evaluation of software development tools and emerging technologies
- Participate and effectively contributes in a team environment, in accordance with MIB’s Core Values
- Communicate effectively with other MIB technical units as well as business stakeholders to facilitate the development process to ensure the attainment of MIB corporate goals
- Mentor / train less experienced software engineers
- Serve as technical lead within scope of expertise
- Participate in a skills growth path to promote achievement of corporate goals as recommended by the Department Manager
- Comply with all applicable and departmental software policies, standards, and practices including all standards relating to Security and Disaster Recovery
TIME ALLOCATION:
- 20% - participate in requirements gathering, analysis and design of software systems and components
- 30% - implementation and testing of software systems and components
- 10% - maintenance of software systems and components
- 20% - documenting software systems and components
- 10% - educational growth / skills improvement / research new technologies
- 10% - mentoring, training; technical lead responsibilities
All Associates (whether full-time, part-time, or temporary), Interns, Subcontractors, and Service Providers are to follow the Information Security Program to:
- Ensure the security of Protected Information;
- Protect against anticipated threats or hazards to the security or integrity of Protected Information; and
- Protect against unauthorized access to or use of Protected Information in a manner that creates a substantial risk of a security breach, identity theft or fraud. Associates must contact the Help Desk immediately in the event of or suspicion of a security event (e.g., lost or stolen equipment, sensitive information disclosure, etc.)