Responsible for the architecture, design, development, configuration, integration, unit/integration testing, and implementation of software solutions to meet business needs. Solutions are generally of a high complexity/risk level. Guides and advises less experienced software developers. Establishes the application architectural patterns/standards for the development team members.
Essential Duties and Responsibilities:
Develops high-level system design diagrams for program design, coding, testing, debugging and documentation.
Leads the creation of highly complex technical designs and the development of diagrams and models according to industry standards for project-specific development and documentation requirements.
Designs logical program code and develops flow charts and other technical diagrams. Assist with coaching less experienced staff on specific application knowledge.
Provides quality assurance review and the evaluation of existing and new software products.
Develops and implement moderate to complex web applications on one or more platforms.
Leads a team of developer in the creation of business solution designs.
In cooperation with business analysts, works with customers to ensure an understanding of complex business problems and to develop a proposed solution according to the specified business requirements.
Guides the development and programming tasks of less experienced staff, and provides training as required.
Coaches and guides technical staff regarding software development, methodologies and tools. Trains less experienced developers on moderately complex systems architecture, development and processing.
Plans, designs and executes unit and integration testing strategies to ensure application performance in the operational environment. Verifies accuracy and outputs of programs by preparing test data and reviewing test results. Leads and participates in structured walkthroughs and peer reviews of deliverables.
Performs or participates in the implementation of programs into production, in compliance with approved change management processes. Monitors system/program performance after implementation and corrects system problems as required.
Interacts with project management to plan project schedules and technical direction on medium technical projects or as technical lead/systems architect on medium to large projects.
Prepares or works with the project manager on project plans, estimates and schedules, and tracks and reports progress. Reviews estimates, and plans prepared by less experienced staff and makes recommendations when appropriate.
Identifies methods of improving overall system performance and makes recommendations to improve systems efficiency and reduce processing costs.
Maintains an awareness of the client’s current and future business needs and strives to ensure the application platform meets those needs.
Provides on-call support to operational systems to meet service level agreements.
Provides back-up (escalation-level) support to less experienced staff members on call. Makes recommendations and implements solutions as necessary.
Reviews manuals, periodicals, web newsletters, technical reports and other resources to remain current on emerging computer technology.
Performs other duties as required.
This job description has been prepared to indicate the general nature and level of the work that the employees perform within their classification. This description is not and cannot be interpreted as an inventory of all the duties, tasks, responsibilities and qualifications required for the employees assigned to this job.
Education and/or Experience:
Bachelor’s degree in management information systems, computer science, or equivalent experience, required.
7+ years of previous experience in technical applications and/or information systems, or equivalent, required.
Expert Level knowledge of the software development life cycle including systems design, programming techniques, problem solving, analytical, research skills and technical documentation required. Demonstrated ability to design, configure, develop and test complex software products.
In-depth knowledge of two or more programming languages such as Java, .NET, C# or similar technology, and object-oriented design required. Guidewire ClaimCenter, PolicyCenter and/or BillingCenter preferred; Certified in Guidewire Configuration required.
Experience in testing frameworks (NUnit, JUnit, Gunit, etc.) & methodologies preferred
Strong interpersonal and organizational skills. Strong verbal and written communication skills.
Maintains a strong working knowledge of multiple application software used by the customer.
Ability to work independently and in a team environment. Experience working as a part of an Agile development team
Property and Casualty Insurance experience required.
Flexible, enthusiastic approach to work including a strong desire to learn. Capable of adapting quickly to new systems and learning, understanding, and applying new technologies.
Licenses and / or Certifications:
Systems certifications and / or licenses are preferred.