I wear many hats in this job. I do all kinds of works related to software engineering including multiple Android and iOS apps, websites using React, and macOS applications/frameworks using Objective-C and Swift.
As a member of the incubator division of the company, I contribute the team with ideas that may or may not become a MVP product. I write MVP proposal documentation, along with building a proof of concept software product, so the team can better see what the idea could appear.
The latest project involves Google Apps Script to automate Gmail inbox, to call Firebase Functions to store some data in Firebase Cloud Firestore. The system also has a website where users can sign up or sign in, whose backend was built with Firebase Authentication, written in React.
I also wrote an OAuth2 wrapper around Firebase Authentication as Firebase Functions endpoints, so users can set up the system and make their own IFTTT recipe. I built a few IFTTT API endpoints too. All written in TypeScript with unit tests.
As an Android engineer, I wrote two apps that is built with MVP pattern, using RxJava, Retrofit, Dagger2, and other modern libraries.
The latest Android app I wrote was written from scratch in Kotlin with serialization and coroutines, that generates MP4 movie, animated GIF and SVG from what are rendered on the screen of a device.
As an iOS engineer, I am writing from scratch an app that is built with MVVM/Coordinator using RxSwift, Alamofire and hand-made dependency injection mechanism to make them easier to write tests. All scratch in Swift.
The latest iOS app I wrote was written from scratch in Swift 4.2, that generates MP4 movie and animated GIF from what are rendered on the screen of a device.
I also wrote a simple SPA website for one of those apps I built above using React.
I also wrote a Sketch plugin using Objective-C and accessibility API of macOS.
Though not in my title, I was the technical founding member of Peatix. Since I started to write the first line of code for the service, I architect its system design including on which server in a network to put a particular component, and object oriented design of each component, and coding style of each line of code. I was also a primary software engineer of its iOS app _and_ two Android apps. I was the devops of the service; on-call 24/7 fix bugs and respond to escalation call from customer support center. Orinoco KK became Peatix Inc.
Since the company decided to offer Peatix at around December 2010, a premier online event management and ticketing service, I have single-handedly architected, designed and wrote code from the scratch for the service, ground up based on Perl/Catalyst, MySQL, Memcached. Since the launch of the service, it expands its reach beyond Japan to Asia (Singapore, Malaysia, Australia...) and Europe, and the US, hosted more than 250,000 events, attended by more than 2,000,000 users.
Our two Android apps (one for event attendees and the other for event organizers) were completely written solely by me. The first version was built and shipped during pre-GingerBread era, but I used my spare time and weekend to rebuild it to then-new Material Design based and shipped it in 2 months.
I have written more than 80% of its codebase since launch for 7 years, including but not limited to fairly new parts such as the search page which consist of AngularJS backed frontend and Twiggy backed non-blocking web technology (HTML5 SSE). I was also one of the three software engineers who write code for our iOS apps. I have also been mostly if not the only person who works as an operations engineer for the service, playing as a one stop technical contact for the other team members such as sales, marketing and customer support.
Presented Peatix at NY Tech Meetup (April 2014).
Gave a talk at New York Perl Mongers meetup (August 2014).
Managed a team of engineers responsible for the planning, design, implementation, testing and shipping of a blog-CMS web service. Report lines included Product Management, Engineering, Quality Assurance, Operations and Customer Support personnel.
Oversaw software development projects from the planning stages to shipping and support, including all related activities including design, developing specifications, writing codes, coordination of quality assurance activates, and operation of hosted services while performing high-level engineering tasks as necessary.
Launched its US version of the blog service in Japan. I was the project lead.
Acted as an engineer working remotely for its US version of the service. I had primarily been assigned to fixing bugs and implementing features escalated from Japanese customers. I had also been the translator responsible for ja locale. Director of Operations of the service had also been in my title for which I had been responsible for escalation from Japanese customers and customer support team.
Shipped all versions of Movable Type since version 3.3 until version 5.0 as engineering manager.
Served as a technical liaison between Six Apart's offices in the U.S. and Japan.
Gave a talk at YAPC::Asia 2008 "Hacking Movable Type".
Was the one-stop contact point for Japanese Amazon Web Services developers on the online forum and emails, to provide technical support.
Spoke at conferences about "Real World Web Services" in general and Amazon Web Services. Some include IDG Web Services Conference, Shoeisha's Developers Summit, and NikkeiBP's Technology Forums and more. The theme sometimes is not only Amazon Web Services but general Amazon.com stance on technology.
Worked as an "ambassador" of Amazon.com technology for Amazon Japan office.
Helped designing new APIs for Amazon Web Services development team.
Spoke Microsoft technologies in the technology conferences.
Wrote articles about Microsoft .NET Framework, XML and Web Services. Examples can be found online:
Wrote two books about C# and VB.NET programming
Translated three key Microsoft .NET books.
Helped as a consultant design and implementation of its first Microsoft ASP.NET based solution for a system integrator.
Trained more than 100 systems engineers of Hewlett Packard's about C# and .NET programming.
Trained customers of Microsoft Developer Marketing division and Microsoft Partner Marketing division about C# and .NET programming. The whole 100 pages of material for the course were also written by myself.
Ran the XML training and certification program. Wrote more than five training materials of XML technologies including XPath, XSLT, XML Schema, XML Security, SOAP, WSDL and UDDI. I also gave "train the trainer" courses for each material.
Designed and implemented reverse auctioning system for supply chain of a large company, using Java, JSP/Servlet and SQL Server.
Led the team to implement the company's own software for XML-based EAI system.
Helped as a consultant a joint experimental project by Microsoft and Unisys about XML Web Services.
Spoke XML technologies in the technology conferences. Examples can be found online:
Wrote more than 50 articles for web and paper magazines about XML related technical details. Examples:
As a Microsoft Certified Trainer, trained more than 1,000 students various Microsoft products. I was specialized in Visual Studio development software which included Visual Basic, Visual C++, Visual InterDev, Visual J++, and COM/DCOM/MTS/COM+ in general.
Implemented systems for demonstration in Microsoft technology conferences. The biggest system among them was implemented using Microsoft BizTalk Server 2000 which incorporated XML-based messaging that communicates mobile phones and IBM AS/400.
Designed and implemented custom authentication in Windows 2000 Active Directory for elementary schools for Microsoft.
Wrote articles for web and paper magazines. Examples can be found by the following query:
Spoke Microsoft technologies in the technology conferences such as Microsoft TechEd Japan (from 1998 to 2004), Micrsoft Developer Days and Microsoft Professional Developers Conference. Examples can be found online:
Implemented, tested and helped designing the company's own (then new) human resource management system. It manages more than 3,000 employees from hiring and promotion to transfer and resignaion. The system is written using Microsoft Access 2.0.
Researched and introduced new software development environments to engineers and managers. My responsibility was focused on software development environments including Microsoft Visual Studio, Borland and Oracle development products and Java software development kit. The monthly technical newsletter published internally within the company had my column in which I wrote about these products ranging from introduction to the new version to answers to frequently asked questions from engineers.
Trainged the company's engineers how to use these software development products. I was specialized in Microsoft Visual Basic, Oracle PL/SQL and Microsoft T-SQL. The training course was designed by myself with help from senior colleagues.
Created a library that allows apps to communicate with a Levi's jacket powered by Google Jacquard.
I created the library by watching how the jacket and the official app communicates over Bluetooth, analyzed what data mean what, and reproduce the knowledge as an Android library.
Bachelor of Liberal Arts, International Christian University Tokyo, 1994
Japanese and English (TOEIC 935, 2002)
Had worked for a team based in Seattle, WA where I was the only remote member of the team.
Had worked for software engineering team distributed among San Francisco, New York, Paris and Tokyo. I was reporting to the CTO in the San Francisco office remotely.
Working at the company's New York office, with sales reps and a designer who are hired locally in New York.