Job Title - Staff Engineer
Base Location – Remote
Duration – Long Term
Job Description :
Designing Solutions
- Apply expert industry knowledge and broad understanding of multiple disciplines with technical knowledge to drive outcomes for customers
- Ability to work and problem solve independently on initiatives that align to the broader software engineering strategy
- Design systems and software integration patterns across a diverse software engineering ecosystem. These patterns should align to high level engineering goals and business initiatives
Developing Software
- Use independent, critical thinking to solve complex problems which are significant to the customer. Uses application and system data, as well as past experiences to inform decision making.
- Leader in technical expertise; Develops most architecturally impactful components of solutions
- Lead to identify, incorporate and define development frameworks and libraries useful to the product
Learning and Applying New Techniques
- Seek out industry and technology knowledge along with best practices to share with the team.
Collaborating within the Team
- Coordinate design and integration of the entire system including subsystems. Research and recommend technology to improve the current systems
- Participate in team’s collaboration session to provide technical expertise to solve a problem/remove technical roadblocks for the team
- Participate in product planning and implementation. Helps product owner to create technical user stories as required/needed.
- Contribute to detailed application specifications, standards, and diagrams and develop coding standards / best practices
Collaborating Across Teams
- Broker solution design and implementation across product teams to achieve outcomes;
- Contribute to overall systems design which involves multiple teams, research and provide customization or development recommendations, and implement accordingly
Collaborating Across The Organization
- Act as an SME to provide over all operations and support processes to build resilient systems for the enterprise
Setting product/platform technology strategy
- Lead the design of critical path/technology for the product group. Contribute to innovative solutions that align to strategic objectives for the customer
- Provide platform technology expertise to teams within product group as well as interdependent teams across the organization
- Help to define the technology / tools roadmap along with the product owner for the team.
Defining Engineering Standards and Patterns
- Partner with the engineering community inside and outside in establishing best practices
- Share engineering standards across internal teams and collaborate to help software engineers apply these patterns to build solutions that achieve outcomes
DevOps
- Lead the resolution of critical incidents and provides leadership in proactively addressing product issues
- Continuously assessing technology to build more stable, scalable, and resilient software
- Promote and expand on the use of the CI/CD pipeline to improve the deployment and build process.
Selecting & Managing Technology Vendors
- Lead the evaluation process for software solutions - advising on strengths and weaknesses of the external software.
- Provide a summary of how a tool impacts business processes and goals.
- Contribute in criteria’s for selecting the right platforms and software for the product team.
Coaching Engineers
- Provide guidance and reinforcement around established engineering best practices
- Provide technical leadership and mentoring to other engineers of varying levels inside the product group
- Provide trainings and demos to address knowledge gaps with in the team
Recruiting and Building Talent
- Engage in the tech community to build the technology brand and position as the employer of choice in the market
- Participate in the interview process or be part of the panel to recruit the right talent to the team
- Take part in the Talent Captain role for the product group. This person also leads in how we interview.
- Models leadership competencies – courage, collaboration, and commitment by demonstrating resiliency, working together to make the best decisions, and holding yourself and others accountable.
- Supports and/or develops an environment in which employees and colleagues are focused on continuous improvement, exceptional employee engagement, and an unwavering commitment to our clients. Shapes and/or supports a culture that represents the purpose, promise and values, ensuring that trust and reputation remain strong with its clients.
QUALIFICATIONS & SKILLS:
Required:
- Bachelor's degree in Computer Science or other technical field or equivalent work experience.
- 10+ years of experience in engineering environments, taking abstract concepts and ideas and formulating a detailed software engineering plan to deliver.
- Over 7 years of experience in leading data engineering initiatives, with a strong focus on delivering scalable and efficient data solutions.
- More than 7 years of technical leadership and architectural expertise in complex data-driven environments.
- Extensive hands-on experience (7+ years) with technologies such as Apache Spark, Databricks, DBT, Python, and Airflow.
- 5+ years of experience designing and developing reusable frameworks to streamline and standardize data engineering processes.
- Experience architecting software solutions with requirements such as performance SLOs, high availability, reliability, security, etc.
- Understand data and system integration patterns and technologies
- Proficiency in managing large scale projects.
- Ability to articulate and transfer complex ideas to a wide audience through both verbal and written communication.
- Strong conceptual, critical thinking, technical and problem-solving skills with good attention to details.
- Must be articulate and have the ability to meet with high level management to present and/or deliver technical documentation.
Preferred:
- Master’s degree in a related field
- Financial Services industry experience
- Coach / mentor other team members as appropriate