Verified today
Software Engineer II
About the role
Software Engineer II on the EnCore ERP platform in Bangalore, owning discrete features and workstreams from specification to production. You will write testable C#/.NET code, develop efficient SQL with transaction safety, lead code reviews, and mentor newer engineers while contributing to architectural discussions. The role emphasizes independent delivery, performance optimization, and knowledge transfer within a collaborative team.
What you’ll do
- Own discrete features and bug fixes from specification to production, including design, implementation, testing, and documentation
- Write testable, maintainable C# using dependency injection, appropriate abstractions, and separation of concerns
- Develop efficient SQL queries with correct transaction handling, execution plan understanding, and performance optimization
- Design and implement unit and integration tests that catch real problems and remain reliable across code changes and environments
- Lead code review of peer submissions, providing constructive feedback on correctness, testability, security, and performance
- Investigate performance issues in stored procedures and queries using execution plans, statistics, and production diagnostics
- Participate in database schema design and write safe, rerunnable migration scripts
- Support and mentor Associate Engineers, contributing to onboarding, pair programming, and knowledge building
What you’ll bring
- Advanced C# and .NET proficiency with async/await, Task-based APIs, and completion vs. performance understanding
- Knowledge of dependency injection and constructor-based dependency patterns
- Understanding of interface-driven design for testability
- Comfort with LINQ, collections, and modern C# features
- SQL competence including CTEs, window functions, advanced joins, and execution plan analysis
- Proficiency with transactions, isolation levels, and transaction safety across multiple statements
- Ability to write safe, rerunnable database migration scripts that check current state
- Ability to write isolated, repeatable unit tests using fixtures, mocks, and fakes
Nice to have
- Experience with enterprise systems (ERP, financial software, or complex multi-tenant applications)
- Exposure to real-world performance tuning and debugging in production systems
- Familiarity with event-driven or message-based architectures
- Experience with reporting systems or analytics
- Understanding of database scaling, replication, or backup/recovery strategies
- Contribution to open-source projects or active GitHub presence
- Experience mentoring junior engineers or contributing to hiring and onboarding
- Knowledge of SDLC best practices, secure coding, and threat modeling