Senior Software Engineer
The Senior Software Engineer is responsible for developing applications based on user specifications and provide guidance to project colleagues.
Essential Duties and Responsibilities
The essential functions include, but are not limited to the following:
Develop and implement new software programs
Maintain and improve the performance of existing software
Clearly and regularly communicate with management and technical support colleagues
Design and update software database
Test and maintain software products to ensure strong functionality and optimization
Recommend improvements to existing software programs as necessary
Significant expertise and knowledge of information technology fundamentals and programming languages.
Proficiency in garnering detailed knowledge of recommended design patterns, create and lead programming best practices, database best practices and time tracking standards. Possess detailed knowledge of application architecture and functionality
Significant knowledge of commonly used concepts, practices, and procedures as it relates to software development.
Ability to effectively manage time while working on multiple assignments and provide guidance as to relative priorities of assignments of project development team
Propose and assess solutions to design problems, including identifying and evaluating new technologies and third part components.
Develop software according to published standards and guidelines, including code standards and user interface design guidelines. Perform code review for developers' submitted code and provide feedback for code improvements based on best practices.
Build, deploy, and maintain CICD pipelines for various stacks, PRs and branch management, and builds and deployments.
AWS experience and certification is a requirement. Multiple certificates desired.
Support and maintain existing software functionality; to investigate, analyze and correct identified defects.
Develop software to meet requirements / specifications in accordance with the development schedule.
Interpret written business requirements and technical specifications to complete estimates for change requests
Analyze / document customer requirements; write technical / functional specifications.
Continually update skills by learning new technologies relevant to the role.
Understanding of Agile development processes, able to lead development team in sprint task priority, and work closely with the Project Manager to drive expedient completion.
Understanding of at least 4 design patterns
Promote and advocate best practices within the development team and throughout the business.
Minimum Qualifications (Knowledge, Skills, and Abilities)
5+ years' experience with Developing and Architecting Software
Experience with CICD pipelines, multiple build, and deployment tools.
Proficient with multiple languages (C#, NodeJS, PHP, Python) and Frameworks (.net, React, Laravel, Django)
Good working knowledge of SQL and database design
AWS SA Associate Certification required
Ability to work independently and multi task effectively
Must have strong communication skills and willing to work within a team environment
Demonstrated understanding of projects from the perspective of both client and business
Flexible and willing to accept a change in priorities as necessary
Must be efficient with a strong attention to detail and a demonstrated professional demeanor