- Produce accurate, unambiguous technical design specifications to the appropriate detail
- Deliver customer value in the form of high quality hardware, software components and services in adherence with IaaS and RPR policies on Security, performance, longevity and Integration.
- Identifies and proposes alternative technology in order to create scalable implementations and achieve results.
- Coordinate and troubleshoot complex technical issues until resolution.
- Accurately estimate the effort of development tasks; help to guide and provide feedback to the team and be more accurate in estimating.
- Understand and follow engineering conventions, architectures, and best practices; implement new conventions where necessary, teaching those methodologies to more junior members of the team.
- Provide high level T-shirt sizing for the work required to build smaller software components and services.
- Scale systems to meet business demand.
- Deploy systems to meet availability targets (HA/DR).
- Develop automated tests utilizing test infrastructure to validate code, when applicable.
- Adhere to DOD (story definition of done) including unit tests, functional testing, code reviews, no regressions, bug fixes, documentation and adhere to best coding practices.
- Perform peer code reviews in order to ensure quality standards.
- Identify and prioritize what technical debt will be eliminated.
30% Contributions to the Team
- Act as the subject matter expert for area of assignment
- Clarify ownership of what the team builds after the release.
- Lead agile ceremonies to improve team performance.
- Participates in team member interview process as needed; influences final hiring decisions.
- Act as a scrummaster for agilescrum teams as needed.
20% Mentorship ofOthers
- Advise and mentor more junior team members to maximize overall productivity and effectiveness of the team.
15% Cross functional Coordination and Communication
- Foster collaboration across the Technology and Product organizations.
- Coordinate efforts within own team and immediate team members.
- Cultivates strong business relationships with business stakeholders.
- Explains solutions in a way that both technical and product audiences can grasp; shares insights with peers.
- Share business and technical learnings with the broader dev and product organizations.
- Collaborate with members of product and UX teams to design solutions, as appropriate.
Education, Experience, & Skills Required:
- 6-8years of experience in an engineering role
- Experience in an Agile environment preferred
- Bachelor’s Degree or equivalent
- Significant software engineering skills and computer science experience
- Knowledge of Unix/Linux, Big Data, SQL, NOSQL, and various othertechnologies
- Experience with object oriented programing, relational databasetechnologies, distributed computing tech (Hadoop, spark), RESTful API, WebUI (HTML 5) and Modern JS frameworks
- Experience with iOS and Android environments
Behaviors & Abilities Required:
- Ability to learn and adapt in a fast paced environment, while producing quality code
- Ability to work collaboratively on a cross-functional team with a wide range of experience levels
- Ability to analyze existing services and identify technical debt to work toward increasing sustainability
- Finds creative way to execute even when there is no historical context or known path forward
- Ability to design roadmaps and relevant solutions for end-users to access interfaces
- Ability to assess the benefits, risks and success factors of potential applications
- Strong mentoring and coaching skills that encourage growth for more junior members