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.
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.
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.
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
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
Patterson Companies, Inc. is a value-added distributor serving the dental and veterinary markets. Named one of America’s Best Large Employers of 2016 by Forbes, we were also named four consecutive times to the Forbes List of Most Trustworthy Companies. We strive to create a memorable difference in the lives of our customers and their clients. Every Patterson employee supports our mission of connecting expertise to inspired ideas, products and services, and we support our employees through operational innovation, continuous improvement and a commitment to talent.