Job Openings Lead Software Engineer

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.