Hello, I'm Alex Narayan

Backend data engineer: SQL engineer and experienced Python developer

alex@alexandarnarayan.com

What I am all about.

At 10 I took apart the father’s work computer – an old 486 – to see how it worked. Before he arrived home from work I had it put back together and working. Thus began a lifelong obsession with all things computing.

1.5TB of data migrated to CockroachDB on K8s

I was tasked with choosing a new database around the time my team was transitioning our stack to Kubernetes. I quickly took ownership with the task at hand and got right to work learning all I could about the "cloud-native" databases at the time. Constraints being what they were, it had to be a relational database with a SQL interface and after evaluating many databases ultimatley I made the case to the team that CockroachDB was the best choice at the time. I wrote the migration scripts to migrate 1.5TB of data from our legacy platform onto our on-prem Kubernetes environment utilizing a local S3 backend.

Running Databases on AWS

At Logward GmbH & Co. KG I rapidly spun up database infrastructure and right-sized instances on AWS balancing cost and performance while learning the inner workings of the logistics industry. I leveraged skills gained as a SQLServer DBA to teach myself the nuances of, and to host and adminstrate PostgreSQL, MySQL, and MongoDB. I also delivered microservices in C# using the .Net Core 2.1 framework with RESTful APIs. I can appreciate the benefits of hard work initially and prefer a functional makefile and CI/CD pipeline to many manual steps.

GDPR compliance requires an acute attention to detail

In the current GDPR environment attention to detail and stewardship of data matter now more than ever. My background in databases and database administration has taught me the value of paying attention to the details. For example, a junior engineer might not know that floating point precision rounding issues with the float datatype are alleviated when the decimal type is used in cases where money is to be stored or computed. My background in databases has shaped me to appreciate the details and nuances others might miss and has made me a better polyglot developer.

Tests are just the start

I relish writing good, robust, tested code. Since what I deliver has my name on it I want it to be the best it can be and be delivered on time. I also appreciate that code is never perfect, and I am a believer in testing as well as quickly iterating on delivered code to ensure it betters the product.

"A good communicator and a peace maker."

I have learned that nothing gets done without communication and that things get done faster and with fewer bugs when communication is optimal. Early on in my career, I worked with a team of senior DBAs (database administrators) and C# developers. The DBAs and developers spoke seemingly different languages and I often found myself acting as a go-between. I also facilitated collaboration with our dedicated quality assurance engineers. For example, I often helped convey to the developers exactly what went wrong when a migration failed, or why the DBAs rejected some code in a review.

Solve problems and help others; Let the data decide

I know that problems don’t solve themselves. After determining that Microsoft wouldn’t fix a SQLServer bug in table replication -- a SQLServer feature that Corvel used heavily -- I wrote a prototype fix in Python 3 to solve it. After proving that it worked it soon became obvious that my fellow DBAs were keen on using it, too. But as my new internal customers they wanted an easier interface than a python command-line tool. So I created a GUI in Tk. I later moved it to C# and WPF for the GUI. Hearing a senior DBA say how happy he was to have such a tool and how much time it now saves him is still one of the best compliments I ever recieved as a DBA. While at Logward I prevented a move to a new character encoding by proving that MySQL 8.0 handled German language characters properly in UTF8MB4. I showed a calm, data driven approach, that saved our team substantial time in refactoring our codebase.

Expertise

SQL

Joins, anti-joins, window functions, etc., this is where I am most at home. I find the language powerful and very useful. And the nuances between SQL engines and queries make optimizing an art rather than a science.

Python

The terse clean syntax almost ruined me for other languages. I am very excited with the direction Python 3 is going. AsyncIO and other frameworks will carry the language well into the future.

Linux

I have managed databases running on AWS AMIs on EC2. I run Linux as a desktop development environment as well. It runs my home lab, my VMs, and as host to my many docker containers. I am most comfortable at the terminal and am getting better and better every day at Vim.

Docker

By far and away the coolest, most useful abstraction built atop Linux is, in my opinion, Docker. It has done more to help improve my productivity than anything else. For 90% of use-cases Docker Machine and Docker Swarm will get the job done. I like to focus on building the leanest, most performant containers I can.

Core Comptencies

General SQL
75%
T-SQL
85%
Database Administration
90%
Python
75%
Flask
65%
Linux
80%
Docker
85%
Communication
90%
Kubernetes
70%
AWS
80%

Work Experience

2018 - present

Software Developer

Finleap Connect

Hamburg, Germany

2018 - 2018

Software Developer

Logward GmbH & Co. KG

Hamburg, Germany

2017 - 2018

Enterprise Datawarehouse Developer

Corvel Healthcare Corporation

Portland, Oregon, USA

2013-2017

Database Administrator

Corvel Healthcare Corporation

Portland, Oregon, USA

Education

2015

Object Oriented Programming in Java

Coursera.org

In partnership with the University of California San Diego

2008-2013

Bsc Financial Economics

Brigham Young University-Idaho

Rexburg, Idaho, USA

Interests

Cooking

Salmon, crab, and steak are the main ingredients in dishes that I love to cook. I also enjoy BBQ'ing in the summer. But nothing beats the memories that a good crab curry brings.

Building Computers

The passion for building and learning hasn't ceased. I have built all the homeservers and desktop computers I ever used from parts I found used or for cheap online. We didn't have much growing up so I had to be frugal and resourceful. When I was 15 I ran a telephone computer support service from my home. I didn't charge anything for my help but gained knowledge by helping people solve problems I had not seen before. People were often so impressed that they would offer to pay for me to implement the fixes so my dad and I made house calls. It was a lot of fun and a great way to make some extra cash that summer and spend time with my dad.

Podcasts

What started as a way to fight the boredom of the daily routine into and from work, Podcasts have become an integral part of my daily routine. In a given week I probably listen to 20+ or more podcasts.

Contact

Address
Billwerder Billdeich 268a
20133 Hamburg Germany
Phone Number
+49 173 376 3032
Email
alex@alexandarnarayan.com