Job details
Employment Type: Full-Time
Location: Bengaluru, Karnataka, India
Job Category:Engineering
Job Number: WD30222952
Job Description
Experience Requirements:
- Industry Experience: Candidates should have 3 to 5+ years in the industry, ensuring they bring hands-on experience to the role.
- Education:
- Undergraduate: B.Tech/B.E. in Computers/Electronics or a similar field is required.
- Postgraduate: M.Tech in Computers/Electronics or related fields, or MCA/MS/MSc degrees (if their undergraduate studies were in Computer Science) are preferred.
System Programming and Application Development:
- Required Skills: Expertise in system programming with a focus on developing service/driver-based applications in technologies such as C#, WCF, WPF, and .NET Core.
- Network Knowledge: A solid grasp of network fundamentals is also crucial.
Independent Development and Team Management:
- Individual and Team Roles: Candidates should be capable of independently managing product development from start to finish, as well as working effectively within a team.
- Post-Release Support: Being prepared to provide support even after product release is expected.
Multi-Threaded Development and Database Concurrency:
- Experience Needed: Hands-on experience with multi-threaded development, including concepts such as thread synchronization, locks, and handling database concurrency.
- Relevant Technologies: Knowledge of WinForms, WCF, and WPF is essential for this role.
SQL Server Expertise:
- Database Proficiency: A comprehensive understanding of SQL Server, particularly its use in complex software environments.
Object-Oriented Programming and Software Architecture:
- OOP and Microservices: Practical experience with Object-Oriented Programming concepts, microservices architecture, operating systems, and UML (Unified Modeling Language) is required.
- Software Design: Proficiency in software architecture and design patterns, along with proven experience in framework development.
Distributed Computing:
- Computer Science Background: A solid foundation in computer science, especially in distributed computing, to design applications that work effectively across networks.
Software Development Tools and Methodologies:
- Tool Proficiency: Familiarity with common software development tools and methodologies to streamline development processes and enhance productivity.
Enterprise Application Development:
- Comprehensive Experience: Ability to develop all layers of enterprise applications, addressing scalability, integration, performance, and internationalization.
- Internationalization: Experience working with Unicode and/or multi-byte databases for global application compatibility.
Software Development Lifecycle (SDLC):
- Process Knowledge: Strong understanding of the software development lifecycle, processes, and the effective use of development tools.
Troubleshooting and Problem-Solving:
- Diagnostic Skills: Excellent diagnostic and troubleshooting skills, with the ability to learn new technologies and concepts quickly to solve issues.
Domain Knowledge (Optional):
- Electronic Security: Familiarity with electronic security fields like access control, video surveillance, and intrusion detection systems is a bonus.
Communication Skills:
- Effective Communication: Strong communication skills are required to articulate ideas and collaborate effectively with team members, partners, and customers.
Project Planning and Estimation:
- Planning Skills: Candidates should be able to support project planning and estimation processes, making informed decisions to ensure timely project completion.