Sr Software Engineer

Position summary

Our client is looking to add several Senior Software Engineers to their team for an exciting new project. Sr. Software Engineers are expected to create high-quality craftsmanship-level software for clients and internal users. They are to be experts in the software languages used. This includes meeting all requirements/specifications, testing/QA requirements, methodologies and other software/product requirements. This position must be adaptable to changing technology environments and work collaboratively with all participants in a software development project.

Responsibilities

Write awesome code

Create realistic design specification documents from software requirements

Plan and perform development tasks from design specifications

Provide accurate time estimates for development tasks

Construct and verify (unit test) software components to meet design specifications

Collaborate with quality assurance engineers to resolve software defects

Provide mentoring on software design, construction, development methodologies, and best practices.

Mentors less experienced engineers in understanding the ‘big picture’ of company objectives, constraints, inter-team dependencies, etc.

Participate in creating standards and ensuring team members adhere to standards, such as security patterns, logging patterns, etc.

Perform code reviews of constructed software deliverables

Collaborate with project architects and assist team members to prove the validity of new software technologies

Perform other duties as assigned to ensure the success of the team and the entire organization

Skills and abilities

Excellent object-oriented design & programming skills, including the application of design patterns and avoidance of anti-patterns

Experience working in a collaborative team of application developers and source code repositories

Demonstrated ability to follow through with all tasks, promises and commitments

Ability to communicate and work effectively within priorities

Ability to advocate ideas and to objectively participate in design critiques

Ability to work under tight timelines in a fast-paced environment

Ability to solve large scale complex problems

Education and experience

Minimum Bachelor’s degree in computer science or a related field; or an equivalent combination of education and experience will be considered in lieu of a degree

Experience with AWS Serverless technologies (such as AWS Lambda)

Experience designing, implementing or supporting REST based APIs.

Exposure and or experience with microservices based architecture.

4 - 7 plus years of progressive experience in a software development environment in high growth technology companies

Proven experience with multiple completed projects with significant, clearly attributable individual design and implementation contributions.

Proven experience working across multiple tiers of an application, including a database, network, operating system, and containers.

Deep knowledge of more than one programming language or technology stack.

Demonstrable mastery of a language