Rakuten logo

Golang and C++ Developer - BSS Backend Development Section, BSS Development Department (BSDD)

Rakuten
Full-time
On-site
Tokyo, Japan

Job Description:

Business Overview 
The Technology Platforms Division (TPD) drives the growth of the Rakuten Ecosystem by delivering innovative, high-quality technology platforms characterized by integrated control and strategic partnerships.


Within TPD, the Telecom Business Application Supervisory Department (TBASD) develops and maintains a unified, high-quality Business Support System (BSS) for Rakuten Mobile. We deliver agile, scalable solutions across the customer lifecycle and continuously enhance system performance through close collaboration with stakeholders.

Department Overview  

At BSS Development Department (BSDD), we are managing and evolving the Business Support Systems (BSS) platform, a critical backbone of Rakuten Mobile services. The main functions that BSS provides are: end-customer touchpoints (front-ends, mobile applications for onboarding and for plan management), billing and integration with the core systems of Rakuten Mobile.  

Just as Rakuten Mobile has disrupted the mobile industry, we're committed to delivering exceptional value to our business partners and end customers by seamlessly leveraging the wide Rakuten Ecosystem. With a long history of software engineering as a service company providing social infrastructure, we value the speed and quality of our delivery to maximize customer satisfaction.  

Our mission is to provide a unified BSS platform that spans across the different business lines of our telecommunication businesses. Having just finished the initial build-up phase of the platform, we are actively looking for talented individuals to make our organization and platforms stronger with teams spanning Japan, India, China, and Singapore.  

Position:   

Position Details 

We are looking for Golang and C++, microservices professional with experience range 8 - 10 years who can lead the team of 2 to 3 members technically. 
Key Responsibilities: 

- Works with the solution Designer/Architect to understand and clarify business requirements

- Develop microservices which are Rest based or Event based using C++, Golang and Kafka 

- Lead and mentor junior developers and drive them into technical discussions 

- Coordinate cross-functional teams to deliver on the activities for existing technology solutions 

- Responsible to do the code reviews with the team members  

- Ensuring micro service system architecture is well-maintained as per standards and core principles of business 

- Participate in Sprint planning, system architecture, solution design and technical detailed design meetings 

- Deliver High Quality Code with adheres to standards and best practices 

- Present development progress updates to the teams and stakeholders 

- Be responsible for assessing current software development practices and principles to identify and implement process improvements 

Mandatory Qualifications: 

8-10 years of experience in software development life cycle including requirement analysis, development, integration, testing using C++, Golang 
Technical Skills: 

- Very Good understanding and knowledge of Data structures and Algorithms 

- Good Hands-on experience of web services, Rest APIs and gRPC using Golang 

- Experienced in implementing applications in Microservices architecture 

- Strong knowledge of Go programming language, paradigms, constructs, and idioms 

- Hands on experience in using Maps, Structs, Slices, Interfaces, Methods, Marshal, Un-marshal, Goroutines, bidirectional channels & directional channels 

- Developed Kafka consumers & producers to handle events asynchronously 

- Created dashboards on Grafana and Kibana to monitor application metrics for health, liveliness, and performances

- Worked on integrated GO-Hystrix dashboard to monitor micro-services using Circuit Breaker 

- Experience with the following Databases like Couchbase DB, MySQL databases 

- Experience with container orchestration systems like Docker, and Kubernetes 

- Experience with designing, implementing, and deploying micro services in distributed systems 

Desired Qualifications: 

- Experience in developing applications using Golang technologies including Goroutine, Channels, Gokit, ORM GORM, Gorilla Mux, go - hystrix, godoc, ginkgo, GRPC, GoLand, GoCD 

- Experience using GIT, Maven, Jenkins, Sonar 

- Cloud Platform - Docker/Kubernetes/CI/CD/AWS or any other decent knowledge 

- Good Exposure on Design Patterns, API Gateways, Config servers 

#engineer #applicationsengineer #technologyplatformdiv #RakutenMobile 

Languages:

English (Overall - 3 - Advanced)