Role Overview
We are seeking an experienced .Net Developer with strong expertise in .NET applications, Azure ecosystem, and reverse engineering practices. The individual will be responsible for retrieving existing .NET application packages from Azure Functions and App Services, decompiling the codebase, and setting up a development environment to enable further analysis, maintenance, and modernization.
Key Responsibilities
- Work closely with the Solutions Architect to come with a plan to retrieve the code, reverse engineer and document the same
- Retrieve and export deployed .NET application packages from Azure Functions and App Services.
- Use tools such as JetBrains dotPeek (or similar decompilers) to decompile assemblies and generate readable C# code; supplement with ILSpy, dnSpy, or JustDecompile where needed.
- Analyze decompiled code to identify architecture, dependencies, configuration patterns, integration points and potential security or maintainability issues.
- Identify and document missing pieces (third-party libs, closed sources, certificates, connection strings, external services) and propose remediation steps.
- Document step-by-step retrieval and de-compilation process for reproducibility and auditability.
- Document findings, system architecture, and reverse-engineered code structure.
- Connect and validate application integration with Azure SQL Database.
- Reconstruct and validate a local development setup, ensuring application builds and runs in a developer environment.
- Support efforts toward modernization, migration, or refactoring of the application to align with current .NET best practices.
Required Skills & Experience
- 4–6 years of hands-on experience with development and debugging in .NET Framework and/or .NET Core applications
- Hands-on experience with Azure App Services, Azure Functions, and Azure deployment pipelines (Kudu/SCM, App Service Editor, deployment slots, or equivalent).
- Practical experience retrieving deployed artifacts (knowledge of Kudu API, FTP, Azure Storage, ARM/CI/CD artifacts).
- Strong skills in reverse engineering tools (e.g., JetBrains dotPeek, ILSpy, dnSpy).
- Solid understanding of .NET assemblies, IL basics, and compilation/debugging workflows.
- Experience reading and interpreting configuration files (appsettings.json, host.json, web.config) and environment variable patterns in Azure.
- Comfortable working with NuGet dependencies, assembly binding redirects, and common third-party libraries.
- Strong debugging skills, ability to recreate logic from decompiled code and reason about runtime behavior.
- Familiarity with Azure SQL Server (PaaS) and database connectivity from .NET.
- Solid understanding of application packaging, deployment, and configuration management in Azure.
Preferred Skills
- Experience with obfuscation detection/de-obfuscation.
- Prior experience in .NET modernization projects (e.g., migration from legacy .NET Framework to .NET Core/.NET 6/8).
- Experience reconstructing project structure (csproj, namespaces, solution layout) from decompiled output.
- Knowledge of CI/CD pipelines in Azure DevOps or GitHub Actions.
- Familiarity with security considerations (identity, secrets management, compliance in Azure).
Soft Skills
- Strong problem-solving mindset, with ability to work independently.
- Detail-oriented with a structured approach to reverse engineering and documentation.
- Effective communicator for cross-functional collaboration with architects, developers, and DevOps engineers.