Job Description
Required Skills & Experiences
Must-Have (Non-Negotiable)
- Proficiency in C# and .NET (Core/.NET 5+) with hands-on experience building Web APIs using ASP.NET Core
- Strong understanding of Entity Framework Core including code-first migrations, entity relationships (one-to-many, many-to-many), Fluent API configuration, and DbContext lifecycle management
- Experience with PostgreSQL or similar relational databases, including writing efficient queries, understanding indexes, constraints, and normalization
- Working knowledge of ASP.NET Core Identity for user management and JWT-based authentication and authorization
- Understanding of RESTful API design principles including proper HTTP status codes, resource naming, DTO patterns, and input validation
- Experience with Dependency Injection, service layer patterns, and separation of concerns in .NET applications
- Familiarity with Git version control for collaborative development
- Minimum 2-3 years of professional experience in backend .NET development
Strongly Preferred
- Experience building document management or file management systems with versioning, check-in/check-out workflows, or similar functionality
- Understanding of hierarchical data structures (tree-based folder systems with permission inheritance)
- Experience implementing role-based access control (RBAC) with fine-grained permissions
- Knowledge of background job processing (e.g., Hangfire, Quartz.NET) for tasks like file processing or notification queues
- Experience with file storage strategies (local file system, cloud blob storage) and large file handling
- Familiarity with Docker and containerized development environments
Nice-to-Have
- Exposure to frontend technologies (React, Angular, or Blazor) for API integration context
- Experience with unit testing and integration testing in .NET (xUnit, NUnit, Moq)
- Familiarity with CI/CD pipelines and automated deployment
- Understanding of CAD/engineering file formats or experience in a manufacturing/engineering environment
- Experience with SignalR for real-time features (live notifications, concurrent editing awareness)
Key Responsibilities
- Design and implement RESTful APIs for the Product Data Management (PDM) System including document management, folder hierarchy, versioning, and user/role management features
- Build and maintain the PostgreSQL database schema using EF Core code-first migrations, ensuring data integrity through proper constraints and relationships
- Implement secure authentication and authorization flows using ASP.NET Core Identity and JWT, with role-based access control across all API endpoints
- Develop document versioning system with check-in/check-out workflows that prevent concurrent editing conflicts
- Build hierarchical folder permission system where permissions cascade from parent to child folders with the ability to override at any level
- Write clean, maintainable code following established project patterns (feature-based organization, DTO pattern, service layer abstraction)
- Collaborate with the project lead to translate business requirements for engineering file management into technical solutions
- Participate in code reviews, document API endpoints, and maintain technical documentation
Domain-Specific Challenges
The developer should be comfortable tackling or learning about the following domain-specific challenges that are core to a PDM system:
- File locking mechanisms to prevent two engineers from modifying the same document simultaneously
- Version trees where documents may branch and need to be tracked with full revision history
- Permission inheritance in deep folder hierarchies (e.g., project folder > assembly folder > part folder) where access rules cascade but can be overridden
- Handling large engineering files (CAD drawings, simulation data) efficiently without blocking API performance
- Audit trails that track every action (who modified what, when, and what changed) for compliance and traceability
Technology Stack
Runtime: .NET 10 / ASP.NET Core 10
Framework: ASP.NET Core Web API (Controller-based)
ORM: Entity Framework Core (Code-First approach)
Database: PostgreSQL
Authentication: ASP.NET Core Identity + JWT Bearer Tokens
Architecture: Feature-based folder structure, DTO pattern, Dependency Injection
Version Control: Git
Development OS: Windows (with WSL2/Docker for PostgreSQL)
Desired Candidate Profile
Experience: Minimum 2 - 3 years
Location: Bangalore, Karnataka
Qualification: Any Degree
Job Type: Full-Time, Permanent
Industry: Industrial Machinery Manufacturing
Schedule: Day Shift, Monday to Saturday
Workplace Type: On-site (Work from Client Office)
Notice Period: Immediate