Senior Big Data Developer - Hadoop
Company Name: American Family Insurance
Location: WI Madison Natl HQ
Date Posted: 27th Dec, 2017
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.
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.