NTT Communications (Tokyo, Japan)
October 2020 - Present, Senior Software Engineer, Platform Services
- Backend Development for Firewall and Managed Load Balancer of Smart Data Platform
- Team & Role
- Tech Lead / Developer on the team of 5+ people
- Mission & Responsibilities
- Backend Development using Python (Tornado)
- Designed and implemented REST APIs to provide self-managed firewalls and fully-managed load balancers.
- Designed and implemented background jobs (workflows) to deploy network products (e.g., vSRX) on virtual servers and configure them via REST APIs.
- Designed and implemented monitoring systems to collect metrics from network products (e.g., vSRX) via REST APIs and SNMP.
- CI / CD Pipeline Management
- Configured CI pipelines to integrate pytest using Prow, and to integrate Ruff using GitHub Actions.
- Configured CD pipelines for Blue / Green Deployment on Kubernetes using Argo Rollouts and Tekton.
- Infrastructure Automation
- Developed Ansible modules and playbooks to automate provider configurations via backend APIs.
- Developed Terraform providers to enable users to manage Firewall and Managed Load Balancer resources.
- Documentation and Testing
- Authored API references using OpenAPI and implemented scenario tests using Postman.
- Accomplishments
- Managed Load Balancer: Designed the backend from scratch, designed the frontend interface, and collaborated with product and operation teams to define service specifications, successfully achieving the planned release.
- Firewall: Established a method to migrate the backend infrastructure from virtual servers on-premises to Kubernetes on the cloud service, and completed the migration in production without issues.
- Internal Software: Contributed to overall quality of the service by fixing bugs and enhancing features to the in-house application framework and CI / CD tools, and sharing these improvements with other teams.
April 2016 - September 2020, Software Engineer, Platform Services
- Backend Development for Baremetal Server and Dedicated Hypervisor of Smart Data Platform
- Team & Role
- Scrum Master / Developer on the team of 10+ people
- Mission & Responsibilities
- Backend Development using Ruby (Ruby on Rails, Sidekiq)
- Designed and implemented REST APIs for on-demand provisioning of physical servers and hypervisors.
- Designed and implemented background jobs (workflows) to configure BIOS / UEFI of physical servers using BMC (iLO, iDRAC, iRMC, etc.).
- Designed and implemented background jobs (workflows) to install operating systems (e.g., RHEL/CentOS, Ubuntu, ESXi) on physical servers using PXE, Kickstart, and Preseed.
- Designed and implemented monitoring systems to collect metrics from physical servers via REST APIs and SNMP.
- CI / CD Pipeline Management
- Configured CI pipelines to integrate RSpec using Jenkins, and to integrate Rubocop using GitHub Actions.
- Configured CD pipelines for Blue / Green Deployment on virtual servers using Jenkins and Ansible.
- On-premises Backend Infrastructure Operations
- Maintained and managed Redis and RabbitMQ.
- Built monitoring and logging platforms using Consul, Fluentd, Elasticsearch, and Kibana.
- Accomplishments
- Release Automation: Reduced operational workload and minimized human errors by automating release processes using Jenkins and Ansible, ensuring idempotency and consistency.
- PXE Issue Resolution: Resolved RHEL / CentOS boot issues via iPXE by evaluating and introducing pxelinux, successfully achieving the planned release.
- Process Improvement: Contributed to reducing construction period for region and group expansions by collaborating with the delivery team to redesign and optimize procedures and processes.