Description
Job Title: Senior Software Engineer (.NET)
Location: Dublin, Ireland
Duration: 1 year Contract
Responsibilities:
- Design new product features and feature changes, both independently and in cooperation with Senior Engineer(s) and Architects.
- Implement code changes and new features with efficient, reusable and performant code.
- Learn and promote engineering best practices.
- Investigate issues in development and production while working with other teams and Senior Engineers.
- Ensure component quality and stability through performance and resiliency testing
- Liaise with product stakeholders and other teams in the organization to complete the projects on time and to the highest quality standards.
- Provide effort estimations for individual assignments and constant progress updates to the team.
- Participate in code reviews and design workshops.
- Work as part of a cross functional agile development team.
Knowledge and experience:
- 5+ years of experience in design and development of Back End distributed systems with
- Microsoft .NET Full Framework and C#, and 2+ years with .NET Core
- Strong knowledge of OOA, OOD principles and multi-threading.
- Experience with common design patterns, messaging patterns, and distributed systems
- Experience building microservices (REST, CQRS pattern) and/or Windows Services
- Experience working with message brokers (either of RabbitMQ, ZeroMQ, Kafka, IBM MQ, MSMQ, NserviceBus)
- Experience with distributed cache and/or no SQL DBs (Redis, Elsastic Cache,
- Memcached, Couchbase, MongoDB, DynamoDB)
- Experience with SQL (MS SQL, MySQL)
- Experience with Docker Containers
- Experience with Amazon AWS cloud-based services
- Lambda, Kinesis, SQS, SNS, EC2, ECS, Elastic Search, CloudWatch
- Good understanding and experience with Agile development methodologies and lean principles
Good to have:
- Experience with Identity Server (Security Token Service)
- Experience with SignalR, WebSockets
Personal traits:
- Result oriented and focused on high-quality in delivery.
- Advocacy for customer focused solutions
- Good communication skills in both technical and soft-skill areas.
- Demonstrates strong sense of ownership, enthusiasm for technology and initiative.
- Natural team player.
- Ability to deal with ambiguity in an agile development environment