Sr Software Engineer
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.
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