This position serves as a key contributor for a team of Software Engineers. In addition to writing code on complex systems and applications, this role provides direction on project plans, schedules, and methodologies. The position includes leadership responsibilities.
Responsibilities
Act as the point of escalation for software development issues within specific areas of responsibility.
Collaborate with other technical personnel and team members to finalize requirements.
Write and review portions of detailed specifications for the development of system components.
Complete complex bug fixes.
Work closely with other development team members to understand product requirements and translate them into software designs.
Implement development processes, coding best practices, and code reviews.
Operate in various development environments (e.g., Agile, Waterfall) while collaborating with key stakeholders.
Resolve complex technical issues as necessary.
Mentor and/or train entry-level software engineers, ensuring they are knowledgeable in key aspects of their roles.
Stay current with new technological developments.
Design and work with complex data models.
Manage and encourage new ideas from staff to foster improvements through innovations.
Empower staff to be accountable and responsible for their actions and decisions.
All other duties as assigned.
Requirements
7+ years of Software Engineering experience, or equivalent practical experience.
BS in Engineering/Computer Science or equivalent practical experience.
Advanced knowledge of software development methodologies (e.g., Agile, Waterfall).
Experience with various resource models such as Managed Services and/or Staff Augmentation.
Knowledge in industry best practices in external resource development.
Ability to lead internal and external technology resources in solving complex business needs.
Proficiency in test-driven development.
Strong research skills.
Proficiency with data manipulation languages, including optimization techniques.
Understanding of normalized/dimensional data modeling principles.
Ability to design and work with complex data models.
Knowledge of multiple data storage subsystems.
Proficiency in development languages including but not limited to Java/J2EE, JavaScript, React, Next.js, Spring, Restful APIs, JSP, C/C++, HTML, XML, SQL, Windows, UNIX, and .Net .
Ability to write and review portions of detailed specifications for the development of complex system components.
Skills in setting, communicating, implementing, and achieving objectives and goals through the management of others.
Strong organization/project planning, time management, and change management skills across multiple functional groups and departments.
Experience leading teams in identifying , researching, and troubleshooting complex project issues.
Strong communication (verbal and written) and customer service skills.
Strong interpersonal, communication, and presentation skills applicable to a wide audience.