We are looking for a Senior Software Engineer in our team to develop information systems by studying operations; designing, developing, and installing software solutions; supports and developing the software teams.
Responsibilities
- Owns and is accountable for the design and development of a product or complex/high priority/critical product sub-system.
- Spends most of the time developing code, and efficiently produces exemplar and thoroughly tested code for the most challenging features.
- Produces clear, well-communicated, complete designs for product features, or sub-systems.
- Recognized as the go-to developer for a product or major sub-system and is seen as a leader in their specialized field.
- Leads product design and code reviews, can competently review any aspect of their product or major sub-system.
- Is responsible to drive architecture discussions and proposes solutions to system and product changes.
- Frequently interfaces with other functional teams' leadership.
- Influences Vice Presidents or C-levels on the product or architectural direction.
- Highly visible across major engineering communities.
- Provides leadership to others, who work on the same team or related features or product sub-systems.
Requirements
- Ability to rapidly assimilate new technologies and be able to communicate effectively with various teams
- The ability to jump into a project and contribute immediately to both architecture and implementation
- Strive to work and to collaborate in a multi-disciplined team, where you can work with, learn from, and teach not just Engineers but also Product Managers, QA, UX, etc.
- Happy to engage in discussion with your fellow engineers to reach the best possible solutions for our technical challenges
- Collaborate in defining and enforcing best practices and processes for engineers in your team and across our company, and lead in moving our products forward and eliminating technical debt
- Passionate about delivering elegant technical solutions that not only meet Client and Product expectations but are also underpinned by code that is clear, concise, and maintainable – beautiful
- Use the resources we provide to continuously upskill and better yourself, as well as mentor other engineers within the team and help them grow
- Working experience with Agile methodologies and project management skills are desirable
- Excellent knowledge of OOP / SOLID concepts
- The quality-first mindset with a focus on test automation and CI/CD
- Write pragmatic, performant, and testable C# code that works consistently across different platforms
- Deep knowledge of .NET and ASP.NET Core and its ecosystem (Threading, Async, Linq, ...)
- Relational database schema design and querying (SQL-Server)
- Experience in Entity Framework Core and be familiar with other ORMs is a plus
- Experience in writing Unit-Tests/Integration-Tests and test frameworks like XUnit/NUnit
- Having experience with Microservices is a big plus!
- Having experience in working with DDD, gRPC, RabbitMQ and GraphQL is a plus
- Experience with rapid full-stack development.
- Advanced SQL programming experience
- StackOverflow reputation and active GitHub account is a plus