Golang Developer
NEC Corporation View all jobs
- Noida, Uttar Pradesh
- Permanent
- Full-time
- Design, build, and maintain efficient, reusable, and reliable Go code.
- Develop microservices and APIs for large-scale distributed systems.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Implement RESTful APIs and ensure seamless integration between various services.
- Optimize applications for maximum speed and scalability.
- Write clean, scalable, and well-documented code following standard coding guidelines.
- Write unit and integration tests to ensure code quality.
- Identify bottlenecks and bugs and devise solutions to these problems.
- Troubleshoot and debug applications to ensure optimal performance.
- Participate in code reviews and contribute to team best practices.
- Bachelor's degree in computer science, Software Engineering, or a related field.
- Must have 4 to 10 years of Industry experience.
- Strong proficiency in Go (Golang) and its frameworks/libraries.
- Experience with RESTful APIs, gRPC, GORM etc.
- Solid understanding of RDBMS (e.g., PostgreSQL, MySQL) and experience with DB design and optimization.
- Understanding of microservices architecture and containerization (Docker, Kubernetes).
- Knowledge of CI/CD pipelines and version control (Git).
- Solid grasp of software engineering principles, data structures, and algorithms.
- Strong problem-solving skills and analytical thinking.
- Excellent communication and teamwork skills.
- Understanding of optical networking devices like ROADMs, Transponders etc.
- Basic networking knowledge.
- Knowledge of Netconf and gNMI protocols.
- Knowledge of Domain Driven Design (DDD) concepts and Clean Architecture.
- Knowledge of testing frameworks in Go (e.g., testify, GoMock).
- Conducting requirements gathering and analysis to understand the domain of the software problem and/or functionality, the interfaces between hardware and software, and the overall software characteristics
- Using programming, scripting, and/or database languages to write the software code
- Supporting software testing, deployment, maintenance, and evolution activities by correcting programming errors, responding to scope changes, and coding software enhancements
- Applying knowledge of software development best practices, including coding standards, code reviews, source control management, build processes, testing, and operations