Software developer for the maintenance and stabilization of legacy applications (C#/.NET)

 Posted 14 hours ago
     
5-10 years experience
Apply Now

Please mention DailyRemote when applying

AI Summary

The role involves maintaining and stabilizing existing C#/.NET backend applications through bug fixing, refactoring, and implementing automated tests. You will be responsible for analyzing complex codebases to improve robustness, readability, and overall software quality.

The goal of the task
Further development and stabilization of an existing C#/.NET backend application landscape through bug fixing, targeted refactoring, and the gradual implementation of automated tests. The goal is to increase robustness, maintainability, and code quality while minimizing risk to existing functionality.
Analysis of errors in interdependent individual applications.

Requirements
• Cross-application root cause analysis of software errors in related applications
• Several years of experience in software development with C# and .NET
• Experience in the maintenance and further development of legacy applications
• Confident handling of object-oriented programming
• Experience with Visual Studio and Git
• Knowledge of analyzing complex existing codebases
• Debugging experience
• Ability to evaluate and improve existing software architectures
• Experience with refactoring while taking existing functionality into account
• Understanding Clean Code Principles
• Experience in reducing technical debt
• Experience with unit tests (e.g., xUnit , NUnit , or MSTest )
• Ability to introduce automated tests into existing applications
• Experience with mocking frameworks (e.g., Moq )
• Experience with CI/CD pipelines for building and deploying applications in Azure DevOps is advantageous.

Tasks
Troubleshooting
• Analysis and troubleshooting of errors in existing applications
• Reproduction of reported errors using available information
• Communication with users for error analysis
• Documentation of causes and solutions
•Ensuring that bug fixes do not cause any side effects
Refactoring
• Identification of critical maintainability problems
• Simplifying complex methods and classes
• Reduction of code duplication
• Improving the readability and comprehensibility of the source code

• Introducing clear responsibilities within the classes
• Elimination of obvious anti-patterns

Improved robustness
• Improvements to error handling and logging mechanisms
• Introduction of appropriate validations and plausibility checks
• Improvement of exception handling
Test implementation
• Creating tests for newly modified or refactored components
• Building a phased test coverage for critical business logic
• Creation of regression tests for fixed bugs
Quality requirements
• Existing functionality will remain unchanged unless otherwise specified.
• Refactoring should only be carried out in comprehensible and manageable steps.
• Ensure changes are validated through appropriate testing.
• Support code reviews and implement review comments in a traceable manner.
• Communicate risks and impacts of changes early
Expected results
• Fixed and verifiably documented software bugs
• Improved stability and maintainability of the application
• Reduction of technical debt in the machined components
• Increased test coverage in critical areas
• Improved traceability and readability of the code
• Documentation of identified further optimization potentials

Similar Jobs

See all Remote Software Development jobs →

Personalize your Remote Job Search in 3 Easy Steps!

Discover remote opportunities in Software Engineer

Answer easy questions

Answer easy questions

200,000+ jobs across 15+ categories

Get your best job matches

Get your best job matches

Only hand-screened, legit jobs

Find a remote job faster

Find a remote job faster

No ads, scams, or junk

I was the first applicant for a remote marketing position that got listed on the company website the same day I applied. Had an interview within 48 hours!

Sarah J. — Sarah J. · Marketing Manager ★★★★★ Verified