# Yong Wang > Principal Software Engineer at Fortinet Location: Cupertino, California, United States Profile: https://flows.cv/yongwang ## Work Experience ### Principal Software Engineer @ Fortinet Jan 2023 – Present ### Staff Software Engineer @ TripActions Jan 2020 – Jan 2023 | United States Single-handedly took Fraud Engineering Program from scratch, worked out a strategic vision & roadmap, and delivered fraud detection platform 1.0: a rule based engine to raise Slack alerts. Built team of 4, delivered fraud detection platform 2.0: an event driven microservice that makes fraud decision on the fly (POS). It leverages third-party vendors like Perseuss and Sift, integrates with internal Salesforce case management. Developed a homegrown generic RateLimit solution to control APIs access with two modes: Simple Count Down and Sliding Window. Implemented a temporary locking mechanism to fight against brute force attack and potential credit card cycling fraud. Produced various internal and external reports based on logging data from SnowFlake database. ### Chief Architect @ CloudCar™ Jan 2016 – Jan 2020 | Santa Clara Ported NodeJS and J2EE based legacy application to pure reactive solution using Vert.x Java Adopted Quasar Fiber technology to ease reactive programming by avoiding callback hell and eliminating learning curve POJOlized the entire application by replacing Json Objects with POJOs, while input and output are Json, internally all POJO, that boosted productivity by great deal Came up with a standard unified schema for all the domains supported: Media, POI, IoT, Productivity, Knowledge, etc. Architected a unified voice solution using Websocket that seamlessly supports Alexa, Google Assistant, Houndify, and normal search on all domains and providers such as Apple Music, Spotify, Deezer, TuneIn, Yelp, Google Calendar, Wink, etc. Invented a search along route algorithm that works on all POI providers such as Here, Yelp, TripAdvisor, Parkopedia, FourSquare, ChargePoint, etc. Most of them only support radius based search Invented a tool that helps to map thousands of POI categories between each provider and CloudCar’s unified category tree Resolved an interesting production memory leak issue by analyzing the memory dump. One of the TuneIn station playlist manifest file turns out to be a streaming URL, and the downloading socket kept open and accumulated around forty hours of voice data Initiated a background optimization thread on all aspects of the application including performance tuning, code refactory, modularization, tools development, etc. Standardized CloudCar error code system and mapped all integrated content provider error codes to CloudCar ones Build a team of 24 from scratch including offshore offices in Bulgaria and China Technologies: Vert.x, Quasar Fiber, Spring Framework, Mongodb, Solr, Redis, Kafka, J2EE, and NodeJS ### Senior Software Developer @ ARMUS Corporation Jan 2016 – Jan 2016 | San Mateo Armus (https://www.armus.com/) provides online services for patient and clinical information registration as well as various researches and reports on top of that. Enabled automatic meta data update through NCDR web services for all four types of registries of ACC (American College of Cardiology). Used Java8, Spring, JDBC Template, JAXB, HttpClient. Implemented FIP application to take XML based patient data. Adopted SPA (Single Page Application) design using jQuery, Datatable, and Hanglebars template. Technologies: Groovy, Spring Framework, Spring Security, Zip4j, JdbcTemplate, Maven, Git, Mac, and PostgreSQL. Bring abandoned “Data Table” application alive to the new Armus platform so that some important customers can be migrated over to the new Hybrid Outcomes application. Technologies: Groovy, Grails, Hibernate, Spring Framework, Spring Security, Git, and PostgreSQL. ### Chief Architect @ BinWise, Inc. Jan 2014 – Jan 2015 | San Francisco BinWise (http://www.binwise.com) is a complete solution for restaurants on wine, beer, and liquor management. Enhanced and Re-architect the new Scala/Play framework in the following area: added transaction management in persistence, introduced logging utility, implemented Elastic Search server, provided library to handle Play RESTful API JSON response, adopted ScalaTest unit test framework. Implemented the new wine inventory upload processing which reduced the data input time from a couple of days to within an hour for big file. Migrated wine match & merging functionality from old asp.net framework to the new Scala/play framework by leveraging Elastic Search engine. That improved the throughput by 300%. Came up with a Java implementation of Oauth client to our API, extended our API to clients without Oauth with a simplified version. Implemented a dynamic excel report generation engine using Apache POI framework. Implemented a dynamic PDF file generation engine using Apache FOP and barcode4j libraries. This is used by restaurants to generate barcode labels that can be used by the scanner to scan bottles into BinWise system. Made performance enhancements to BinWise old asp.net framework by introducing RESTful API, this enabled AJAX based data update and eliminated the need to reload the whole page even for simple update. Technologies: Scala, Java, Play, Hibernate, Elastic Search, Memcached, SQL Server, MongoDB, Apache POI, Apache FOP, barcode4j, GitHub, AWS S3, EC2, Jenkins, Jira, Eclipse, IntelliJ. ### Senior Software Engineer @ Klip/Dare Jan 2014 – Jan 2014 | Polo Alto Klip (http://www.klip.com) is a video mobile game that is mostly played among young students. Quickly grasped Scala and MongoDB; Made myself comfortable with Mac; got familiar with PHP, Ruby on Rails, and Redis; Learned tools like GitHub and Charles; Experienced AWS EC2, S3, and CloudFront. Experienced mobile app development life cycle especially under ios. Get familiar with Xcode IDE and Objective-C framework. Primarily focused on server-side development: Converted all comments related functionality from PHP to Scala/Java and enhanced it; Developed new friend of friend function from facebook, twitter, and address book; Added viral popup logic; Coded phone verification through shortcode notification; Maintained and enhanced Web portal in Ruby on Rails; Documented lots of modules; Wrote one script to cover all commands for daily development. Technologies: Scala, Java, Spring, MongoDB, GitHub, PHP, Ruby on Rails, Charles, AWS EC2, S3, and CloudFront. ### Director of Engineering @ BlackArrow Jan 2010 – Jan 2014 | San Jose, CA BlackArrow (http://www.blackarrow.tv) provides dynamic ads insertion solutions for cable VOD as well as ABR IP based market. It is enabled in tens of millions homes. Led a team of 11: 5 local and 6 offshore. Delivered projects such as Midas, Apollo, Hermes, Artemis, Athena, and Eclipse. Coded key components in each layer like YUI common data grid for AJAX, Spring MVC for WEB controller, EJB3 on top of Hibernate for persistence, SOLR for indexing and searching, JAXWS/Jaxb for web service and RESTFUL WS, Mule workflow for flow centric components, Couchbase for distributed caching, clustering, and automatic failover. Created WIKI documents for dev environment setup, architecture, engineering design, application logic, etc. Led performance tuning on critical components such as Ad Router and Linear POIS using JMeter, the result was significant: Jaxb context object caching saved big; Log4j asynchronous appenders cut latency further by half; Mule thread-pooling configuration also helped a lot. Fixed a very challenging production multi-threading defects (only happened once in production). Had to study the log and code, built hypothesis, and finally reproduced the issue by carefully designed thread executions. Led all design meetings by leveraging everybody's knowledge and experience. Worked creatively with all cross functional parties such as PD, PM, QA, RE, and CS to smoothly deliver each project on time. Led the effort to evaluate the following technologies: Couchbase/Memcached, Solr/Lucene, and Cassandra for Linear schedule caching and persistence solution. Couchbase/Memcached was chosen for distributed caching, clustering, and cross-datacenter failover solution. Attended 2013 Berkeley AMP Lab on latest development of MapReduce based big data solutions such as Spark, Shark, BlinkDB, etc. Technologies: J2EE, Couchbase 1.8.1, Solr 4.5, Hibernate 3, SPRING 2.5, EJB 3.0, JAXWS, JAXB, Mule 3.2.1, YUI 2.7/2.9, Jquery, Mysql 5.5, JBOSS 4.2.0, 6.1.0, Tomcat 6/7. ### Senior Software Engineer @ RockYou Jan 2010 – Jan 2010 | Redwood City, CA RockYou (http://www.rockyou.com) is a social gaming and ads network company. RockYou’s ads platform serves approximately half billion impressions a day. Documented all the important modules of RockYou Ads Platform including Architecture, Build, Logging, DB Access, Ad Filtering, Ad Filter Rules, DB Schema, Monitoring, DB driven dynamic AdType generation, etc. Replaced all static ENUM types of AdTypeEnum and NetworkEnum by leveraging dynamic source generation from database, dynamic source code compilation in memory, and dynamic class loading at runtime. Some reporting optimization in PHP code. ### Director of Engineering @ Vuclip Jan 2008 – Jan 2010 Tech Lead / Engineering Manager / Director of Engineering Single-handedly delivered Vuclip partner product (http://partners.vuclip.com) in my first two weeks by leveraging the following technologies: STRUTS2, SPRING, JSP, JSTL, AJAX, YUI, Hibernate, Tomcat, and MYSQL. This is the product designed for companies who want to partner with Vuclip to learn the API and integrate with Vuclip. Led a team of 6 (one in US and 5 in China), re-architected, delivered, and evolved our next generation Mobile Video Search application. Review PRD, write ERD, come up with project plan. DB Schema design, system architecture, design meetings. Design and developed a simple yet fast MVC framework. Automatic device detection and best fit UI on thousand mobile devices. iPhone, large touch phones, blackberry, and small screen phones will get different page layouts, css, fonts and color schemes respectively. Code review, documentation, tutor new team members. Bug review and assignment. Internationalization on most popular languages. Ads network integration and optimization. Integrated with social networking sites such as Facebook and Twitter. DB data migration, schema upgrade, slow query reduction, de-dup. Performance monitoring and tuning. I experienced the traffic grow from very little to 2 million video downloads and 9 million page views per day. Dramatic traffic growth revealed all sorts of bottlenecks and design shortcomings. In resolving all those performance issues I gained tremendous knowledge and experience in database design and tuning, architecture, caching, and Tomcat performance tuning. To name a few: •No third-party mapping layer such as Hibernate, we used straight JDBC to MYSQL DB. •Use Memcached as our distributed caching layer. •Developed Performance monitoring logging system (“007”). •Engage parallel computing using multi-threading as much as possible such as in ads networking integration and multiple RMI calls. ### Senior Java Developer @ SendMe, Inc. Jan 2008 – Jan 2008 | San Francisco Bay Area Automate production cache synchronization using JMX. Wrote a JMX client to invoke the recache function on all MBeans deployed to production machines. Enhanced our SMS message infrastructure so that it can be customized freely by carrier, service subscription, marketing campaign, etc. Enhanced our content search (such as ringtone and wallpaper) using Lucene indexing. Performance improved dramatically. Delivered SMS-to-order project. Previously user needs to go to the website to order ringtone and wallpaper, this project is to enable user to order our products through SMS functionality. With SMS ordering everything is done on the cell phone, no web access is required. Technologies used: J2EE, Hibernate, SPRING, STRUTS 2, Postgresql, JBOSS 4.2.0, Resin, FreeMarker, SiteMesh, Maven, Intellij Idea, Subversion. ### Tech Lead / Dev Manager @ Yodlee Jan 2002 – Jan 2008 Have worked on almost every part of the technology and product, here are some highlights: Designed, architect-ed, implemented, and delivered Yodlee online aggregation and billpay products: Eureka 5.x, Billmanager 6.x, and MoneyCenter 7.0/8.0. (http://www.yodlee.com) Over the five and half year period, application framework has been upgraded twice: from STRUTS 1.0.2 to SPRING 2.x and from SPRING back to STRUTS 2.0. Led the effort to research, design, prototype, and document both new application frameworks. Managed international dev team of size 3 to 10 for various projects such as SmartSwitch (back end), MoneyCenter (front end), CapitalOne Billpay customization, Amex Billpay customization. Managed and supported major financial customers such as Yahoo, MSN, HSBC, Harris Bank, Fedality, and Bank of America. Led the effort of AJAX enabling Yodlee application using YUI AJAX Engine. Coded the auto-complete widget for adding a biller. Worked with marketing very closely and wrote some engineering functional specifications. Extended both SPRING (SWF) and STRUTS Model-View-Controller (MVC) application frameworks to achieve further flexibility on application customization. For example, extended SPRING web framework to deliver our modular app functionality and greatly simplified dev work by providing one generic controller. The modular app functionality requires that our custom can arbitrarily config Yodlee modules in existing or new pages without changing any Java code. Wrote develop guidelines and documented every step in dev process such as P4 installation, Eclipse installation and plugins, build and deploy, JSP dev guidelines, etc. Laid out I18N infrastructure for all Yodlee products. Evaluated 7 charting tools. Setup and managed a fair and effective interview process for hiring. Technologies used: J2EE, JSP, Taglib, JSTL, SPRING, STRUTS (2), XML, RMI, EJB, SOAP, JBOSS 4.2.0, Websphere 4.0.3, Resin 2.1.6/3.0.x, Eclipse, Oracle, P4. ### Senior J2EE Consultant @ General Magic Jan 2002 – Jan 2002 Consultant for Citibank’s Outbound Voice Notification project. Citibank used to send alert notification to their customers through the traditional channels such as email and pager. Applied General Magic’s Enterprise Platform and Voice Gateway technologies to provide Citybank the alert notification by phone. Application was built under STRUTS application framework by utilizing J2EE technology on WebLogic Application Server 6.1 platform. Coded SOAP XML messaging, JMS messaging, and alert VXML JSP pages. ### Senior JAVA Developer @ Listenpoint Jan 2001 – Jan 2002 Developed an enterprise Product Portfolio Management (PPM) application using J2EE technology on Weblogic Application Server 6.1 platform. Three-tiered PPM Web app was built using STRUTS MVC framework. All backend API provided using stateless EJB Designed and deployed two Workflow process templates using Versata VIS Workflow engine. Wrote wrapper EJBs for Versata Workflow Engine API. Coded workflow activities and email notification system. Developed two key modules - Investigation and Periodic Audit, which includes all JSP pages and Java Actions for process creation, execution, and reports. Used Castor technology for conversion between XML documents and Java objects, Xpath technology for XML data manipulation, and JSP Tag libraries for presentation. Oracle 8i database CVS version control software ### Senior JAVA Developer @ OPI Software Jan 2001 – Jan 2001 | San Francisco Bay Area Redesigned, redeveloped, and redeployed an enterprise procurement management application in two months Utilized J2EE, EJB2.0, JSP1.1 and Servlet2.0 technology with WebLogic Application Server 6.0 Coded the approval Workflow Engine in EJB format in 2 weeks Used EJB development and build tools BeanGenerator, EJBGen2.0, Ant2.0 and MKS Coded application key modules such as Customer Accounting Codes, My Requisition, Kits, Email Service, and Workflow Approval. Wrote 25 entity beans and 5 stateless service centric session beans as well as utility classes and functions such as Key Generator and EJB sorting. STRUTS was used as the web app architecture. Presentation layer technologies used are JSP, Servlet, JavaScript, and DHTML Web server is IIS4.0, Servlet and JSP engine is Jrun3.02. Middle tier App server is Weblogic Application Server6.0 and EJB2.0 container. Database server is MS SQL7.0. Java IDEs used are Visual Slick and Visual Café 4.1 (Webgain). Version control software used was Microsoft Visual Source Safe. ### Senior JAVA Developer @ Livemind Jan 2000 – Jan 2001 | San Francisco Bay Area Designed and developed Livemind wireless application * Used J2EE and EJB1.1 technology in Weblogic Application Server (6.0/5.1). * Other technologies used are JSP, Servlet, XML, WML, Oracle8i, and Phone.com and Nokia web gateways. * The new application was well designed under STRUTS application framework in 3 layers: Data Model, View, Controller Also integrated with Infranet Portal – a real time billing system for IP based businesses. * With this integration customers can register and subscribe to service plans using cell phone, and can access their current balance in real time on the cell phone. * Wrote the Java module that handles the communication between our application and Portal application. ### Senior JAVA and WEB Developer @ ZEFER Jan 2000 – Jan 2000 | San Francisco Bay Area Designed and developed an online procurement system for ONQUO using technologies such as J2EE, EJB, Servlet, JHTML, JDBC, Java Mail, XML, Oracle8i, and ATG Dynamo5.0. * In this three-tiered Web application, Web server is Apache, application server is ATG Dynamo5.0, database server is Oracle8i, and Togethersoft is the UML tool. * The core application includes customer registration engine for both buyer and supplier, shopping cart module and XML data parsing module. Delivered an internal research project, Wireless Prototype, which was designed to bridge Wireless, Internet, and Real-time device control using JAVA technology by leveraging existing Wireless networks, the Internet, and Real-time device control technology. Built a robot car and its support circuit Configured Apache Web server and Tomcat Servlet Engine Developed the application using Java Servlet and COMM technologies Designed and implemented the Wireless Application GUI using WML and WAP technology. Added voice interface to the prototype using VXML. ### Senior JAVA Consultant @ RCG INFORMATION TECHNOLOGY Jan 2000 – Jan 2000 | US Worked as a Senior Java consultant and build-manager to deliver an online loan application -- Consumer Lending -- for FirstUSA/BankOne. EJB, Servlet, JDBC, Oracle8i, and Weblogic Application Server4.5 technologies were utilized to deliver the product. Installed, configured, and maintained PVCS server. Automated the product build process by generating UNIX and Windows scripts. ### JAVA and Web developer @ TRANSAMERICA INTELLITECH Jan 1998 – Jan 2000 | Sacramento, California Area Designed, implemented, maintained, and enhanced Transamerica Intellitech Web product --HomeProfile.com (http://www.homeprofile.com) using Silverstream Application Server (1.5 to 2.5). HomeProfile.com is a real estate information portal for title companies, real estate agents, as well as individuals. Java Servlet technology was used to generate HTML dynamically. JDBC and ODBC technologies were used to access data from Informix, MS SQL Server, and Sybase. Other technologies such as HTML and JavaScript were also extensively used. ## Education ### Bachelor of Science (B.S.) in Computer Science University of Utah ### Master of Arts (M.A.) in Sociology Peking University ### Bachelor of Science (B.S.) in Physics Nanjing University ## Contact & Social - LinkedIn: https://linkedin.com/in/yong-wang-3a7409 --- Source: https://flows.cv/yongwang JSON Resume: https://flows.cv/yongwang/resume.json Last updated: 2026-04-12