Senior Software Developer
- Contributes to team design discussions with detailed technical information.
- Develops code with quality, leveragability, scalability, and maintainability in mind.
- Provides code reviews.
- Identifies strategic/tactical solutions and provides risk assessments and recommendations to technology leadership.
- Provides work breakdown and estimates for complex software development tasks.
- Experience in cloud-native applications, especially within Amazon Web Services.
- Strong experience and leadership in DevOps – melding of operations and development.
- Expected to share industry experiences in Cloud Native/DevOps model best practices.
- Experience with Agile software development practices.
- Demonstrated technology leadership experience.
- Demonstrated ability to translate business requirements into development stories and tasks with estimates in Agile development.
- Strong collaboration skills and ability to get work done with others.
- Must be motivated; a self-starter, results oriented individual with a successful track record.
- Ability to learn and apply new technologies and skills quickly.
- Effective time management, ability to plan and prioritize work effectively.
- Excellent communication skills with the ability to influence and build solid relationships with team members.
- Excellent analytical and problem solving skills.
- Ability to present ideas and document artifacts to business, technology and executive audiences.
- Bachelor’s degree or equivalent years of experience required. Computer Science degree preferred.
- 5+ years of related experience. Constraints.
- Provides design recommendations and options, develops and integrates programs per specifications.
- Provides assistance in researching and adopting new and emerging technologies, evaluating new tools, technologies and platforms to be included in projects.
- Leads project planning sessions with clients and Business Analysts to analyze requirements.
- Defines scope of multiple complex projects.
- Estimates effort required for own work, and checks and agrees other team members' estimates. Accountable for planning work assigned to their team, including work breakdown, accurate estimate and identification of possible solution options.
- Accountable for tracking status of team's work and ensuring deliverables are produced on agreed schedules. Responsible to communicate accurately the status of ongoing work to stakeholders.
- Sets timeframes and schedules to meet business needs.
- Presents status updates for various projects to project management and senior managers.
- Ensures self and team develop modules using disciplined processes, adhering to industry standards and best practice guidelines.
- Works with vendors to understand technology and performs technical due diligence on third party technology delivery.
- May have cost responsibility for own team/project, and/or contribute to forecasting budgets and recommending expenditure without being fully accountable for them.
- Identifies ways to improve the operation of own area and to achieve efficiencies and results and assists in process improvement.
- Provides technical guidance to team members.
Qualifications / Requirements
- Bachelor’s degree in Computer Science. (Master’s degree preferred.)
- 8+ years of software engineering experience.
(Manager can select additional qualifications/requirements as desired):
- Great technical and problem solving skills
- Knowledgeable in various software design patterns and be able to apply appropriate design patterns to solve business/technical problems.
- Proficient in RDBMS such as Oracle, SQL Server, etc
- .NET 3/.5/4.0 with WCF, WWF, WPF, and Silverlight
- Team player who works well across different streams (Product Management, Developers, QA, Operation Team, etc.)
- Strong written and verbal communication skills