Job title : Software Engineer

Job Number : 84158
Division : Information Technology

Job Description:

The Software Engineer 2 will assist with the development and maintenance of complex, multi-tiered application software systems. Participates in all phases of software engineering, including requirements analysis, algorithm design, coding, integration, test and documentation. Develops design documentation prior to coding, and user training documentation for delivery with the finished product. Develops and executes software test procedures. Adheres to team development standards for software processes, tools and metrics. Participates in multiple application development specialties, including graphical user interface development, mathematical and logical algorithm development, and database structure design. This position requires a strong knowledge of object-oriented analysis and design methods, coding desktop applications and web services. Duties include integration of software components into a fully functional software system; writing of test procedures and document test results to ensure software system requirements are met; develop and maintain documentation of architecture designs, requirements, algorithms and user interfaces for software systems. Works under general supervision to complete assigned software development tasks.

A day on the job may include:
Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
Provide technical leadership
Translate requirements / vision into prioritized list of user stories and deliver to required timelines and quality standards
Work with product line leaders and architects to develop multi generation software technology plans
Drive increased efficiency across the teams, eliminating duplication, leveraging product and technology reuse
Support process improvements which guide the development, sustaining & support activities
Coach, mentor and help the R&D team
Work cross functionally with production and R&D Engineering to align activities and deliverables
Drive world-class quality in the development and support of products
Communicate effectively both within immediate team and Engineering managers and supervisors
Ensure team receives consistent messages and has clear understanding of business direction, strategy and results
Engage subject matter experts in successful transfer of complex domain knowledge
Design, build, and unit test object-oriented software in a collaborative environment
Build scalable, stable, and efficient processes to collect, manipulate, present, and analyze large datasets
Understand, design and implement new database schemas, procedures, and API's
This job may be for you if you can:
Sit for up to 8 hours a day
Walk distances

Top Skills:
This job may be for you if you have:
* Bachelor's Degree in Computer Science or in "STEM" Majors
* Strong computer skills are required including familiarity with Windows-based programs and development tools (e.g., Excel, Word, Outlook, Visual Studio)
* 4+ years of Enterprise software development experience
* Experience debugging, profiling, unit testing, continuous integration, provisioning and distribution of applicationsStrong knowledge of programming languages (e.g., C++, C#, Java/JavaScript, Python, Go)
* Experience with desktop, mobile and web frameworks (WPF, ASP, Angular, Android)
* Experience with RESTful services and other API'sExperience with version control (e.g., Git, TFS)
* Ability to work independently, manage multiple assignments, and meet tight deadlinesStrong oral and written communication skills
* Strong interpersonal skills

Extra Awesome:
* Experience with developing software in an agile or extreme programming environment
* Experience with Desktop and Web-Frameworks like MVVM, MVC, ORM etc.
* Experience with consumer facing UI development
* Effective team building and problem-solving abilities