Jun 12, 2018

Senior Software Engineer

  • Patterson Companies Inc
  • St Paul, MN, USA

Job Description

Overview


The Senior Software Engineer role is accountable for the development and implementation of standards and processes around definition, development, test, analysis, and maintenance of software applications in support of the business. This includes processes and standards on writing, coding, testing, and analyzing software programs and applications. The Senior Software Engineer will also lead the effort to research, design, document, and modify software specifications throughout the development life cycle.


Responsibilities


Software Development:  Leads the research, identifies, analyzes, and fulfills requirements of all internal and external stakeholders for new or existing software applications. Identifies risk and recommendations, drives the software engineering schedule, and leads the effort in performing software improvements and upgrades. Is accountable for well written code to enhance functionality and/or performance of software applications and for oversight of software testing on new and existing programs for the purposes of correcting errors and general debugging. Collaborates with architects to develop and maintain code quality and architecture standards.

 

Project Team Work:  Drives the definition of software development project plans, including scoping, estimates, and implementation. Is accountable for standards and reusable process development for all software engineering. Provides technical advice, instruction and training to software engineers with less experience.

 

Issue Resolution:  Drives highest level support for incoming incident tickets from end users to resolve application and software issues. Collaborates with peers, managers and customers to resolve problems with software products or company software systems. Is accountable for delivering solutions to problem areas.

 

Performs other duties as assigned.

 

Critical Competencies

 

Technical   Expertise:  Maintains technical knowledge and best   practices with focus on researching and making recommendations for emerging   and future technology trends. Serves as a technical mentor to team members.   Solves business and technical problems by leveraging expertise and technology   from across the organization. Able to work across a range of platforms and   applications and see interconnections between organizational systems that   others may miss.

 

Decision   Making:  Takes the lead on projects and in work   teams and able to make decisions in a timely manner. Able to balance data   with intuition and experience when making decisions. Willing to become   involved in and make decisions about issues in areas that are initially   unfamiliar. Demonstrates a bias for initiating action on decisions and is   seldom a bottleneck due to decision procrastination.

 

Innovation:  Rapidly assimilates and learns new   information and encourages information sharing. Synthesizes information from   multiple sources into a meaningful representation of how change and   innovation will create improvement. Generates new ideas, approaches or   solutions that can be introduced to existing processes or to new   systems.  Understands the importance of   change management and is a role model for implementing change and   innovations. 

 

Communication:  Establishes rapport and is straightforward   and approachable. Listens carefully, asks pertinent questions, responds   effectively and adapts personal style to suit the audience. Speaks, writes   and presents in a clear and concise manner. Able to comprehensibly convey   technical ideas to a non-technical audience. Understands the overall IT   strategy and is able to communicate the vision to team members and business   stakeholders. Maintains and grows diverse network of contacts and   relationships over time.

 

Results   Focus:  Drives for results and defines how success   will be measured. Sets and communicates clear standards and expectations for   technical and project performance. Identifies and organizes the tools and   resources needed to accomplish tasks. Contingency plans to anticipate and   work around barriers to task completion. Proactively seeks progress updates   from team members and helps team members push through challenges to achieve   results.

 



Qualifications


Minimum Qualifications:

  • Bachelor's Degree in Computer Science, Management Information Sciences, Mathematics, Engineering, Business, or area of functional responsibility preferred, or a combination of equivalent education and experience
  • 6-8 years of programming experience required.  Extensive experience in all aspects of application development and project life cycles
  • Excellent understanding and proven experience of coding methods and best practices
  • Proven experience in object oriented programming and in multiple development technologies with proven ability to maintain software products written in different languages and platforms
  • Extensive database (relational and hierarchical) and operating systems experience.
  • Good experience in driving an application architecture
  • Deep experience using source code management system 
  • Proficiency with office productivity tools such as Microsoft Excel, Word and Visio

 

Preferred Qualifications:

  • Experience with corporate governance and developing business cases and return on investment analyses
  • Working knowledge of MS Azure, ASP.Net and web/mobile development
  • Working knowledge of Agile Scrum development methodology across multiple locations
  • Experience with Service Oriented Architecture
  • Fluent with .Net/C# or Java and related development tools
  • Fluent with SQL and NoSQL technologies
  • Knowledge of responsive UI design tools such as Angular JS/jQuery/Bootstrap
  • Experience working with DevOps teams

States

MN  

Apply Now