Japanese Government (MEXT)
Working remotely as a full-stack software engineer. The main stack we use consists of TypeScript, NodeJS, and React. A large part of my work consists of implementing vertical features, usually spanning a large chunk of the stack. I also act as a lead engineer of balenaCloud's dashboard and Rendition (our UI components library), making sure that we maintain an architecture that can grow and scale over time. I have also been screening candidates during the first two hiring stages for frontend positions.
Worked in a distributed team as a full-stack developer in the business intelligence support section, developing an internal business intelligence web application aimed at the e-commerce business consultants. The technical tasks included efficiently aggregating the vast amount of data in Rakuten using Hive and Hadoop, creating API's to serve the data to our and other projects, and building the front-end and creating effective visualizations using React. I introduced modern development tools to the project (such as ESlint and Prettier), rearchitected the entire web application and Redux store, and brought unit and E2E test coverage from 0% to 30%.
GPA 9.93/10. Graduated with honors.
Aida is a data and endpoint modeling tool. You can document your data models from different parts of the system in one place and share commonalities between them, representing a single source of truth. It allows you to unify how your data models and endpoints are defined, with all the necessary metadata being co-located. The project was started to speed up development on a personal project and it was recently open-sourced. More details here.
This paper aims at improving our understanding of code examples. Consisting of two studies, the first study is concerned with investigating the current situation of coding examples, common problems, and potential metrics that can be used to evaluate examples. The second study is concerned with collecting code examples data to be used for further analysis, definition of traits and features for code examples, creation of code example clusters, and analysis of the patterns that emerge from existing examples. Results show that current example vary in both quantity and quality. Moreover, three patterns with two subpatterns per pattern emerged, which can be used to categorize examples and further used to develop automated example evaluation tools.
Navigating source code is at the core of software development, consuming a significant amount of time and effort. Navigation is typically done using the mouse, which in many cases may not be efficient and usable, as it causes context switching and interruptions. EyeNav brings eye tracking to code editors. It allows for a more natural source code navigation, controlled by the developer's gaze and keyboard shortcuts. It is a production-ready Brackets.io plugin that allows anyone with an eye tracker to start using it immediately. Demo video and source code.
It is not unreasonable to say that examples are one of the most commonly used knowledge sources when learning the usage and best practices of a new API. In order to resolve the problem of lacking examples information and feedback in their creation, our goal is to develop metrics for empirical measurement of examples and to offer support during the APIs example creation steps. This paper represents an exploratory study of the current situation of examples, while introducing potential metrics for measuring examples.
Productivity has always been considered a crucial factor for the success of any business, and the same applies to software development. As a result of software development being almost entirely a cognitive task, problems in cognition highly correlate to problems in productivity. In order to detect cognitive failures, fatigue, and lack of attention, we propose a conceptual model of a system for continuous monitoring of developers' neural state using an off-the-shelf device.