Job
Description
Role Overview: You will be responsible for the development and automation of infrastructure software/tools. Your role will involve investigating, analyzing, and resolving problems with application programs. You will review functional specifications to ensure the technical soundness of solutions and translate them into technical specifications. Coding and testing work according to standards will be a key part of your responsibilities. It is expected that you consistently complete work within estimated timeframes and maintain a high standard of quality for all deliverables. You will also perform specification and code reviews to ensure appropriate solutions and adherence to standards. Effective communication with business and technical teams at all levels will be essential. Providing technical guidance to the agile software development team, driving adoption of core technologies and best practices, and ensuring all software development is managed under version control and release management will be part of your role. Interacting with other team members, providing project report information to management, and adapting to changing priorities in high-pressure situations are also key aspects of this role. Key Responsibilities: - Develop and automate infrastructure software/tools - Investigate, analyze, and resolve problems with application programs - Review and translate functional specifications into technical specifications - Code and test work according to standards - Complete work within estimated timeframes and maintain high quality for all deliverables - Perform specification and code reviews to ensure appropriate solutions and standards adherence - Effectively communicate with business and technical teams at all levels - Provide technical guidance to the development team and drive adoption of core technologies and best practices - Ensure all software development is managed under version control and release management - Interact with team members, provide project report information to management, and adapt to changing priorities in high-pressure situations Qualification Required: - Bachelor of Engineering (Computer Science or Electronics) degree - Minimum of 5 years of experience as a software developer/engineer - Knowledge of data structures, databases, algorithms, and asynchronous architectures - Experience with DevOps and software development tools such as JIRA, BitBucket, GIT, Confluence, and Eclipse - Experience in Web Development and relational databases - Experience in middleware and SOA Technologies, specifically in developing RESTful and/or SOAP services and micro-services - Experience with C/C++ development and software Design Patterns - Development experience in Linux environment - Strong organizational, analytical, and interpersonal skills - BE/M Tech in Computer Science or related discipline - Understanding of security/access control, scalability, high availability, and concurrency patterns - Knowledge of infrastructure and related technologies (hardware, networking, virtualization, Cloud, AWS, SaltStack, Docker, etc.) - Knowledge of Release Management and Configuration Management - Understanding of server and network capabilities and configurations - Experience with network fundamentals, UDP, DNS, OSI layers, load balancing, routing, service discovery - Experience with Software Defined Networking, Network Virtualization, OpenvSwitch, OpenFlow,