No applications. Teams find and message you directly.
✓ Direct apply: you message the hiring person. No ATS.
Join cdnnow! as a Golang Developer. Work on improving development processes and collaborate with a diverse engineering team. Full-time remote or hybrid options available.
Join cdnnow! as a Golang Developer. Work on improving development processes and collaborate with a diverse engineering team. Full-time remote or hybrid options available.
Responsibilities
- Adapt the development process to the product, technologies, and team, proposing and implementing improvements in development processes: code review rules, testing, CI/CD, releases, documentation, and quality control.
- Accept constructive criticism and provide it to colleagues.
- Work independently but collaboratively with engineers of other specializations (developers in other languages, DevOps, and SRE engineers).
- Estimate task timelines and notify if estimates change significantly.
- Design and justify product architecture.
- Formalize and agree on task requirements and implementation plans.
- Develop maintainable code suitable for production, agree on code style for the project.
- Conduct and participate in code reviews.
- Write project documentation and commit descriptions.
- Write automated tests and perform testing (unit, integration, etc.).
- Identify bottlenecks in CPU, memory, I/O, and network interactions.
- Have a good understanding of Linux at a level necessary for developing and optimizing high-load services: processes and threads, system calls, memory, I/O, network, file descriptors.
- Conduct profiling and load testing.
- Optimize concurrent code.
- Design efficient data structures and algorithms.
- Control allocations and memory consumption.
- Work with GC and understand its impact on latency.
- Integrate C/Rust SDK with Go; deep knowledge of C/Rust is not required, but the ability to read others' code and documentation is necessary.
- Use lock-free/wait-free approaches and atomic operations when necessary.
- Read code in Python, C, Rust, and preferably PHP.
- Use linters and other code quality control tools.
- Work with SQL databases using transactions.
- Work with external queue brokers, caches, etc.
- Build Docker containers to improve the development process.
- Write make and bash scripts.
- Use AI tools in development to enhance productivity — while independently verifying generated code, tests, and technical solutions and taking responsibility for the results (AI-assisted development).
- Read documentation in English.
Requirements
- Code alienability and code closure (therefore cpython or pyinstaller is not suitable).
- Transition of some libraries (SDK) from C to Rust.
- Memory limitations arise.
- Need to ensure performance of about 1000 rps.
- Need to implement service monitoring mechanisms both when deployed in our infrastructure and in the client's infrastructure.
- P.S.: We do not want to use Rust in this project, as we do not have competencies in this language.
Conditions
- Full-time employment.
- Work schedule: 5/2.
- Work format: remote, hybrid, or office.
✓ Direct apply: you message the hiring person. No ATS.