Code Monkey home page Code Monkey logo

Ruì 瑞 Guǒ 果
[email protected]

Summary

Developer:

Front end, back end, database  
Design patterns, architecture, cloud native app design  
Microservices  
SOLID, 12FactorApp  
REST  
Languages:  
    Python, Javascript, Typescript, Node.js, C# .NET, .NET Core, Java, Kotlin, C++, C, Ruby  
Front end:  
    Angular, React, Bootstrap, Material UI, Clarity, JAMstack  
Databases:  
    MongoDB, Cassandra, Redis, Memcached, Elasticsearch  
    MySQL, PostgresMariaDB, SQL Server, Oracle  
Operating systems:  
    Linux, Windows, MacOS, Solaris, embedded/RTOS  
    Linux kernel drivers  
Hardware:  
    Embedded, microcontrollers  

Devops:

Docker, Kubernetes, migrations from onprem to cloud  
Terraform, Ansible, Chef, Puppet, Packer  
ELK stack  
CI/CD pipelines  
Cloud:  
    AWS, Azure, GCP, Vsphere, PKS, PCF, Cloudfoundry  

Bio:

Accurate, pragmatic, experienced, resourceful  
Calm under pressure  
Solution orientated  
Good communication to technical and non-technical stakeholders  
Process:  
    Agile, Scrum, Kanban  
    JIRA  
Leadership:  
    Offshore and onshore team management experience  
    Coaching  
Resource planning  
    Experience in organisation transformation  

Experience

Devops Engineer @ [Undisclosed] 2021-date

Summary: Migration from on prem to AWS kubernetes  
Docker, Kubernetes, Helm, AWS
Python, Ruby  

Software Developer @ ElectroRoute (Mitsubishi Corporation) 2019 – 2021

Summary: Software developer for a company trading on the electricity market  
Python code (2.7/3.8) to ingest price, weather and other data.  
Python exchange handler to connect to external exchange platform and execute trading operations  
AWS architecture  
Productionising an existing trading information system  
Some rewrite of the code  
A python 2 -> python 3 upgrade  
Architecting and deployment of a high availability AWS architecture  
Setting up a CI/CD pipeline, automated testing  
Re-architecting of market data feeds into an AWS based serverless event driven architecture  
Python, Django, Flask, JS, HTML, CSS  
AWS - Lambda, SQS, SNS, EC2, S3, RDS, auto scaling groups, VPC, subnets, security groups,  
routing tables, IAM, ACS, Fargate, Secrets Manager, Key Management Service, Cloud Formation  
MySQL, DynamoDB, MariaDB, Redis, SQLAlchemy  

Software Engineer @ Dell 2019 - 2019

Summary: Software Engineer  
Angular (frontend), JS, typescript, Clarity  
Security. Threat modelling  
Devops, Jenkins, CI/CD. Provisioning a Jenkins based CI/CD pipeline using Kubernetes, Docker,  
Helm. PCF, PKS, NGINX  
Microservices. NewRelic. PostegreSQL, MySQL. Redis, Rabbit, Kanban  

Head of Technology @ Blockdox.com (lead) 2018 - 2018

Summary: Team lead. Hands on development in node, angular, python, golang  
Building a smart cities company. Building a world class engineering and data science team  
from the ground up using world class processes  
Angular (frontend)  
Responsible for all technical decisions  
Responsible for product development and roadmap planning  
enterprise software architecture, distributed system, IOT, planning & reporting, machine learning, 
scikit- learn, edge computing, python, JS, node, iot sensors, linux, azure, data science,  
embedded devices, JIRA, git, bitbucket, mongodb, terraform  

Consultant Software Developer @ iCONX Solutions 2017 - 2018

Summary: Architected and implemented the rewrite of a legacy enterprise web application into C# .NET MVC  
Introducing client to CQRS and Repository enterprise architecture patterns over a SQL Server database  
Introducing client to Chain of Responsibility, Strategy, Adapter and Factory creational / behaviour  
design patterns at class level C# .NET  
Introducing client to Stairway pattern for assembly dependency separation  
Introducing client to SOLID principles  
Introducing client to log4Net combined with an ELK stack for logging  
Introducing client to agile principles - both scrum and kanban  
Introducing client to JIRA  
Introducing client to Moq mocking and unit testing  
Introducing client to UML  
Introducing client to Microsoft Test Manager  
Introduced client to Continuous Integration/Continuous Delivery/build pipeline  
Coaching of management  
Javascript, React, jQuery, AJAX, HTML, CSS, Less, Bootstrap 3, Telerik, DataTables, ADO.NET, nHibernate, 
.NET 4.5, C# 6, Soap, SourceSafe, TFS, VB.Net, git, enterprise software architecture UX Design  

Engineering Manager @ Ericsson (lead) 2014 - 2017

Summary: Line Manger and Technical Lead. Developing a greenfield, Netflix-like IPTV product.  
Distributed system architecture. Microservices (C#, ASP.NET Web API, MVC, REST API, kafka, Cassandra,  
DynamoDB) ,UX development (JS/TS/JQuery),Azure/AWS  
15 developer reports, 2 teams. My role was 70% hands on technical, 30% management  
I was part of the leadership team that transitioned Ericsson from a waterfall development structure to an  
agile scrum structure using industry best practice combined engineering, feature teams, CI/CD and devops.  
And away from Microsoft technologies and towards open source  
First team: 7 developers  
Developed a single page application (SPA) web app in Javascript and Typescript using React/Backbone  
as the framework.  
Underscore, JQuery, REST, HTML, CSS  
Second team: 8 developers  
Devops running and developing an in production C# cloud (Azure/AWS) hosted service (ASP.NET)  
I led the technical effort to migrate this service from a team in the UK to the team in Dublin.  
Due to changing business   environment I had to complete this move successfully in only 6 weeks  
instead of the planned 6 months. It was business / mission critical that I succeeded in the 6  
week timeframe (the UK office was closing). It was the “Ingestion” service - allows new content  
(movies etc) to be added (uploaded / transcoded / encrypted / packaged)  into the platform.  
Architecture: As much smarts as possible pushed into the cloud. Some logic running client side  
in the SPA. Kafka based message queues. Moved to a microservices based architecture  
Team: Three week sprints, sprint planning, daily standups, user story grooming and retrospectives.  
JIRA, Confluence, Gitlab, Slack  
Weekly 1:1’s with my reports, annual goal setting, annual reviews, career development.  
Coaching of reports  
Attended program level sprint review meetings every 3 weeks to review progress at an  
organisational level. Attended weekly leaders meetings to discuss issues and plan as well as  
planning overall quarterly and yearly strategy. Attended leadership offsites and training  
Microservices, C# .NET, Javascript, node.js, python, HTML, CSS, software architecture, distributed systems,  
Cassandra, Hadoop, Spark, Hive jQuery, JIRA, Continuous Integration/Continuous Delivery/build pipeline,  
Jenkins, Selenium, TFS, git, Microsoft Test Manager, Saucelabs, grunt, gulp, selenium  
Using Elasticsearch with Kibana as a searchable tracing and logging solution. Graphina UX Design  
H.264, H.265, DASH, ABR video streaming, MP4 Encryption  

Member of Technical Staff @ MongoDB (lead) 2012 - 2014

Summary: Hard to summarise. We achieved unicorn status. I was employee #99 and the first  
technical hire in Europe  
I have extensive experience of MongoDB - of production deployments and cluster administration  
and of developing applications that run against MongoDB and also knowledge of schema design and performance  
If you called or emailed MongoDB in 2012 while NY were offline you came through to me.  
I was MongoDB worldwide support. When Eliot (CEO MongoDB) went offline at around 2am UK time, there was  
no MongoDB support until I came online at about 6am.  
C# .NET, Java, Node.js, Javascript, Python, Ruby  
Enterprise software architecture, distributed systems  
Cassandra (became Cassandra certified developer with Datastax), Hadoop, Spark,  
NoSQL, MongoDB, Hadoop, Spark, Couchbase, Riak  
Azure, AWS  
Speaker at Microsoft Conference - Azure UK 2012, MongoDB UK Conference 2012,  
MongoDB Munich 2012, MongoDB Stockholm 2013. Schema Design Workshop and MongoDB Security MongoDB Israel 2013  
Software Developer @ Microsoft 2011 - 2012  
Summary: Developing the Azure cloud infrastructure (DNS service) in C#  
Developed Azure Infrastructure components  
C#, DNS modules for Azure  
Agile environment  
C# .NET, python, Azure fabric, Azure AppFabric, Azure SQL, Azure SDK, .NET 4.0, .NET 3.5, ASP.NET, MVC, SQLServer,  
Visual Studio 2010, Microsoft build system and technologies, DNS, WCF, agile, TFS, Automated Testing, MDS,  
ADNS, IDNS, Source Depot  

Software Developer @ Verizon Business 2010 - 2011

Summary: Developing a PKI encryption product in C++  
Verizon Business’s Identity Management Unit developing a PKI product – UniCERT in C++  
Windows, C++, MFC, Solaris 11, Solaris 10, Solaris 8, Solaris zones, RHEL, Enterprise Architect, UniCERT,  
JSP, Oracle, SQL, PL/SQL, SSRS, Bugzilla, JIRA, Perforce, BackupExec, System Administration, Active Directory,  
Assembly, ACE framework, nagios, encryption, PKI, X.509, PKIX, dbx, gdb, make, ant,  
design patterns, multithreaded, gmock, pkcs11, cppunit, gtest, jam, luna, agile scrum, UML, cloud,  
HSM, Safenet, UX design  

Software Developer @ Lake Communications 2010 - 2010

Summary: Developing an embedded linux VOIP product in C and C++. Linux driver development. Hacking in assembly. 
Linux kernel hacking. Working in agile but with in house hardware team working in waterfall  
Developed embedded wireless router that could also handle VOIP calls. It ran an embedded linux kernel (2.6.20)  
on an ARM architecture microcontroller (MIPS24KEc) from Infineon (Danube)  
Worked in C in the linux kernel. I wrote low level device drivers for the DSP and ISDN chips.  
There were some interesting moments in assembly  
I also worked in C++ at application level to implement the telephony functions  
In my first few days they told me trying to get the required performance out of the chip was a huge problem.  
They had both a team of software engineers and a team of hardware engineers working on it -  
on my 11th day there I pointed out a solution to this - that the chip they were using was in fact dual core.  
They were using it as a single core and could compile their linux kernel to use the second core  
System performance analysis and tuning  
Embedded linux, C, linux kernel, linux device drivers, Asterisk, ISDN, oprofile, Infineon Danube MIPS, SIP,  
hardware interrupts, software interupts, workqueues, spinlocks, rational clearcase, agile, ARM processor,  
VOIP, wireless router, symmetric multiprocessing  

Software Developer @ TNS Ltd 2009 - 2010

Summary: Fintech. Developing a POS financial application and backend in C and C++  
Developed product to handle credit card transaction from POS to the bank. Linux 2.4 kernel  
C and C++ Development. Credit card transactions. Linux 2.2 kernel C, Linux, gdb, code collaborator, peer review,  
requirements documentation, design documentation, vmware  

Software Developer @ Cinnara Ltd 2007 - 2009

Summary: Developing a very high speed packet processing product  
Writing network protocol handlers from RFCs  
Linux kernel hacking  
Linux drivers
Developed an advanced service monitor for GPRS packet data networks. Multithreaded C++ application which ran  
on a dedicated multi-cpu server. It was sold to major telecom companies and monitored traffic on  
their GPRS data network. 
It “sniffed” packets from the wire and analysed those packets using a network protocol stack. 
The process worked at approaching line speed (10Gbs).  
C, C++, Linux (Redhat, CentOS, Debian, Catapulta), Solaris, gdb, valgrind, iostat, vmstat, parallel  
and concurrent programming algorithms, multithreading, process optimization, shell scripting, Perl, sed, awk,  
network protocols (TCP/IP, HTTP, SSL, TLS, POP3, IMAP ), telecoms protocols (GTP, MMS, WAP, WV, Mobile-IP),  
network processors (Napatech, Endace), Netscout probes, traffic generator (Shenick), routers (Juniper, Cisco),  
optical networking (ATM, SONET, OC3), ACE library, Wireshark, VMWare, Cruisecontrol, CVS  

Smartphone App Software Developer @ Picsel Technologies 2005 - 2006

Summary: Smartphone apps. C, C++  
Developed applications for smartphones.  
The platforms I developed for were Symbian, Windows Mobile, Palm, Linux. We mainly worked in C for  
performance reasons as memory and CPU were limited on phones at that time.  
Low memory footprint programming.  
High-efficiency algorithms.  
Developed Digital Rights Management solution.  
Developed cryptography library.  
UX Design C, C++, Windows, Linux, Symbian, Perl, Python, Shell scripting, DRM, smartphones, embedded C.  
embedded C++, codecs  

Software Developer @ Honeywell 2003 - 2005

Summary: Developing an embedded linux HVAC product.  
Linux kernel. linux drivers. UX design. PHP, JS, HTML. C++  
Developed commercial refrigeration solution.  
The box we developed was about the size of a VCR and was for use controlling the chiller cabinets in supermarkets  
monitoring energy use, setting alarms for fault conditions.  
It was configurable either via a front panel LCD or via a web UX.  
Javascript development C, C++, Linux, Windows, CVS, RPC, gdb valgrind, mutli threaded, embedded linux kernel,  
embedded C++ raw HTML php development UML UX Design  

Windows Application Developer @ Garrad Hassan 2002 - 2003

Summary: Developing a wind farm simulation tool in C++  
Developed a renewable energy simulation tool in C++ and VB.NET.  
It was a simulation tool for wind farms that allowed the 3D visualization of proposed wind farms as well as  
estimating energy output.  
Visual C++ development (MFC) VB.NET development  

System Developer @ AOT 2001 - 2002

Summary: Developing a trading platform in C++ and Delphi for a market-maker on the Amsterdam stock exchange as the 
exchange moved from open outcry to computer based trading.  
Working with quants to implement trading algorithms.  
Writing exchange handlers in C.  
Distributed system.  
Developed a new stock trading platform in C++ and C to trade on Euronext and DeutcsheBourse.  
Developed a “smacker” whichperformed automatic trading.  
Developed a TCP/IP wireless trading application.  
C, C++, Linux, Solaris, shell scripting, Sybase database, SQL, CORBA, TCP/IP, UML, FIX protocol,  
gdb, multi threaded, Java  

guorui's Projects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.