At American Famil Insurance, we're driven by our customers and employees. That's why we provide more than just a job – we provide opportunity. Whether you're already part of our team in search of a new challenge or new to our company and ready for what's next, you're in the right place. Every dream is a journey that starts with a single step. Start your journey right here. Join our team. Bring your dreams.
Fullstack Cloud (AWS) Developer - open to remote (Open)
The Application Development Engineering Specialist collaborates with others in the division to provide and maintain applications to meet business needs. Responsible for software design and development for complex and/or large-scale business solutions, providing technical guidance and leadership for specific applications. The specialist may perform various roles in the development of applications in any phase of the systems development life cycle. Takes a lead role on projects providing guidance and technical leadership to project resources for a specific application(s). Provides technical guidance and leadership to less experienced technologists. Analyzes system problems and recommends alternatives for resolution. Recommends opportunities to improve system effectiveness and efficiency. Works in a mainframe, client/server, business intelligence, and/or web environment for internally built applications or vendor packaged applications.
These positions support our Cloud Transformation.
Experience with AWS is preferred.
• Offer to selected candidate will be made contingent on the results of applicable background checks.
• Offer to selected candidate is contingent on signing a non-disclosure agreement for proprietary information, trade secrets, and inventions.
• Relocation assistance is available.Responsibilities:
Specialized Knowledge and Skills Requirements
- Demonstrated experience providing customer-driven solutions, support or service
- Demonstrated experience analyzing and understanding complex software/systems.
- Demonstrated experience communicating technical information.
- Demonstrated experience developing different solution-delivery and design approaches and solutions to customers.
- Demonstrated experience developing complex software/systems using one or more programming language.
- Demonstrated experience analyzing and estimating project size and work efforts for software solutions.
- Demonstrated experience providing technical guidance and leadership to less experienced staff.
- Extensive knowledge and understanding of software development and design standards and methodologies.
- Extensive knowledge and understanding of infrastructure technologies, operating systems, and the interconnectivity between infrastructure platforms and software tools.
- Extensive knowledge and understanding of systems development life cycle (SDLC).
- Solid knowledge and understanding of application architecture and design alternatives.
- Solid Knowledge and understanding of integration and migration strategies and technologies.
Additional Job Information:
Application Development (40%)
- Provides expertise during the initial phases of the project including estimating resources, skill requirements, time requirements, identifying tools and technologies, participating in proof of concepts, etc.
- Analyzes high level system specifications, business requirements and/or use cases. Converts information into the appropriate level specifications and system design plan for the development team. Designs and develops complex software solutions in adherence with I/S standards, methodology and internal controls. Identifies and provides solution alternatives for the defined functional and system requirements when needed.
- Understands and identifies system dependencies. Understands functionality, integration points and impacts of proposed changes to supporting applications. Follows through with options and recommendations.
- Consults with others to validate complex design decisions. Provides advanced coding expertise to mitigate high risk features or technical challenges.
- Provides appropriate documentation for design decisions, estimating assumptions, code modules, and performance metrics as required by organization standards.
- Defines, conducts, mentors others, and/or participates in testing (i.e. unit, system integration). Prepares, leads and/or participates in development walkthroughs.
- Collaborates with others regarding effectiveness of systems flow, data usage and manual or automated processes to verify requirements.
- Ensures software development meets standards for programming, design, performance, and security. Identifies and recommends areas for improvement in planning, design, development, and testing.
Technical Leadership (35%)
- Drives initiatives to adopt new processes and standards.
- Uses comprehensive application knowledge and or technical knowledge to provide guidance and technical leadership to project resources or maintenance resources. Maintains an awareness of other projects and their possible effect on ongoing projects.
- Assists and holds others accountable for their commitments. Takes accountability for team deliverables and overall team success; manages own tasks.
- Recognizes and escalates quality, deadline, or deliverable issues within own work environment to team leads and/or management.
- Ensures effective integration and communication between multiple development teams with interdependencies.
- Leads and/or participates in systems analysis, general systems design, specification development for vendor contracts, and detailed systems design as needed based on expertise.
- Provides technical leadership in the ongoing adoption and development of software engineering procedures, standards and methods.
- Makes recommendations and presentations to senior management regarding technical issues, technical investments, and strategic directions.
Maintenance & Support (25%)
- Provides input for contingency and disaster recovery plans.
- Repairs, modifies, and develops additional functionality.
- Follows and supports change management practices and internal controls standards. Communicates changes and impact to those affected. Assists less experienced technologists in all areas of maintenance and communication.
- Provides vendor system support.
- Shares knowledge and information with others to resolve problems and build team knowledge.
- Identifies enhancements to meet changing data requirements, usability, interfaces and future maintainability of software.
- Assists with creation and maintenance of service desk diagnostics and job aids for area of responsibility. Updates and/or reviews with those affected.
- Performs and/or partners with I/S colleagues to conduct performance tuning to ensure applications meet service level agreements.