Greater Fort Wayne Inc. Internship Opportunity Internship Title Software Development Engineer - Intern Employer: Extension Healthcare Location: 1950 W. Cook Road, Fort Wayne IN 46818 Start Date: May 2015 Duration: Summer Approximate hours per week: 40 Travel required: Yes No Desired Class level: Undergraduate Minimum GPA:__3.5__________ Contact Name: Neekol Gary Department: Engineering Job Title: Director, Human Resources Internship Description: The objectives and exercises (listed below in Learning Outcomes) are intended for an internship where the focus is providing the internal with software engineering training they will not receive in an academic setting. Essential Functions: Implement and enhance quality software components for the Extension Healthcare products identified for development Increase the quality of software, improve the usability and reduce the time to deliver Extension Healthcare software Assist in the creation of a body of knowledge for Extension Healthcare software development Review work done by others to ensure it meets Extension Healthcare standards Provide software expertise to assist in product development and planning Learning Outcomes: Objectives 1. Follow the troubleshooting/debugging process for a setting up an Extension development environment. Processes and work instructions can be found in the Extension Wiki. Successfully meeting this objective is required to complete all additional objectives. a. Skills: Shell scripting, Java Application Server management, source control, build environments, Ant b. Exercises: i. Verify that an Extension Engage adapter can be compiled, deployed and runs on the developer’s workstation c. Exercise successful after mentor/supervisor verifies a working development environment 2. Create an example Extension adapter a. Skills: Software design, software development, collaboration, following a release process, source control b. Exercises: i. Successfully implement an enhance, including following the standard process for 1. Documenting the design 2. Submitting the design for peer review 3. Accepting peer review feedback 4. Unit testing changes 5. Submitting changes for peer review 6. Accepting peer review feedback 7. Committing changes 8. Closing out ticket ii. Exercise successful after all activities have been verified in JIRA by mentor/supervisor 3. Follow the troubleshooting/debugging process for a deployed product. Processes and work instructions can be found in the Extension Wiki. a. Skills: Troubleshooting, debugging, software development, collaboration, following a release process, source control b. Exercises: i. Successfully identify and correct a bug, including following the standard process for 1. Documenting the issue 2. Correcting the issue 3. Unit testing changes 4. Submitting changes for peer review 5. Accepting peer review feedback 6. Committing changes 7. Closing out ticket ii. Exercise successful after all activities have been verified in JIRA by mentor/supervisor 4. Follow the process for implementing a enhancement request. Processes and work instructions can be found in the Extension Wiki. a. Skills: Software design, software development, collaboration, following a release process, source control b. Exercises: i. Successfully implement an enhance, including following the standard process for 1. Documenting the design 2. Submitting the design for peer review 3. Accepting peer review feedback 4. Unit testing changes 5. Submitting changes for peer review 6. Accepting peer review feedback 7. Committing changes 8. Closing out ticket c. Exercise successful after all activities have been verified in JIRA by mentor/supervisor 5. Repeat objectives 3 and 4 at least twice with specific assignments 6. Exercise successful after a measurable improvement in the review feedback and/or task completion time by mentor/supervisor Qualifications: The following are essential responsibilities that the job holder must be able to perform satisfactorily to do the job successfully. Note that these requirements are representative, but not all-inclusive, of the knowledge, skill, and ability required to perform this job. Experience in Java development Above average skills in software design and documenting software design Ability to work in a team based development environment General knowledge of databases and messaging protocols Experience with some of the following: Java Message Service, OSGi, JavaScript, HTML, CSS, Ruby, Postgres, HL7, TAP protocols, HIS, automated unit testing Dress code: Casual Additional Documents Required: Resume, Disclosure of GPA, Pre-screen questions completed.