Kai Zhang
Full Stack Developer
Software Developer
2014 - Present
Opendi AG, Munich

As a member of a small and pragmatic team, it is required to play many roles during a day of work.

As new features came in, tasks are splitted immediately among members, considering everyone's skill set focus. When it's not some time pressuring task, we try to team up do some pair programming, so each of us knows more about the product and the tech behind. Recently we've been doing some TDD, and always tried to start with the higher level tests, to make sure no matter how deep down the mechanics change, the product works as expected.

We use AWS heavily, from EC2 to S3, from Route53 to CloudFront and etc, and many in the experimental phase. To use all of these, I have to learn a lot during the work, how to do CI properly, how to automate our test tasks and deployment, how to utilize more of AWS. Recently I've been developing Node.js code to run on Lambda for some cron jobs, or the endpoints to take partner data, it's been quite a pleasure to learn and work with these new techs.

There will always be some old code bases, besides maintaining them in a functional status, I try to refactor them into a more maintainable manner when I see such opportunity.

MSc in Computer Science
Otto-von-Guericke-Universit├Ąt Magdeburg
2009 - 2013
BSc in Electronic Information Engineering
Xi'an Shiyou University
2003 - 2007
PHP, Laravel
Node.js, Koajs, expressjs, aws-lambda
Python, Django, Flask
MySQL, Redis, CouchDB
Javascript, jQuery, Vue.js, gulp, webpack
HTML5, CSS, Sass
AWS, Lambda, Elastickbeanstalk, Opsworks, Route53, SQS, Kinesis Stream
git, github
CircleCI, GitlabCI