A Pragmatic Programmer living In Japan since 2004. I like programming, tinkering, hacking. Checking new languages, frameworks, trying new ideas.
- Mainly proficient in Ruby and Go
- Debian & Emacs user. Very comfortable in unix environments and writing bash scripts
- Extensive knowledge of AWS resources. Hands on experience with EC2, S3, EMR, Dynamo, SES, IAM, Route53
- Early adopter of Continuous Integration and Continuous Deployment. Proficient in GitlabCI / CircleCI / Docker / Kubernetes
- Experience with TDD, BDD, Agile and GitHub driven development
- Functional programming background
- Experience writing Legacy languages such as, Java, C, PHP
- Experience in designing and implementing Restful and GraphQL Web APIs.
- Some experience with Game development libraries such as Cocos2dx and Gosu.
- Embedded applications development experience with Go & RaspberryPi
- Front End development experience with React and Vue.js. Some Angular and Node.js experience.
stack I’m currently using or have used recently:
- Frontend Tools: React, Vue.js, BootStrap, EcmaScript6, Hugo
- Backend Tools: echo, gorm, RubyOnRails, GraphQL
- Testing, Benchmarking and Profiling: RSpec
- Persistance: Postgresql
- DevOps, CI & CD : CircleCI, Travis, Docker
- CVS : Git
stuff I’ve used in my older stacks :
- Frontend Tools: Angular, CoffeeScript, Jekyll, Slim
- Backend Tools: Gin Gonic, Grape, Sinatra, Node.js, Varnish, Fluentd
- Testing, Benchmarking and Profiling: Cucumber, RackProfiler, JMeter, AA
- Persistance: mongoDb, MySql, redis
- AWS: EC2, ELB, S3, CloudFront, IAM, RDS, SES, SNS, Route53, DynamoDb, EMR
- DevOps, CI & CD : Gitlab CI, Ansible, Puppet, Chef, Vagrant, Jenkins
Software Developer, Mitsubishi/Warex Project
Tokyo — February 2020 - Present
- Backend/API development for Warex Warehouse Management & Automation Project
API development in Go lang. Stack includes Gorm, Echo, Logrus, Google Cloud Platform, MySQL, Redis, Kubernetes
Senior Developer, Robotfund
Tokyo — March 2018 - February 2020
- Fullstack development of LINE fund information platform “未来のコツ”
Stack includes Ruby on Rails, AWS, Postgres, LINE integration, Reuters/Refinitive API integration, React.js, ImageMagick image processing
- Fullstack development of fund information platform Better World (discontinued)
Stack includes Ruby on Rails, AWS, Postgres, Reuters/Refinitive API integration, React.js
Contract Developer, Iron.io
July 2017 - July 2019
- Support and maintenance of Open Source serverless platform, Iron Functions (Go lang)
Senior Software Developer, Allm Inc
Tokyo — December 2014 - March 2018
API / Backend development for content sharing and publishing platform (to see an example application which uses our platform, check Kidint)
- API development using Ruby On Rails
- AWS Integration
- Front End Integration using Angular
Wifi based customer tracking platform to retail BI application (Followup).
- Standalone service development for IoT and peripherals (Go lang service which runs on raspberry pi, integration with BLE beacons and wifi)
- IoT massive deployment & peripheral management
- API development in Go
API development for triage application FastED
- API development using Grape (Later ported to GraphQL)
- Admin panel (Angular and bootstrap, later ported to Vue.js as static site served from S3)
- CI & CD (GitlabCI & Docker)
Developer, Aiming Inc
Tokyo — June 2014 - December 2014
Developer of the API backend for a popular MMORPG for mobile platforms. 幻塔戦記 グリフォン
- API development using Ruby, Padrino framework
- Participating in an Agile development environment within a dynamic team with tight deadlines for difficult problems/enhancements
- Experience developing for a hit game with thousands of daily active users and hundreds of thousands of total registered users
Dev Ops Engineer, Kii Inc
Tokyo — August 2012 - April 2014
Assumed various tasks to bring Kii Cloud up to spec with its competitors, Parse, Kinvey, StackMob. Kii Cloud is a multi region mBaas with special focus on the Asian market.
- API usage tracking and logging (3scale, Varnish-Cache, fluentd)
- Payment Integration (via Zuora and Paypal)
- CloudCode maintenance (node.js)
- Developer Portal development (Ruby on Rails, Backbone.js)
- Various automated tasks (reports for high touch customers, special requests to tune AWS resources, etc. written in Ruby / Bash deployed with puppet)
Dev Ops Engineer, Mobilous Inc
Tokyo — August 2011 - July 2012
Assumed lead DevOps/CloudOps position in Mobilous. Mobilous is a indie venture set to create the easiest way to create Mobile apps with a web based drag and drop interface, and build and publish them in multiple app stores.
- Design and implement flexible and scalable EC2 cloud infrastructure A complex structure where we can monitor health, service status, workload of our client instances, which is able to create new instances on demand and distribute workload by user request. The whole service infrastructure is built using Ruby/Bash and integrates seamlessly with a user admin dashboard running on Ruby on Rails.
- Minor participation in Glassfish AppServer component, which is responsible for interfacing client PostGres DB to user application. (Java on Spring framework)
- Some web page automation script with PHP/Selenium. (Automatic entry of some forms)
- iron_functions: | Maintainer of Open Source serverless lambda functions framework Iron Functions since July 2017. GitHub link
- kii_sdk: | Kii Ruby SDK (SDK written in Ruby to use Kii Cloud)
- invaderoids: | Invaderoids, an Asteroids clone, made with gosu, written in Ruby
- B.S. Computer Science, Istanbul Bilgi University, 2000 ~ 2004 (Department closed in 2012. Reorganized as Computer Engineering)
- M.S. Computer and Information Sciences, Keio University, 2006⁄09 ~ 2008⁄09
- Ph.D. Computer and Information Sciences, Keio University, 2008 ~ not completed
Digital circuit design, Microprocessor Architecture, Instruction Set Architecture, Embedded Systems, Memory Usage Optimisation
- 2011: Cache Implementation for Echo Instructions on an Embedded Processor
IPSJ Transactions on System LSI Design Methodology(TSLDM7)
- 2009: Code Compression with Split Echo Instructions
IEICE Transactions on Information and Systems
- 2009: Embedded World Conference, Nuremberg Germany, 2009
Design and Implementation of Echo Instructions for Embedded Processors
- 2006 - 2011: Monbukagakusho Scholarship during Masters and Ph D. studies in Japan
- 2000 - 2004: OSYM Scholarship for B.S. study in Turkey (Graduated with 3rd highest GPA)
- Turkish: Native
- English: Fluent (TOEFL 263 - 2004)
- Japanese: Business Level (JLPT 2 - 2006)
About this site
I was introduced to computers at a very early age in my life. My first computer was a msx clone which I got when I was 5 years old. After that I got a commodore 64, and eventually an Amiga 500. I got my first PC at 1996, which is also the year I began studying Architecture in Istanbul Technical University. Unfortunately, after two years, I realised it was not what I wanted to do. Between 1998 and 2000 I was busy with my band, and trying to decide what I wanted to do with my life. My band was called Pagan which I formed with some high school friends. We were one of the first Black Metal bands to come from Turkey. In the mean time I began working in an Internet Service Provider which were quite new. Internet was getting popular in Turkey at that time, with people using dial up services with 56k modems. I was interested in this new technology, mainly because I had a 14k modem since 1996 and was using very first Internet services like ICQ, e-mail, IRC for a while.
The first ISP I worked for was SuperOnline, one of the most important initial ISPs of Turkey. Today they are still around, but not as big as they used to be. I started as a technical support desk agent there, as I knew how to use the internet, and could help people get connected. While I was working there, I was inspired by the IT industry and decided to do my major in Computer Science. In year 2000 I began my studies in Istanbul Bilgi University. Bilgi University is a private university, but I had scholarship from Turkish government so I didn’t have to pay tuitions. At the same time I began working in another ISP called NetOne. NetOne was a smaller company than SuperOnline, but they had a more high end clientele, they served mostly corporate customers. They had their own satellite link through their partner company Satko, which provided satellite communications. In this regard, NetOne was one of the few ISPs in Turkey with their own dedicated satellite link.
In 2002, I quit my job at NetOne to focus on my studies. The Computer Science department of Istanbul Bilgi University was run by English Chris Stephenson. Unlike other Computer Science/Engineering departments in Turkey, which followed MicroSoft industry standards in their curriculum, Bilgi University teached in Java (which was new at the time), thought Functional Programming (with Scheme), and basic Computer Science subjects in a free and Open Source environment. It was here when I first learned to use Linux, and get to meet one of my personal heroes, Richard Stallman in person and get initiated in the church of Emacs.
During my studies in Bilgi University, I got captivated by Japanese culture, and began taking Japanese lessons. I spent the summer of 2003 in Japan in volunteer workcamps organised by NICE. After my graduation I moved to Japan by the end of 2004. In 2005 I started taking Japanese lessons in Takushoku University and researched post graduate opportunities in Japan. In 2006 I got accepted to Keio University Computer Science master’s programme. I studied in Amano Laboratory in Keio University, and my research topic was memory optimization for embedded processors. I got my master’s degree in 2008 from Keio University in Master of Engineering in Science. From 2008 to 2011 I studied for my Ph D in Keio University in the same laboratory and field. Unfortunately during this time, I realised I wanted to work on a more software related field rather than hardware, so I quit my studies in 2011 and began working for my first company, Mobilous.