Tech Stack
AngularAzureBootstrapCloudEntity FrameworkJavaScriptJenkinsKafkaKubernetesRabbitMQReactSQLTypeScriptVue.js
About the role
- Technical ownership of approaches and solutions that are built and supported by the scrum team
- Responsible for enforcing code quality, coding practices and architectural standards for the team
- Provides technical consultation to team Product Owner, Engineering Manager, and other business stakeholders
- Works with Product Owner to prioritize and oversee day-to-day technical work
- Assists team in understanding technical requirements and feasibility
- Leads technical design sessions with scrum team
- Mentors junior members on the team and onboards new hires into the code bases and technical stack
- Develops software solutions to satisfy business use-cases and specified requirements per team Product Owner and Manager
- Learns and implements commercial off-the-shelf or SaaS products into a solution where necessary
- Looks for opportunities to improve and refactor existing codebases
- Able to break down complex requirements into system design, actionable work items, and unit-testable code
- Develops UI mocks, scripts, or other relevant proofs of concepts
- Creates documentation, flowcharts, layouts, and diagrams to solidify understanding and preserve knowledge
- Provides support for existing applications for both issues and enhancements
- Updates and improves existing codebases as needed to provide framework update or dependency upgrades
- Oversees software releases
- Participates in all SCRUM activities
- Participates and provides in-depth code reviews to ensure code quality and best solution approaches
- Assists other members of the SCRUM team to ensure all sprint commitments are met
- Actively works to stay current with the latest trends and technologies in the industry
- On time adherence to training deadlines for all corporate policies and procedures governing access to confidential data
- Ensure all SOPs are followed with consistency
Requirements
- Bachelor's or Associate's degree in a technology-related field of study such as computer science, or relevant work experience
- 7+ years of professional experience in a senior software engineering role
- Prior experience in technical leadership role with responsibility for technical design and delivery
- Prior experience leading technical delivery by offshore teams is a strong plus
- Relevant and demonstratable work experience delivering full-stack solutions
- UI Experience: TypeScript/JavaScript, HTML, CSS, and a styling/pre-processor framework such as Bootstrap, Tailwind, Materialize, etc.
- Responsive design and advanced knowledge of device-specific concerns
- JavaScript UI framework such as Vue, React, Angular
- Bundling and minification tools
- Backend Experience: SOLID principles and object-oriented software design
- Advanced experience of applying various software development patterns (CQRS, Singleton, Factory, Adapter, etc.) with demonstratable prior usage
- Strong relational database design skills
- Advanced SQL query and stored procedure experience, along with index and query optimization
- .Net Framework using C# API development (REST)
- Microservice architectures, including backend-for-frontend orchestration patterns
- ORM framework experience (Entity Framework, Dapper, etc.)
- Event-driven design and experience with at least one platform (RabbitMQ, Kafka, Azure Event Grid/Bus, etc.)
- Cloud native tool experience and experience with containerization and orchestration tools such as Kubernetes is a huge plus
- Azure native tooling experience such as Azure Functions and API Management is a plus
- The ability to learn new languages and technologies as needed to work in the Valeris company stack
- Able to provide overall system designs with a greater understanding of the “bigger picture” across other Valeris systems
- Able to communicate directly with business and stakeholders for key initiatives and projects
- Demonstrable knowledge of OWASP security best practices
- Strong experience utilizing a source control system such as Git
- Experience working with advanced branching and merging strategies
- Ability to troubleshoot, debug and support codebases
- Experience managing software builds in a release pipeline such as Azure DevOps, Jenkins or equivalent
- Able to break down tasks into unit-testable code
- Ability to provide levels of effort for coding tasks
- Good working knowledge of common office software such as Microsoft Word, Excel, and PowerPoint
- Understanding of Agile and Scrum methodologies
- Ability to follow instructions and work in a team environment
- Detail-oriented and driven
- Must be able to type 35 WPM with 97% accuracy
- Although very minimal, flexibility to travel as needed is preferred