CV
Personal Data
Name: William Shallum
Address: Singapore
Email: william@shallum.net
Working Experience
Backend / API Engineer - Banking, Stripe, Singapore (Jun 2019 - Sep 2022)
- Work on banking integrations in the APAC region.
- Worked on Australia Direct Debit payment method (API implementation, Bank Account input element).
- Technologies used: Ruby, Javascript
Senior Software Developer, BBM, Singapore (Aug 2018 – Apr 2019)
- Work on gateway between PSTN and BBM network.
- Help client developers with integrating PSTN calling.
- Work on client C++ code as required (troubleshoot voice/video call issues, implement changes required for PSTN calling).
- Technologies used: C++, Java, Kotlin, Spring Boot
Software Developer, BBM, Jakarta (Apr 2017 – Aug 2018)
- Worked on cross-platform C++ core for BBM messenger app to add video upload / download capability.
- Worked on improved groups implementation (protocol design, messaging server improvements, and client improvements).
- Developed prototype for PSTN calling (SIP / media proxy configuration for WebRTC to SIP, SIP interop troubleshooting).
- Assisted other teams in integrating with the BBM environment.
- Technologies used: C++, Java, Kotlin, Spring Boot
DevOps - BBM project, KMK Online, Jakarta (Aug 2016 – Apr 2017)
- Ran calculations to verify cloud vendor quotes for BBM migration project.
- Converted application provisioning scripts from Chef / Shell to Ansible.
- Deployed applications to cloud provider for testing using above scripts and performed troubleshooting of any errors up to and including diving into the source code.
Software Developer - Analytics Team, KMK Online, Jakarta (Feb 2016 – Aug 2016)
- Track events on web frontend using Javascript.
- Implement ETL pipeline from event data to metrics.
- Improve content recommendation system.
- Implement internal analytics dashboard.
Backend Software Developer, DominoPOS, Denpasar (Jul 2015 – Jan 2016)
- Implemented backend functionality for the company’s application “Orbit”.
- Wrote SQL for reports.
- Sometimes administered AWS instances.
- Improved firewall rules (iptables) for captive portal.
- Technologies used: PHP, Laravel, MySQL
System Administrator, PT. Magna Karsa Mulya, Surabaya (Jun 2014 – Nov 2014)
- Performed maintenance tasks on servers used for online bill payment.
- Improved Zabbix monitoring of MySQL, Apache, Disk I/O with custom user parameter.
- Worked with developers to get some application metrics into Zabbix.
- Implemented daily backups of the MySQL database.
- Scripted cleanup of old application log files.
- Migrated database to newer servers (and newer MySQL version).
- Implemented periodic backup of data between 2 NAS systems.
- Technologies used: CentOS Linux distro, IBM xSeries servers, Zabbix, MySQL
Junior System Administrator, PT. Wowrack Indonesia, Surabaya (Dec 2011 – May 2014)
- Answered escalated support issues (both local and international customers).
- Managed internal & customer systems.
- Helped propose solutions to customer problems.
- Set up MySQL replication and scheduled backups of replica for disaster recovery of customer data.
- Accelerated a popular Wordpress blog using Varnish caching. Worked with customer to determine caching parameters e.g. mobile vs desktop theme for same URL.
- Worked with customer to migrate a social network app from dedicated servers to Amazon AWS (EC2 and VPC).
- Built prototype of automatic server installation system using PXE and Cobbler. System also allows clients to boot into a rescue image accessible through the Internet.
- Technologies used: Ubuntu & CentOS Linux distros, CPanel / WHM, Xen, MySQL, Zabbix, Varnish, Amazon EC2 & VPC
Developer, PT. Wowrack Indonesia, Surabaya (Jun 2009 – Dec 2011)
- Developed an internal portal containing server information.
- Helped maintain a VPS management application using Rails (mostly ordering and billing parts).
- Integrated information from Nagios, Cacti and Kayako eSupport systems.
- Technologies used: PHP, CodeIgniter, Ruby on Rails, MySQL and MS SQL Server databases, PayPal Express Checkout API.
Web Developer, PT. Sada Systems Asia, Surabaya (Feb 2009 – Jun 2009)
- Ported a Google Apps email list management application from PHP and Python to Google App Engine.
- Prototyped an Outlook add-on to send large attachments through a file upload website automatically.
- Developed various tools to migrate data (contacts, email messages, calendar events) from legacy systems (Novell Groupwise, Microsoft Exchange, Sun servers, messages on disk) to Google Apps. Enhanced existing email migrator application to handle large mailboxes (up to 600 MB).
- Technologies used: Python, C#, Google GData APIs, iCalendar, IMAP.
Java Programmer, PT. Sigma Karya Sempurna (Balicamp), Tangerang (Feb 2008 – Oct 2008)
- Participated in the development of a web-based Risk Management System for a leading national bank.
- Implemented functionality and fixed bugs under the direction of the System Analyst.
- Set up and maintained a Hudson continuous integration server.
- Technologies used: Servlets, AJAX, Spring, Hibernate, DB2 database.
Freelance Developer, Surabaya (2008-2013)
- Late 2008 - Early 2009 Contracted to do website maintenance & add new functionality.
- Technologies used: PHP, ASP.net, CodeIgniter, jQuery
- Mid 2010 - Mid 2011: Enabled a web app to access local printer for raw printing and get the client’s MAC address for authentication. At first used Firefox extension then moved to NPAPI plugin for Windows and Linux. Tested plugin on various browsers: Chrome, Firefox, Opera.
- Technologies used: JavaScript, C, NPAPI
- Late 2013: Built screen scrapers to get recent transactions from local banking sites: BNI, BRI, Mandiri.
- Technologies used: Python (requests, BeautifulSoup)
Programmer & Database Designer, Freelance Developer, Surabaya, (Feb 2006 - Oct 2007)
- In a team of 3-4 people, developed several programs to handle sales for a real estate developer using Borland Delphi 7 and Microsoft Access.
- Participated in interviewing the client to get requirements. Designed the database schema for the programs based on the requirements.
- Wrote most of the data access code for the programs.
Lab Assistant, Sekolah Tinggi Teknik Surabaya, (Aug 2005 - Aug 2006)
- Performed troubleshooting on computer and network failures in the lab (Windows Server 2003 environment with Windows 2000 clients).
- Wrote and graded lab exercises for Java and C++ Programming lessons.
Formal Education
Sekolah Tinggi Teknik Surabaya, Surabaya, Jul 2003 - Nov 2007
Bachelor’s Degree, Information Technology (S.Kom.), majoring in E-Commerce
Graduated Cum Laude, GPA 3.54 of 4.00 maximum.