02 Oct
|
Tekskills
|
Hyderabad
02 Oct
Tekskills
Hyderabad
We are looking for an experienced C++ Developer Golang to design, develop, optimize, and maintain high-performance, scalable software systems. The ideal candidate should have strong programming fundamentals, hands-on experience with up-to-date C++ and Go, and a solid understanding of distributed systems, APIs, concurrency, networking, databases, and cloud-native development.
The role involves working closely with product managers, architects, QA engineers, DevOps engineers, and other developers to build reliable and production-ready applications.
Key Responsibilities
- Design, develop, test, debug, and maintain software applications using C++ and Golang.
- Develop high-performance, scalable, and reliable backend services and applications.
- Write clean, maintainable, reusable, and well-documented code.
- Design and implement RESTful APIs and microservices.
- Work with concurrent and multithreaded applications.
- Analyze performance bottlenecks and optimize CPU, memory, I/O, and network usage.
- Participate in architecture and technical design discussions.
- Develop and integrate services using distributed-system principles.
- Troubleshoot production issues and perform root-cause analysis.
- Write unit, integration, and automated tests.
- Review code and provide constructive feedback to other developers.
- Work with CI/CD pipelines and automated build and deployment processes.
- Collaborate with DevOps teams on containerization and cloud deployments.
- Work with databases, caching systems, message queues, and external APIs.
- Create technical documentation for applications, APIs, and system architecture.
- Ensure applications meet security, performance, scalability, and reliability requirements.
Required Technical Skills
C++
- Strong proficiency in C++11/14/17/20.
- Strong knowledge of
- Object-oriented programming
- STL
- Templates
- Smart pointers
- RAII
- Exception handling
- Move semantics
- Lambda expressions
- Modern C++ programming practices
- Strong understanding of memory management and debugging.
- Experience with multithreading and synchronization.
- Knowledge of mutexes, locks, condition variables, atomics, and thread pools.
- Experience with performance optimization and profiling.
- Familiarity with Linux/Unix development.
- Experience with tools such as GDB, Valgrind, sanitizers, CMake, and GCC/Clang.
Golang
- Strong hands-on experience with Go/Golang.
- Good understanding of Go fundamentals and idiomatic Go.
- Experience with
- Goroutines
- Channels
- Interfaces
- Structs
- Error handling
- Context
- Generics
- Go modules
- Experience developing REST/gRPC services.
- Understanding of Go concurrency patterns.
- Familiarity with Go testing and benchmarking.
- Experience with profiling and performance optimization using Go tooling.
Backend & Distributed Systems
- Strong understanding of data structures and algorithms.
- Experience developing backend services and microservices.
- Understanding of distributed systems concepts.
- Experience with
- REST APIs
- gRPC
- HTTP/HTTPS
- TCP/IP
- Authentication and authorization
- Service-to-service communication
- Knowledge of caching and messaging systems such as Redis, Kafka, RabbitMQ, or similar technologies.
- Understanding of scalability, fault tolerance, availability, and observability.
Databases
- Experience with relational databases such as PostgreSQL, MySQL, or Oracle.
- Good SQL knowledge.
- Understanding of indexing, transactions, query optimization, and database design.
- Familiarity with NoSQL databases such as MongoDB, Cassandra, or DynamoDB is a plus.
Linux & DevOps
- Strong Linux/Unix command-line skills.
- Experience with Git and Git-based workflows.
- Familiarity with
- Docker
- Kubernetes
- CI/CD
- Jenkins/GitHub Actions/GitLab CI or similar tools
- Exposure to cloud platforms such as AWS, Azure, or GCP is preferred.
Required Soft Skills
- Strong problem-solving and analytical skills.
- Good communication and collaboration skills.
- Ability to work independently as well as within a team.
- Strong debugging and troubleshooting abilities.
- Ability to understand complex existing codebases.
- Good understanding of software development lifecycle and engineering best practices.
- Ability to work in an Agile/Scrum workplace.
Education
- Bachelor's or Master's degree in Computer Science, Information Technology, Engineering, or a related field.
- Equivalent practical software-development experience may also be considered.
Experience
- 38+ years of software development experience, depending on level.
- Strong professional experience with C++ and/or Golang.
- Experience building production-grade, scalable backend or systems software.
- Experience with Linux-based development environments.
Preferred Qualifications
- Experience migrating or integrating C++ systems with Go services.
- Experience in high-performance or low-latency systems.
- Experience with networking or distributed systems.
- Knowledge of operating-system concepts.
- Experience with Kubernetes and cloud-native architectures.
- Experience with observability tools such as Prometheus, Grafana, OpenTelemetry, or similar.
- Experience working on large-scale production systems.Role & responsibilities
Preferred candidate profile
📌 C++ AND Golang (Hyderabad)
🏢 Tekskills
📍 Hyderabad