Alan Tan

@alantanlc

[Resume] [GitHub] [LinkedIn] [Blog]

Software engineer working on Pricing & Risk Management for Currencies & Emerging Markets at JP Morgan

Previously worked at GIC and DSO National Laboratories

NTU Computer Science (Bachelor) and NUS Computer Science (Master)

Topics that interest me: python, event-driven architectures, distributed systems, real-time applications, web scraping, automation, engineering best practices

During my free time, I love to cook, read, run, cycle, hike and snowboard. They help to clear my mind and keep me sane.


Projects

2021 - Git Pull [code] Bourne Again Shell (BASH)
2020 - NTU Courses [website] [code] ReactJS, Bootstrap, Python, Django, PostgreSQL, AWS, Ubuntu 20.04, nginx, gunicorn, Let’s Encrypt, Certbot
2020 - Torchemotion [code] Python, PyTorch, Torchaudio, Pandas, Numpy, OpenSmile
2020 - Mapstruct CSV [code] Python
2020 - Autocommit [code] Bourne Again Shell (BASH)
2020 - Installing WordPress on Amazon EC2 using Docker Compose [code] [slides] Docker, Prometheus, Grafana, Ubuntu, Bash, AWS
2020 - Employee Salary Management System [code] ReactJS, Bootstrap, Python Django, PostgreSQL, Docker
2020 - Commonsense Reasoning Using Current NLP Landscape [video] [code] [report] [slides] Python, PyTorch, HuggingFace
2020 - Deep Learning for Natural Language Processing [code] Python, PyTorch
2020 - ADS-B Over Satellite [slides]
2019 - Histogram Backprojection [code] MATLAB
2019 - CheXpert [code] [slides] [notebook] Python, PyTorch, NumPy, Pandas
2019 - New Product Approval Workflow Application JavaScript, Java, Angular2+, MaterialUI, Spring Boot, MS SQL, Apache Tomcat, Jenkins, GitLab
2018 - Multi-Channel Waveform Generation Module using GPU [description] C++, CUDA, Boost, Intel IPP, MATLAB, gRPC, GitLab
2018 - Music Genre Classification using Machine Learning [code] [report] Python, JavaScript, WEKA, Scikit-Learn, Bootstrap, NodeJS
2018 - Book Recommendation Engine Based on User’s Tweets [code] [report] Python, JavaScript, Twitter API, Scikit-Learn, Bootstrap, NodeJS
2017 - Mobile Video Capture and Uploader [code] [report] Java, Android
2017 - Distributed Maze Game [code] Java, RMI
2017 - Designing Scalable Applications with Events and Threads [report] Server architecture
2017 - Signal Acquisition and Evaluation Module in C++ [description] C++, Intel IPP, MATLAB, Apache ThriftRPC, GitLab
2017 - Meeting C++ Conference @ Germany, Berlin [report] C++
2016 - Virtual Piano [video] [news] [code] [report] [slides] Java, Android, OpenCV
2012 - Signal Path Profile Calculator [code] JavaScript, HTML, CSS
2011 - Towards SP@60 [screenshot] Linux, Apache, MySQL, PHP, HTML, CSS, JavaScript, ActionScript


Teaching Courses

AY2019/20 Sem 2 - CZ3007 Compiler Techniques, Lab Tutor


Books

2024 - Liar’s Poker
2024 - Flashboys
2024 - The Big Short
2024 - Fundamentals of Software Architecture (An Engineering Approach)
2024 - Designing Distributed Systems (again)
2024 - Robust Python : write clean and maintainable code
2023 - How to Win Friends and Influence People
2023 - The Power Of Saying No
2023 - Never Split the Difference
2023 - Designing Distributed Systems
2023 - The Psychology Of Money
2023 - Chamonix To Zermatt: The Walker’s Haute Route [link]
2023 - Software Engineering at Google: Lessons Learned from Programming Over Time [link]
2023 - The 4-Hour Work Week [link]
2023 - The Third Door [link]