Senior Software Engineer
Description
Responsibilities
- Demonstrate the ability to take increasingly difficult assignments and successfully implement it with little or no help from more senior resources.
- Demonstrate a high degree of skill, efficiency and be a leader to the less experienced development staff.
- Develop programs that are moderate to complex in nature, adhering to established departmental standards.
- Learn and implement new technologies and architectures within a reasonably quick timeframe while producing and testing high quality software.
- Demonstrate strong knowledge of software development practices, concepts, and technologies obtained through formal training and work experience.
- Demonstrate strong knowledge of required programming languages.
- Demonstrate strong knowledge of the technical/business environment.
- Effectively partner, communicate, and negotiate with business analyst, development and support groups in order to gather and communicate business requirements.
- Work on individual programs that are part of a much larger application.
- Adapt to changing products and technologies.
- Fix bugs in existing, often unfamiliar programs, under considerable time constraints.
- Manage and prioritize often conflicting tasks and interruptions so as to minimize their impact on the current deadlines and workload.
Qualifications
- Bachelor’s degree in computer science, computer engineering, or comparable work experience.
- Requires 5+ years of full-stack software engineering experience, including:
- Angular (5 or above preferred)
- TypeScript
- C#
- .Net Core
- Related web technologies
- Relational database experience (e.g. MSSQL, MariaDB, PostgreSQL).
- Experience creating and consuming RESTful APIs.
- AWS or Azure cloud environment and experience with CI/CD delivery preferred.
- Experience shipping products optimized for cloud delivery.
- Experience writing and testing code to meet strict deadlines in an Agile/SCRUM environment.
- Demonstrated understanding of product architecture and all underlying technologies.
- Demonstrated understanding of development process.
- Demonstrated experience with data modeling tools, web services and/or service oriented architecture.
- Strong written and verbal communication skills with strong interpersonal skills.
- Experience providing guidance and direction to less experienced staff.
- Solid negotiation with various parties to ensure enhancements to applications are addressed while maintaining/balancing business situations and constrictions.
- Ability to prioritize and complete multiple tasks in a fast-paced, technical environment.
- Keen attention to detail.