About the job Lead Software Engineer
Position Summary:
Under minimal supervision of a manager, the Lead Software Engineer II is a data engineer who performs work assignments at the technical product level, with hands-on responsibility for all technical aspects of the software product; infrastructure, software, processes and operational support. The Lead Software Engineer II is measured by the quality, completeness, sustainability and timeliness of the technical architecture and functionality of their assigned product over its lifecycle.
As a senior member of the team, they lead by example and openly share their knowledge and expertise with other team members. Additionally, the Lead Software Engineer II works closely with their manager in support of the department goals and objectives for the team.
Primary Accountabilities:
Technical (75%)
Lead the technical work performed by the team for new software solutions and changes to existing software solutions; own and complete tasks as an active contributor to the team
Actively involved with project planning and requirements definition
Drive and synthesize requirements into an executable plan for development and implementation
Use objective, structured tools (such as 4+1) and methodologies for planning and communicating architecture
Perform buy versus build analysis, working with outside vendors as needed
Be a point of escalation for technical issues encountered by the team; direct the research of issues related to system configuration, software and database design/development and data integrity; demonstrate competence in analysis and problem-solving
Manage more than one technical engagement at a time; ensure each sprint delivers timely, accurate and high-quality work to production
Collaborate with team members and provide thoughtful discussion on tactics and strategies as they are selected
Leadership (25%)
Demonstrate excellent understanding of SDLC practices, methods, conventions and standards for the industry, company, and team; lead by example
Demonstrate superior competence across all technologies used by the team; be a self-motivated learner with strong desire to get up to speed on new technologies and platforms; encourage others to do the same
Stay abreast of evolving trends in software development; consider how and when to introduce those to the team
Take ownership of architectural decisions for new and existing systems; share technical knowledge through demonstrations or presentations
Actively engage across IT teams and with other internal departments to solve complex business problems
Assist with the hiring of new associates; mentor new team members as they develop domain knowledge and experience
Required Qualifications:
Bachelor of Science Degree in computer science, information systems or related field
Minimum 10 years of progressively responsible application engineering roles; or any equivalent combination of experience and training that provides the required knowledge, skills, and abilities needed to complete the major responsibilities/essential functions of the position
Skilled in working with Agile software development approaches using JIRA (Atlassian)
Understanding of object orientation and familiarity with modern design patterns; hands on experience with development that utilizes modern design patterns
Proficient in various programming languages, distributed architectures, API services, Google Cloud Platform, Amazon Web Services and general security and networking technologies
Experience with data-related technologies including but not limited to Google Big Query, Python, SQL, Spark, Scala, Hadoop
Proficient in data analysis techniques including strong technical writing skills
Familiar with data persistence solutions other than RDBMS (Key/Value Stores, Document DBs, BLOB/Object Storage)
Ability to troubleshoot environment/hosting-related issues with cloud-based platform services
Preferred Skills:
Some exposure to full-stack development a plus
REST API design and development best practices
Individual Competencies:
Authenticity: Builds legitimacy by being positive, trustworthy, and promoting openness through honest and ethical relationships.
Innovative: Ability to develop, sponsor, or support the introduction of new and improved methods, products, procedures or technologies.
Urgency: Maintains a sense of urgency to complete tasks and accomplish goals. Proactively works through problems and keeps initiatives moving forward despite challenges
Accountability: Sets clear goals, objectives, expectations, and responsibilities and monitors the process, progress and results to hold self and others accountable for measurable actions and results.
Organizational/Multitasking Skills: Ability to maintain organization on multiple tasks and projects simultaneously in a high-pressure, timeline-driven environment
Communication: Ability to give and receive messages and information in written, oral, and visual formats in a clear and succinct way for a complete understanding of meaning and intent. Strong oral communication skills and ability to interact successfully and collaboratively with others
Problem Solving: Gathers and analyzes information to generate and evaluate potential solutions to problems, issues and challenges while weighing the accuracy and relevance of the facts, data and information.
Teamwork: Builds relationships and works cooperatively with others, inside and outside the organization, to accomplish objectives, leverage information and achieve results.
Collaboration: Works collaboratively with others to achieve group goals and objectives.
The physical demands described here are representative of those that must be met by an associate to successfully perform the major job responsibilities (essential functions) of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the major job responsibilities.