TeamViewer

Senior Software Engineer, C#

TeamViewer

full-time

Posted on:

Location Type: Office

Location: Porto • 🇵🇹 Portugal

Visit company website
AI Apply
Apply

Job Level

Senior

Tech Stack

AzureCloudDistributed SystemsDockerKafka.NETNGINXRedisSQL

About the role

  • Build, enhance and scale core platform capabilities
  • Define the architecture, design and develop new features for our software in C#
  • Continuously integrate, build and deploy our solution from test system to production
  • Design and implement common APIs based on architecture guidelines and frameworks
  • Design and build common database systems of high availability and quality
  • Optimize and enhance our software with new, efficient algorithms and state-of-the-art software tools and technologies
  • Work independently on solutions for specified requirements and be responsible for complying with time and quality specifications
  • Ensure that our software is secure, stable, scalable and runs efficiently
  • Monitor the latest technical developments in your field and make proposals for improvement
  • Guide and assist other team members in engineering topics relevant for the team
  • Coach & mentor junior members in the team
  • Act as an advisor for product owners (feasibility studies and time estimates for new functionality to be implemented)
  • Communicate with customers to analyze & fix product defects, or during major implementations

Requirements

  • A university degree in the field of information technology, computer science and engineering or a related subject
  • 6+ years of professional experience in the field of software development
  • Solid knowledge of .NET (C#) and SQL is mandatory, with a focus on development of Web APIs
  • Experience in writing and maintaining unit tests with a modern framework
  • Experience with Azure cloud services such as: Kafka/Event Hub, AKS, Redis, Service Bus, SQL Managed Instance
  • Experience in building and delivering containerized solutions (Docker)
  • Experience in shaping the architecture of complex, large-scale distributed systems
  • Understanding of Clean Code, Design Patterns and SOLID principles for object-oriented programming
  • A positive and solution-oriented mindset paired with a structured and analytical way of thinking/working, being a team player, as well as motivated to learn new things
  • Expertise in one or more of the following areas is preferred: multi-threaded/async programming, network communications, and digital certificates/PKI
  • Excellent debugging skills, with the ability to troubleshoot issues in complex environments and determine root cause
  • Experience in performance analysis, and with code/query optimization
  • Understanding of secure coding principles and best practices
  • Exposure to CI/CD technology such as Kustomize, ArgoCD is a plus
  • Familiarity with cloud infrastructure (Azure Application Gateway, nginx, and Azure Web Application Firewall) is a plus
  • Familiarity with AI tools for coding (like Co-pilot) is a plus
  • Familiarity with observability platforms (e.g. DataDog) and structured logging is a plus
  • Fluency in English is mandatory, further languages are a plus
Benefits
  • Great compensation and benefits packages including company achievement bonus and stock-based options
  • Regular salary reviews
  • Public transport friendly offices
  • Special terms for local gyms
  • Access to Corporate Benefits platform with many discounts
  • Regular Team events and company-wide celebrations
  • Open door policy, no dress code rules, frequent all Hands and Leadership Lunches
  • Hybrid and Flexible work time with up to 50% home office
  • Work From Abroad Program allowing up to 40 days of work outside your contracting country

Applicant Tracking System Keywords

Tip: use these terms in your resume and cover letter to boost ATS matches.

Hard skills
.NETC#SQLWeb APIsunit testingAzureDockerClean CodeDesign PatternsSOLID principles
Soft skills
solution-oriented mindsetstructured thinkinganalytical thinkingteam playermotivation to learncoachingmentoringcommunicationproblem-solvingdebugging