Deskripsi pekerjaan Senior .NET Developer PT Adaya Solusi Teknologi
Key Responsibilities
- Design end-to-end application architectures for both new features and existing system refactoring, considering scalability, maintainability, and cost efficiency.
- Act as a technical decision-maker for technology stacks, design patterns, and implementation approaches within your area of responsibility.
- Develop production-grade code that is testable, observable, secure, and well-documented.
- Lead code reviews, provide constructive feedback, and uphold engineering standards across the team.
- Mentoring junior and mid-level developers, supporting both their technical growth and professional mindset development.
- Collaborate closely with Product, Design, QA, and DevOps teams to ensure smooth and high-quality delivery.
- Perform performance profiling, troubleshoot complex production issues, and conduct thorough root cause analysis.
- Contribute to the technical roadmap by identifying technical debt, proposing improvements, and driving implementation.
- Ensure the quality of non-functional requirements, including security, performance, reliability, and observability.
Required Qualifications
- Minimum 5 years of experience as a .NET Developer, including at least 2 years working on production systems used by real users.
- Expertise in modern C# (LINQ, async/await, generics, delegates, nullable reference types) and .NET / ASP.NET Core.
- Strong understanding of Object-Oriented Programming (OOP), SOLID principles, Design Patterns, and Clean Architecture / Domain-Driven Design (DDD).
- Proven experience designing and developing high-quality RESTful APIs, including resource modeling, versioning, error handling, authentication, and authorization.
- Proficiency in Entity Framework Core, with a clear understanding of when to utilize raw SQL or Dapper.
- Strong expertise in SQL Server, including schema design, indexing strategies, query plan analysis, stored procedures, and transaction isolation.
- Experience with unit testing and integration testing frameworks such as xUnit/NUnit, Moq, and TestContainers.
- Familiarity with Git and collaborative branching strategies such as GitFlow and trunk-based development.
- Experience deploying applications to production environments, whether on IIS, containers, or cloud platforms, with a solid understanding of post-release application lifecycle management.
- Ability to quickly understand, maintain, and improve existing codebases, including legacy systems.
Preferred Qualifications
- Experience with microservices and event-driven architectures (RabbitMQ, Kafka, Azure Service Bus).
- Familiarity with Docker, Kubernetes, and container orchestration.
- Experience with cloud platforms, particularly Microsoft Azure (App Service, Azure Functions, Azure SQL, Service Bus, Key Vault).
- Familiarity with modern CI/CD practices and tools such as Azure DevOps, GitHub Actions, and GitLab CI.
- Understanding of caching strategies (Redis, in-memory caching, CDN) and their appropriate use cases.
- Experience with observability practices, including structured logging (Serilog), metrics collection, and distributed tracing (OpenTelemetry).
- Familiarity with modern frontend frameworks such as Blazor, React, or Angular.
- Experience working with SOAP/WCF integrations for legacy enterprise, banking, or government systems.
- Contributions to open-source projects, technical blogs, or developer communities are not required but are considered a strong plus.
What We Look For
Ownership
You treat the systems and codebases you work on as if they were your own, taking responsibility from design through post-release support.
Pragmatism
You understand that the best solution is not always the most sophisticated one, but the one that best fits the business needs and team context.
Strong Communication Skills
You can clearly communicate technical decisions to both fellow developers and non-technical stakeholders.
Curiosity
You consistently ask “why”—whether regarding business requirements or technical decisions.
Mentorship Mindset
You genuinely enjoy sharing knowledge and helping others grow.
Calm Under Pressure
You remain composed and think clearly when handling critical production incidents, even at 2:00 AM.
Red Flags (Considerations During Evaluation)
- Claiming seniority without experience in writing automated tests.
- Inability to explain the trade-offs behind past technical decisions.
- Consistently blaming frameworks, libraries, or team members when issues arise.
- Having no awareness of or engagement with the .NET ecosystem over the past 2–3 years.
