Client: John Deere
Location: Moline, IL 61265
Location: Moline, IL 61265
Title: Software Engineer II
Software Engineer II
- Works on a product team and supports product design by planning its work, coordinating with others, and writing and testing code to deliver moderately complex functionality on a complete product or significant portion of product it supports. This level develops simple designs to solve well-defined problems with guidance from more senior team members. May assign, coordinate and review portions of the work to support personnel; Makes decisions within established guidelines subject to review by supervisors; Executes high level applications to more complex problems.
- Develops, codes, configures, and tests programs and systems.
- Evaluates and implements enhancement design solutions to improve cost, quality, and performance of software applications.
- Analyzes assignments and determines software specifications that must be fulfilled to achieve objectives.
- Executes necessary documentation, as directed, or needed.
- Collaborates with other relevant stakeholders and team members to ensure that features meet business needs.
- Follows industry-standard agile software design methodology for development and documentation.
- Competencies, technical skills, formal education and relevant
- work experience critical for successful individual performance of essential functions.
- Competencies and target level: The leadership level of the job determines
- competencies in the John Deere Competency Model. Resources can be found in the Talent Central Self Service Portal.
- Technical Skills & Knowledge: Specialized skills, knowledge and abilities needed to perform the essential functions of the job.
- Excellence in verbal and written communication forms with emphasis on persuasive communication, tact and negotiation. (Has a good understanding of the principles and can independently use the knowledge.)
- Ability to analyze, translate, and define business requirements into technical solutions. (Has a good understanding of the principles and can independently use the knowledge.)
- Ability to apply engineering principles and concepts for designs. (Has a good understanding of the principles and can independently use the knowledge.)
- Ability to manage many competing priorities/requests in a fast-paced environment (Has a good understanding of the principles and can independently use the knowledge.)\
- Formal education or training required to perform the essential functions of the job. Includes degrees, certifications, licenses and/or registration requirements.
- Degree in an Engineering/Technology discipline or equivalent experience. (University Degree (4 years or equivalent))
- Degree in an Information Technology discipline or equivalent experience. (University Degree (4 years or equivalent))
Relevant work experiences:
- Type and amount of experience necessary to perform the essential functions of the job. May include specific roles and/or an understanding of a particular function, organization, industry or product line.
- Previous experience in programming/software development. (1 - 3 years)
- Software development processes experience. (1 - 3 years)
- Participating in Agile Development (1 - 3 years)
- Experience working in an Agile Environment (1 - 3 years)
- 3+ years of experience with Java web development with Spring and RESTful APIs
- 2+ years of experience with TDD and acceptance test-driven development utilizing J-Unit, Cucumber, etc.
- Experience with DevOps principles and lean development such as Continuous Integration and Continuous Delivery (GitHub, Jenkins, etc.)
- 1+ years experience with varied database technologies (e.g. MongoDB, DB2, SAP HANA)
- Working understanding of design patterns and loosely coupled architectures (Swagger.io)
- Experience configuring, implementing, and utilizing system execution/quality monitoring tools like AppDynamics, Grafana, Graylog, SonarQube, etc.
- 2+ years of experience with TDD and acceptance test-driven development utilizing Jest, Puppeteer, Enzyme, etc.
- 2+ years of work experience in an Agile/Scrum team environment
- Experience in cloud development with platforms like AWS or Azure