Jey Kottalam, Developer in Berkeley, CA, United States
Jey is available for hire
Hire Jey

Jey Kottalam

Verified Expert  in Engineering

Computer Science Developer

Location
Berkeley, CA, United States
Toptal Member Since
May 14, 2020

Jey is a computer scientist specializing in high-performance system software, machine learning, mathematical optimization, and related areas. He has created predictive tools, libraries for conducting massive data analysis, contributed to the development of frameworks, and worked as a research engineer at the University of California, Berkeley. Jey is an accomplished software engineer proficient across a multitude of back-end technologies.

Availability

Part-time

Preferred Environment

MacOS, Linux, Java, Python, Rust, Julia, C++, C, Algorithms

The most amazing...

...machine learning system I've developed dynamically personalizes shopping experiences by predicting which items each user will like the most.

Work Experience

Senior R&D Engineer

2013 - 2019
University of California, Berkeley - EECS Department
  • Contributed to the Apache Spark cluster computing framework. Focused on Python API performance optimizations and platform compatibility issues and provided technical and engineering support to outside collaborators.
  • Developed an interface to Apache Spark in the Julia language. Julia is a programming language for high-performance numerical and scientific computing applications.
  • Created RISE Camp software for conducting web-based training workshops on cluster computing and cloud computing. Implemented using Jupyter notebooks, Docker containers, Node.js, and PostgreSQL.
Technologies: Apache Spark, Julia, Python, Java, C++, Scala

Research Fellow

2014 - 2017
Berkeley Institute for Data Science
  • Developed Alchemist, a C++ library for conducting high-performance massive data analysis from within existing Apache Spark pipelines. Alchemist provides for calling MPI-based distributed linear algebra routines from within APIs native to Apache Spark.
  • Held regular office hours to assist research scientists and graduate students in designing and developing analyses, debugging code, architecting solutions, and general technical and engineering support.
  • Performed research and development activities in statistical algorithms and computational statistics.
Technologies: Statistics, Linear Algebra, Jupyter, Julia, MPI, C++, Python

Principal Consultant

2007 - 2013
Adjective Noun, LLC.
  • Provided software design, development, and debugging services in cloud computing, interpreters, servers, databases, and other user-space systems software in Linux, Mac, Unix, and Windows environments.
  • Designed and implemented an algorithm in C++ for evaluating outcomes in a probabilistic decision analysis application.
  • Created network traversal layer in Java for a P2P application to resolve problems encountered when running on end-user networks that employ network address translation (NAT).
  • Developed an extensible and power-efficient embedded Linux distribution for use in touchscreen kiosks.
Technologies: SQL, Ruby on Rails (RoR), Embedded Linux, Python, C++, C

Compiler Software Engineer

2005 - 2007
Coral8, Inc.
  • Contributed to the compiler for a streaming data query language based on SQL, implemented in C++.
  • Implemented multiple language features including scalar variables, inline schemas, type inference, constant expression folding, and write-to-database.
  • Completed several projects in the query optimizer, execution plan optimizer, internal representations, and infrastructure.
Technologies: Prolog, SQL, Relational Algebra, C++

Taste

Created a machine learning technology to predict which items a user would like the most. Conducted research and development in personalized ranking, active learning, mechanism design, collaborative filtering, and information retrieval. Technologies used: C++, OpenMP, Julia, Python, TensorFlow, BLAS, LAPACK.

Alchemist

Alchemist is a C++ library for conducting high-performance massive data analysis from within existing Apache Spark pipelines. Allows calling MPI-based distributed linear algebra routines from within APIs native to Apache Spark.

GCC-CIL

A compiler back end for GCC to target the Common Language Infrastructure (CLI), better known as Microsoft's .NET or Ximian's Mono. Allows for any language supported by GCC to be compiled to run on the CLI, including C, C++, Objective C, Pascal, Fortran, and Ada.

Autonomous Vehicle Grand Challenge Team - University of California, Davis

Coordinated development of navigation and control software in C++ and Python for an autonomous vehicle for the DARPA Grand Challenge. Established coding standards, software development processes, and system design. Developed core libraries and guided other developers in their designs and implementations.

Languages

SQL, C++, Python, Julia, C, Reason ML, Rust, JavaScript, Java, Scala, Prolog, OCaml

Frameworks

Boost, Spark, Apache Spark, Hadoop, Google Test, Express.js, React Native, Ruby on Rails (RoR)

Libraries/APIs

PySpark, Node.js, Keras, TensorFlow, React, MPI, PyTorch, Win32 API

Tools

Valgrind, CMake, Buildroot, Chrome Developer Tools, Jupyter

Paradigms

Parallel Programming, Cross-platform, Metaprogramming, Template Metaprogramming, ETL, Dataflow Programming, Distributed Computing

Platforms

Docker, Linux, iOS, Android, Amazon Web Services (AWS), Google Cloud Platform (GCP), Embedded Linux, MacOS

Other

Software Architecture, Performance Optimization, Algorithms, R&D, Machine Learning, Scientific Computing, Mathematical Modeling, Deep Learning, Google V8, React Native Bridge, Operations Research, Cloud Computing, Compilers, Database Engines, Combinatorial Optimization, Computer Vision, Linear Algebra, Statistics, Relational Algebra

Storage

PostgreSQL, Google Cloud Datastore, Redis, Databases, MySQL

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring