Company:NICO National Indemnity Company
As a member of the Berkshire Hathaway group of insurance companies, we offer outstanding opportunities for professionals interested in working with a successful company. We offer unparalleled financial strength, stability and "large company" benefits, in addition to an exciting, friendly, "small company" atmosphere.
We have an immediate opening in Omaha, Nebraska (remote options available for select opportunities) for an experienced Senior Software Developer to join our growing team! This dynamic individual will serve as lead developer on company developed software applications serving company personnel, claimants, and agency customers and insureds. Designs, develops, implements, and supports software products with a focus on rapid delivery of stable and scalable solutions. Analyzes and identifies inefficiencies or problems within existing software applications. Identifies and manages security risks within software products. Coaches programming staff on development standards and procedures. Investigates new and emerging technologies to understand how they may be employed in our technology products.
Bachelor's degree in Computer Science, Computer Engineering, MIS or related field or equivalent
Software application development and database manipulation software
.NET, C#, Angular, SQL, Azure Cloud
5+ years related work experience
Secure coding practices
CMS - Umbraco
Insurance industry and marketing techniques
Software, database or project management certification or designation
Essential Duties and Responsibilities:
Design and Development of Business Application Software
Serves as lead developer on company developed software applications serving company personnel, claimants, and agency customers and insureds. Software products may include company rating, policy lifecycle, claim, billing, website, agency management, and other supporting systems. Designs, develops, implements, and supports software products with a focus on rapid delivery of stable and scalable solutions. Communicates progress and status regularly to management and other interested parties.
Collaborates with software architects on design of new software applications. Works with others to research and understand how new software products will operate in various environments in order to ensure optimal product speed and efficiency. Analyzes and identifies inefficiencies or problems within existing software applications. Solves problems and participates with software architects as well as the Infrastructure and Database teams to determine need for changes to the hardware or software to enhance performance or capabilities of the software applications.
Identifies and manages security risks within software products. Works with Information Security team to identify, understand, and help resolve security risks within new and existing software applications. Clearly communicates risks to senior level technology team members and provides management with appropriate course(s) of action to mitigate risks. Implements and/or assists others in work aimed at mitigating risks and vulnerabilities within software applications.
Product and Project Leadership and Management
Directs others in the programming and maintenance of company software products. Helps develop practical software development plans and timelines with development managers, architects, project managers, business analysts, product testers, software developers and others. Accurately estimates resource need and timeline of projects. Communicates progress and status regularly to management and other interested parties.
Coaching and Mentoring
Coaches programming staff on development standards and procedures. Trains staff on the use of technologies used in day to day development activities. This includes secure coding standards, development methodologies (Agile, Waterfall, Service-oriented Architecture, DevOps, etc.), source control software, database administration software, development environments, and deployment software and integration applications. Responsible for mentoring new and existing staff.
Technology and System Evolution and Innovation
Maintains knowledge and skills of technologies employed by Software Development team. Investigates new and emerging technologies to understand how they may be employed in our technology products. Research and recommend new and innovative ways to leverage technology to improve our software products and the overall customer experience. Participates in the research and evaluation to determine feasibility of new software applications.