Senior | Staff Software Engineer - .NET (Hybrid Remote - Lisbon)
emagine Polska
⚲ Lisbon
Wymagania
- C#
- PostgreSQL
- CI/CD
- RabbitMQ
- Coaching
- Artificial Intelligence (AI)
- Documentation
- Software as a Service (SaaS)
- .Net
- Agile
Opis stanowiska
Main tasks and responsibilities • Being comfortable with experimentation and willing to approach a problem in multiple ways via rapid prototyping. • Writing clean, maintainable code using .NET C#, along with other modern tools such as Kafka, PostgreSQL, and Elasticsearch. • Regularly delivering high-quality, working software as part of the team. • Building a deep, expert understanding of the team’s codebase. • Providing highly insightful, comprehensive code reviews with an eye towards bigger-picture concepts. • Ensuring documentation exists for all critical systems and writing technical guides used widely by other Engineers. • Monitoring dashboards/alerts, and responding to incidents with the appropriate level of urgency. • Driving technical decision making, expertly identifying trade-offs and risks, and considering organization-wide technical alignment. • Effectively diagnosing the root cause of complex bugs and providing a fix along with automated regression tests. • Leading specifications and refinement of technical improvements. • Mentoring, coaching, and empowering other engineers by sharing knowledge through demos and presentations. Key requirements Education Level: Bachelor’s (or equivalent) degree in Computer Science or a related field. Experience: At least 5+ years of experience as a Software Engineer, working with .NET C#. Required Technical Skills: • Understanding of how to apply microservice architectures successfully, with knowledge of multiple patterns and techniques, and the tradeoffs of each. • Experience with Front-End technologies like Angular is a plus. • Experience with event-driven architectures and event streaming/messaging tools like Kafka (preferred), Pulsar, RabbitMQ, etc. • Experience using databases - PostgreSQL, Redis, Elasticsearch, etc., understanding which database is best deployed, depending on the use case. • Accustomed to working in environments with CI/CD pipelines used for deploying applications. • Proven ability to identify opportunities for best practice improvements within the team and share knowledge in order to address them. • Ability to tackle highly complex technical problems independently. • Track record of quickly learning about complex architectures and codebases. • Experience in working in an Agile environment. • Technical leadership experience, including mentoring other Engineers. Other Required Skills: • Fluency in English; Portuguese is a plus. • Excellent communication skills, able to communicate clearly and effectively, adjusting style depending on the audience.