We are looking for a Senior Software Engineer in our team to develop information systems by studying operations, designing, developing, and installing software solutions; supporting 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 exemplary 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 proposing 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 is 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 familiarity with other ORMs are 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 an active GitHub account are a plus.