Min-Zhong John Lu
Software engineer & creative technologist with 5+ years of industry experience in full-stack web development, system architecting, UX design process & design thinking. Learns new stuff super fast, loves to write documentation, and makes things happen. (Or in professional jargon: proven track record of delivery, ownership, and adaptability.)
Professional Experiences & Projects
-
Software Development Engineer, DPReview
Amazon.com (as IMDb.com)
2017 – present
C#
ASP.NET JS MSSQL (Lots of soft skills) - Full-stack web development, in collaboration with DPReview's editorial team, product managers, and other Amazon teams.
- Owned visual & UX redesign and technical implementation of Holiday Buying Guide & Gift Guide portals; increased unique pageviews by double-digit percentage
- Owned UI/UX design and technical implementation for new mobile site features such as homepage marquee blocks and forums index's UI for increased engagement / time-on-page of double-digit percentage
- with an emphasis on keeping ease-of-use for in-house content management systems when new customer-facing features are added
- Designed & implemented in-house editorial tools for content performance analysis from Google Analytics data; strong focus on tool usability
- Owned cross-team project to bring in-house content onto Amazon marketplace to drive sales; assumed project & product management roles as well as engineering tasks
-
Full-Stack Software Developer
Plurk
2015 – 2017
Python
JS Redis Memcached MySQL AWS EC2 AWS DynamoDB ElasticSearch Linux SysAdmin - Co-planned & co-executed migration of colo servers to Amazon Web Services
- Improved performance and reduced operational cost by engineering system architectures, RDS/Aurora, Redis, Memcached, and DynamoDB usage
- Reduced DynamoDB read capacity requirement by 50%, by architecting a write-through cache mimicking CPU caches
- Reduced some Redis instances’ memory usage by 60%~70%, and comet server’s required network bandwidth by 40%, by leveraging user’s inactivity
- Alleviated long-running notification delivery job’s impact on other jobs, through a pre-emptive job aborting mechanism and by leveraging user’s inactivity
- Studied and integrated Prometheus and Grafana for infrastrucutre monitoring; designed and implemented homegrown exporters.
- Expanded Custom Emoticons as one of new paid premium services
- Designed and implemented tools to migrate emoticons from MySQL to Redis online
- Designed and implemented software architectures to realize new features, such as unlimited Emoticons storage, re-ordering, grouping
- Refactored existing modules to be more testable and extensible
- Performed vertical integration of the new features: designed APIs for official mobile apps, and for web front-end; wrote an entirely new Emoticon Manager for web clients
- Expanded notifications system
- Devised the system's new database schema, and implemented modules to support new types of notifications.
- Devised and implemented a multi-stage deployment plan that minimized impact to users and fellow engineers during migrations and feature roll-out.
- Technical debt clean-up
- Studied SQL queries and converted direct queries into structured & in-house wrappers; designed sanitization / injection detection mechanisms in the wrappers; laid out rules on constructing queries using the wrappers
- Refactored back-end and front-end modules to make them more decoupled, testable and reusable; unified semantics of modules for functionalities needed by both sides.
- Designed & implemented new features:
- “Mentioned” timeline
- “My Uploaded Photos” management
- A new version of user recommendation subsystem
- Responses editing after being posted (front-end & integration only)
- Exclusion of selected users for “Who can see my post”
- Modification of “Who can see my post” after posts have been published
-
Software Engineer (FxOS Frontend)
Mozilla Corporation
2014 – 2015
JS & ES6
Async Programming Mocha Testing Marionette.js SCRUM - Collaborated closely with project/product managers, UX/visual designers, and fellow teammates
- Co-responsible for virtual keyboard management and virtual keyboard app development & maintenance during FxOS 2.1 ~ 2.5 release cycles; major efforts spent in clearing up technical debt
- Carried out major virtual keyboard management code & architecture refactoring for FxOS 2.2
- The work was proved to brought nearly no regression
- Implemented Keyboard user dictionary (i.e., custom words) for FxOS 2.5
- Studied and tidied-up keyboard auto correction & prediction mechanism; wrote detailed documentation for it
- Co-responsible for Lockscreen features/bugs during FxOS 2.0 & 2.1 release cycles; implemented Lockscreen visual refresh for FxOS 2.0
-
Software Developer
Plurk
2013 – 2014
Python
JS Java Redis Memcached MySQL - Built real-time URL indexing/aggregation service
- Aggregation of URLs being shared by Plurk users in real time, using only one single virtual machine with 768MB RAM
- Devised an efficient and accurate scoring algorithm and data schema, which allowed real-time querying of hot URLs
- Architected & engineered server back-end infrastructure of real-time push notification for mobile app
- Delivered several millions of messages to GCM daily, with peak throughput about 100 msg/sec and minimal processing latency, using only one dual-Opteron 2yy machine with 8GB RAM
- Engineered server back-end of Plurk Mall
- Built sponsor/Campaign emoticon panel and promotion on web front-end
- Revamped emoticon panel and implementation of Emotiland, an emoticon upload and discovery interface, on web front-end
- Modified server-side comet codes for HTTPS support (with Java)
- Built real-time URL indexing/aggregation service
-
Community Staff & Plug-In / Script Creator
Messenger Plus!
2003 – 2011
Community Leadership
Software Testing Software Localization Technical Writing - Alpha & beta testing, especially for locale-dependent issues, and issues related to Plug-in & Scripting sub-systems
- Day-to-day community support, forum moderation & community affairs-related decision making
- As the coordinator of the Chinese Traditional translation team, led the team to deliver high-quality localization for the application
- Directly reported to Cyril Paciullo, then-creator of the application
- Wrote several Plug-Ins / Scripts, in Visual Basic, Visual C++, and JScript 5.6, and deep-dive documentations and tools
Personal Projects
- Hakuu
Personal Website
2017 – ongoing
ECMAScript 2017
WebGL Other Various Web Technologies Latest iteration of the "Mnjul's Intimate Home" personal websites, with an all new rain engine, and backed with a design process beginning from user stories and site maps.
Design & implementation process available on my blog.
- ambient-sound-mix
Creative / Interactive Audio
2017
Sound Engineering
Various Web Technologies Audio project that enables experimenting mixing different kinds of sounds (natural, urban, people, ...etc.) which people don’t usually encounter simultaneously within the same environment. How do people feel when hearing emergency room sounds with ocean wave sounds at the same time? Café and ambulance? Thunderstorms and cicadas? What about all of them?
- mnjul.net
Personal Homepage / Portfolio
2016 – ongoing
Typography Technologies
UX Design Processes & Writing My personal homepage, also serving as my portfolio. I heavily invested in the design process, such as brainstorming with my designer wife about what visitors would like to see, and presenting mockup/write-up to my friends & colleagues and interviewing them. This is also the first time my photography skills plays an important role in my personal website's visual design, as many of the visuals are my own photography work.
Design & implementation process available on my blog.
- Allodynia
Personal Website
2012 – 2016
HTML5
CSS3 jQuery PHP Typography Technologies Sound Engineering Personal concept website wholy created in HTML5/CSS3 (in contrast to earlier’s use of Flash), plus extensive use of jQuery and my own handrafted tools. Background music is played and synthesized by myself. I have also created my own font subsetting technique and optimized a HTML5 canvas-based raining engine.
- html-resume
GitHub Repo
2016
HTML5
CSS3 Résumé template with a sleek & professional design done purely with HTML and CSS. Requires only a modern web browser to typeset into PDF.
- webfont-loader-with-progress
GitHub Repo
2015 – 2016
JS
JavaScript webfont loader that emits ProgressEvent about how much the font has downloaded from the network; this very functionality, while usual for ordinary XMLHTTPRequests, is not found with most of the webfont loaders available in the wild.
- priority-ready-queue
GitHub Repo
2015
JS
Super tiny JavaScript library providing a two-level priority-based queue, intended as a hacky/dirty alternative for managing depedency issues between DOMContentLoaded handlers (other than struggling with fully-fledged moduling frameworks).
- SheShines / 璽賞
Branding website
2013 – 2014
Visual designFull-stack web
Product Management A jewelry designer's branding website; My teammate and I interviewed the customer, brainstormed and presented designs, and built the full website from zero.
- Mnjul's Intimate Home
Personal Website
2010 – 2011
Flash & AS3
Python Flash-based personal website to both demonstrate my ability to build a full-fledged website in Flash & AS3 (which in some time prior was something I had thought I was incapable of), and to organize my persona. It includes a unique mechanism to load exported fonts for use as dynamic ones (which was pretty decent before Flash CS5 introduced a new way).
- Administrator and creator of my server and websites, and other small software
2004 – ongoing Linux SysAdminApache2 PHP Python AWS EC2 AWS CloudFront
Education
-
M.S.
Dept. of Computer Science and Information Engineering
2012
National Taiwan University
Thesis Row Buffer Management Policies in PCM Main Memory Systems (p/w:EOBALL)Research Topics - Memory architectures with phase-change memories (joint with Macronix Int'l Co., Ltd.)
- Processor and (volatile and non-volatile) memory architectures with three-dimensional integrated circuits (3D IC)
- Architecture design of graphic processing units for general-purpose computing (GPGPU), esp. with NVIDIA CUDA
- Exchange Student 2010 – 2011 San Diego State University University
-
B.S.
Dept. of Computer Science and Information Engineering
2009
National Taiwan University
Avg grade 90.74% / 3.89
Rank 5 of 100 NTU Presidential Awards ×2 -
Coursera
- Statement Legends: Statement of Accomplishment Statement of Accomplishment with Distinction Verified Certificate (link available)
- Leading Positive Change through Appreciative Inquiry Case Western Reserve University 2016/04 – 2016/06
- Unethical Decision Making in Organizations Université de Lausanne 2015/09 – 2015/11
- Gamification University of Pennsylvania 2015/01 – 2015/03
- Inspiring Leadership through Emotional Intelligence Case Western Reserve University 2014/08 – 2014/10
- Machine Learning Stanford University 2015/11 – 2016/01
- Functional Programming Principles in Scala École Polytechnique Fédérale de Lausanne 2014/09 – 2014/11
- Malicious Software and its Underground Economy: Two Sides to Every Story University of London 2014/04 – 2014/06
- Programming Mobile Applications for Android Handheld Systems University of Maryland 2014/01 – 2014/03
- Human-Computer Interaction University of California, San Diego 2013/10 – 2013/12
- Exploring Beethoven’s Piano Sonatas Curtis Institute of Music 2014/03 – 2014/04
- Write Like Mozart: An Introduction to Classical Music Composition National University of Singapore 2014/01 – 2014/03
Capabilities & Skills
- Mandarin: Native
- Japanese: Intermediate
Passed Japanese Language Proficiency Test, Level 2 (日本語能力試験 二級) - Professional — with day-to-day and proficient experience:
- HTML, CSS & LESS + SCSS
- Javascript (incl. ES6 ~ ES.Next and jQuery, and other MVVM frameworks)
(and with JS, I’m a hobbyist for async programming & functional programming) - UX wireframing & prototyping
- Typography
- Python
- C# & ASP.NET
- MySQL
- Redis and Memcached
- Amazon Web Services: EC2, S3, CloudFront, Route53, S3, RDS and DynamoDB
- Git
- Professional — with skilled experience:
- C and C++ (incl. C++11 and C++14)
- PHP
- Java
- x86/x86-64 user-level assembly
- Parallel programming
Professional Interests
- Full-stack web engineering
- UX design processes applied to not just internet services but also physical products
- Performance engineering and utilization of IaaS for scaling applications
- System software (esp. operating systems)
- System design/integration with 1) massively distributed data processing platforms, and/or 2) heterogeneous processor/memory architetures
- Parallel programming with chip multi-processors and/or GPGPU
- Application programming with C/C++, C#, Java, Python or assembly, for Win32 or UNIX-based; for desktop, server or workstations
Miscellaneous Hobbies
- Photography (see my picked-photo albums)
- Honorable MentionInternational Photo Awards 2017
- Playing the piano and music composition