Job Summary As a Software Engineer II you are critical to the team's success and delivery of MVI's. Your primary role includes system analysis, coding, testing, debugging, documenting, and installing portions of new systems and modifying existing systems. To be successful in this role you need expertise in application and database design, as well as software implementation and graphical user interface design. Like the industry, we move fast. We need you to stay fresh with new technology, software and architecture so that you can innovate daily. As a Software Engineer II everyday will bring new technology challenges. Keep in mind that as an Agile team member you may be asked to step beyond coding and do whatever is necessary to help your team deliver in a sprint.
Essential Duties and Responsibilities
- Develop new applications, modify and maintain existing software, working closely with end-users, IT peers and management.
- Make changes to prevent recurrence, modifying existing code and faulty files, writing and running special programs.
- Document the new applications, or the changes made to existing applications.
- Participate in unit, integration, and business acceptance testing of the applications.
- Troubleshoot application and system issues.
- Do whatever is necessary to get to your team's definition of done.
- Stay current on emerging technologies.
*Indicates essential job functions. Requirements To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements are representative of the knowledge, skill, and/or ability required.
- Bachelor's in computer science, computer engineering or related field.
- 2 years of experience in a related area
- 2 years experience in front-end frameworks such as: MVC, Ember, Web Forms, Angular, KnockoutJS or Node. Js.
- 2 years experience in middleware pattern such as: REST, Class Libraries as a Layer, WCF or SOAP Web Services.
- 2 years experience in data storage technology such as: Microsoft Entity Framework accessing the data, Relational Databases (SQL, Oracle, MySQL, etc.), or NoSQL Technologies (Hadoop, Mongo, etc.)
- Be able to describe the above in a logical software stack.
- Understanding of unit testing concepts and frameworks preferred.
- Ability to be self-directed.
- Familiar with an Agile environment.
- Participation and familiarity with open source projects is a plus.