Job Title: Software Engineer
Job Summary
We are seeking a skilled and proactive Mid-Level Software Developer to join our team. This role involves solving moderately complex technical challenges, contributing to cross-functional collaboration, and mentoring junior developers. The ideal candidate demonstrates strong problem-solving skills, technical proficiency, and a commitment to continuous improvement and team success.
Key Responsibilities
Innovation & Complexity
Analyzing and Interpreting Logs/Data: Use logs, metrics, or monitoring tools to diagnose and resolve issues.
Troubleshooting Moderately Complex Issues: Investigate and resolve issues that span multiple components or involve unclear root causes.
Participating in Post-Mortems or Retrospectives: Contribute insights on root causes and suggest preventive measures.
Documenting Problem-Solving Approaches: Record solutions to recurring or moderately complex issues for future reference.
Enhancing Existing Features: Recommend and implement improvements to existing features based on user feedback or performance data.
Proposing Process Improvements: Identify inefficiencies in development or deployment workflows and suggest enhancements.
Cross-Team Collaboration for Issue Resolution: Work with QA, DevOps, or Product teams to resolve issues that span job functions.
Responding to Internal/External Inquiries: Address questions or issues from other teams or clients with clear explanations.
Knowledge & Experience
Testing Strategy: Implement unit, integration, and end-to-end (E2E) tests.
DevOps Familiarity: Use CI/CD pipelines, containers, and cloud tools.
Problem Solving: Debug and resolve complex issues.
Code Quality & Reviews: Write clean code and review peers’ work.
Documentation & Standards: Maintain technical documentation and enforce coding standards.
Technical Proficiency: Work with multiple languages, frameworks, and design patterns.
Feature Ownership: Design and implement medium to complex features.
Mentorship: Guide junior developers and share expertise.
System Design Contribution: Participate in architectural discussions and suggest improvements.
Security & Performance: Apply security best practices and optimize performance.
Cross-Team Collaboration: Work with product, QA, and design teams.
Leadership
Task Ownership: Take full responsibility for assigned features or modules.
Process Improvement: Suggest and help implement improvements to team workflows.
Cultural Contribution: Participate in and promote team-building and inclusion initiatives.
Mentorship & Coaching: Support junior developers through code reviews, pair programming, and guidance.
Talent Development: Identify and pursue personal growth opportunities; support others’ growth.
Communication & Influence: Communicate technical ideas clearly and influence decisions when appropriate.
Constructive Feedback: Provide and receive feedback in a respectful, growth-oriented manner.
Conflict Navigation: Address minor conflicts or misalignments constructively.
Team Engagement: Actively participate in team rituals (stand-ups, retrospectives, planning).
Organizational Impact
Tooling and Automation: Create or improve internal tools and scripts to automate repetitive tasks.
Debugging and Performance Optimization: Investigate and resolve non-trivial bugs and performance issues.
Code Review and Mentorship: Review code written by junior developers and provide constructive feedback.
Cross-Team Collaboration: Collaborate with QA, DevOps, and Product teams to ensure smooth delivery.
Technical Documentation: Write and maintain technical documentation for modules, APIs, and workflows.
Designing and Implementing Features: Develop medium-complexity features from design to deployment, following team standards.
Learning and Upskilling: Stay updated with new technologies and propose improvements to existing systems.
Participating in Sprint Planning and Estimation: Contribute to sprint planning by estimating tasks and identifying dependencies.
Communication
Supporting Cross-Functional Collaboration: Coordinate with QA, DevOps, or Product teams to align on deliverables.
Writing and Sharing Technical Proposals: Draft and circulate design documents or RFCs for peer review.
Influencing Technical Decisions: Advocate for best practices or improvements in team processes or tools.
Mentoring Junior Developers: Provide guidance and feedback to less experienced team members.
Leading Demos or Knowledge Shares: Present completed work or new tools to the team or stakeholders.
Gathering Requirements from Stakeholders: Meet with stakeholders or clients to clarify feature needs and expectations.
Regular Syncs with Manager and Peers: Participate in regular check-ins to discuss progress, blockers, and ideas.
Presenting Technical Solutions: Share proposed solutions or designs with stakeholders for feedback.
Skills:
Strong all-round computing skills with flexibility to readily adopt new technologies and systems.
Software design with a detailed understanding of industry standards and norms in multiple technology stacks.
Strong Microsoft .NET (ASP .NET Core, .NET, C#).
Proficiency in SQL, relational database design, and routine administration.
Practical experience with Continuous Integration / Continuous Deployment (CI/CD) and solid understanding of DevOps principles.
Working knowledge of Asynchronous Messaging & Event based architecture.
Working knowledge of Domain-Driven‑ Design in software development.
Experience writing isolated and maintainable unit tests, using mocking frameworks to validate business logic and edge cases, integrated into CI pipelines.
Exposure to modern front-end development, preferably React. Experience with a comparable npm-based framework (e.g. Angular, Vue) is also valued.
Familiarity with AI-assisted coding tools (e.g. code completion, refactoring), with an understanding of how to use them effectively and responsibly as part of a professional development workflow.
Desirable Skills:
AWS
Kafka
GitHub Actions
SQL Server
Experience with Docker and a solid understanding of containerisation concepts.
Our people are our most valuable resource and core to our success. This is a fast-paced business environment, demanding a strong work ethic and a results-oriented approach. We offer competitive compensation and benefits, a comprehensive talent development program, and a reward system in which employees share in the success of the company. We are an engaged member of the communities in which we live and work and have a locally-led giving philosophy with generous employee matching program, global and local community grants and employee volunteerism.We seek diversity, create equity, and practice inclusion. Our people are at the heart of everything we do. We are an equal opportunity employer. We provide equal opportunity to all qualified individuals regardless of race, color, religion, national origin, sex, sexual orientation, gender identity, marital status, pregnancy, disability, military status or other legally protected categories.
Top Skills
RenaissanceRe Dublin, Dublin, IRL Office
Hardwicke House – 4th and 5th Floors, , Dublin, Dublin, Ireland
