Software Engineer Level II (Total SDS 2026)

Lisbon, Portugal
Senior (4-6 Years)
Hybrid
English Required Not Accepting Candidates Living Abroad

Overview of the position

The Software Engineer Level II focuses on delivering quality implementations on time and to specification.  As part of a team that works with other Engineers, Testers, Product Managers and User Experience (UX) Designers, the Software Engineer Level II contributes to high-quality releases. The Software Engineer Level II understands the business and can work autonomously on well-defined problems. The Software Engineer Level I has a project or team-level impact.

Core responsibilities

  • Writing clean, maintainable, performant code using .NET C#, along with other modern tools such as Kafka and Elasticsearch. Consistently following best practices, identifying opportunities to reduce code complexity, and cleaning up the trash (fixing issues discovered even when no one is watching).
  • Regularly delivering high-quality, working software as part of a Software Development team.
  • Working on all but the most complex problems. Understanding the importance of working closely with other Engineers, taking ownership and working autonomously on most development tasks within their product or service, delivering quality code consistently on time. Being accountable end-to-end, through planning, design, implementation, deploy, maintenance, and monitoring.
  • Building a good, broad understanding of the team’s codebase. Having broad knowledge of the team's entire codebase and specific, expert knowledge in some areas.
  • Providing helpful, timely code reviews with feedback on readability, testability, and alignment with best practices and architectural principles. Considering the proposed solution as a whole, identifying potential downfalls and suggesting more appropriate alternatives.
  • Contributing to internal technical documentation. Proactively contributing to internal technical documentation content and form.
  • Monitoring dashboards/alerts and responding to incidents with the appropriate level of urgency. Monitoring dashboards and alerts to ensure the components the team owns remain available and stable.
  • Contributing to technical designs and proactively making suggestions for improvements. Being responsible for designing features and creating or updating the technical design documentation for those features. Contributing to and sometimes driving technical designs and design meetings.
  • Effectively diagnosing the root cause of complex bugs and providing a fix along with an automated regression test. Debugging effectively and being capable of diagnosing the root cause of issues within their code base independently.
  • Breaking down user stories with the team and providing accurate estimates. Breaking down stories to reduce complexity, plan, estimate, and cut scope in order to ship on time. Providing high-level estimates for larger chunks of work (epics), accounting for all aspects of the work - design, implementation, testing, infrastructure changes, etc.
  • Resolving security vulnerabilities using guidance from security scanning reports, more senior Engineers, and the Security team. Following basic secure coding practices consistently.
  • Picking up testing work when necessary to help teammates finish their stories on time. Partnering with Testers during the design and implementation phases of development to ensure all their software is fully testable and tested before it is done.
  • Assisting with the onboarding of new Engineers.
  • Engaging with the Product Management team to gain clarification, urgency, and context around how all features and tasks fulfil a specific business requirement and align with Enhesa’s business goals.
  • Decision-making:
    • Understanding the importance of weighing cost and value in decision-making.
    • Asking more senior Engineers for help in applying this type of thinking to their work

Education Level

Bachelor's degree (or equivalent) in Engineering, Computer Science, or a related field.

Experience

Significant (4+ years) C#.NET experience and expertise.

Required Technical Skills

  • Understanding of how to apply microservice architectures successfully.
  • Exposure to event-driven architectures and event streaming/messaging tools like Kafka (preferred), Pulsar, RabbitMQ, etc.
  • Experience using NoSQL databases is a bonus - Elasticsearch (preferred), Dynamo, MongoDB, Redis, etc.
  • Proven ability to identify opportunities for best practice improvements within the team and share knowledge in order to address them.
  • Ability to tackle complex technical problems.
  • Experience working in an Agile environment.

Other Required Skills

  • Excellent communication skills, ability to communicate clearly and effectively, adjusting style depending on the audience. Ability to communicate clearly, simple technical ideas to non-technical audiences. Surfacing problems or oversights into requirements quickly to avoid confusion.
  • Ability to work effectively as part of a team, contributing to the team dynamic and resolving conflicts constructively.
  • Ability to quickly adapt and embrace change.
  • Champion of continuous improvement.
  • Showing initiative in tackling problems.
  • Fluency in English.

 

We connect IT professionals with projects that match their skills, professional experience, and goals, then we offer a career progression program, delivered by in-house specialists - our People Experience Partners - to guide them through our journey with us.

What we offer:

  • A project that matches your skills and ambitions, as well as your preferences for working policies and culture.
  • A competitive salary with awesome benefits and opportunities to leverage your knowledge and network to earn additional income.
  • An empowering and respectful work culture enriched with social and learning events.
  • A People Experience Partner specially assigned to you - your go-to career guide, responsible for supporting your growth, facilitating training, and ensuring your work-life balance at KWAN.
At KWAN, they make sure that I feel comfortable with the client I’m working for and that what I’m doing aligns with my career aspirations.
Luis Caldeira, DevOps @ KWAN
At KWAN, I’m given the space to be myself and do what I love. I have control over the projects I work on, as well as the direction of my career.
Pedro Fonseca, Front End Developer @ KWAN
I see my People Experience Partner as someone who is always available to provide me with motivation and constant feedback, which helps me be sure that I am in the right place.
Josimar dos Reis, Software Developer @ KWAN
I know that I’ve contributed to the growth of a company that truly values a “people first culture”, because my ideas, experiences, and individuality were always appreciated.
João Nascimento, Software Developer (KWAN Alumni)
My two years at KWAN were an incredible experience! From the start, I was welcomed into a warm and collaborative environment where I felt truly supported.
Laís Ortiz, Software Developer @ (KWAN Alumni)
Grab this opportunity, apply now!

What You Can Expect as a KWANer

Respect isn’t optional here

You’re trusted to deliver and supported to speak up.

Dedicated People Experience Partner

Someone accountable for your growth, not your allocation.

Continuous learning, built in

Learning that keeps pace with the systems you build.

Recognition that’s visible

Your impact doesn’t go unnoticed. Through our Rocket Points System, we constantly recognize your contributions.

A culture you can feel

From movie and quiz nights to dinners and our annual summer gathering, we don’t just work together - we build real connections.

Flexible spaces to work your way

Remote-first, with physical hubs when you want connection.

Didn't find your mission yet?


Strong profiles don’t always match timing. That doesn’t mean there isn’t alignment.

We review every application. If there’s alignment, we won’t let it get lost in a database.