Personal qualities:
- Fast learner, found of researching.
- Get along well with any team.
- Have a strong team and project managing skills (Agile, SCRUM, Waterfall, budgeting, KPI, hiring).
- I'm inspired by the Reactive Manifesto and have significant experience in designing and developing complex scalable software systems with requirements of high reliability and availability.
- Have strong experience in concurrent, parallel, and distributed computing. Hate blocking! Like streams, actors, and reactive programming.
- I have strong experience in designing network protocols and APIs.
- Use a lot of programming languages, technologies, paradigms, and patterns.
- Have skills in developing DSL, parsers, code-generators, interpreters, translators, and compilers. Write less and generate more.
- Like to write clean and testable code.
- Have supporting acquirements in long-term projects.
- Great experience in designing data architecture.
Key skills and technology used:
- Scala experience since 2011: core, Cats, Scalaz, ZIO, Akka, Akka Streams, Akka Cluster, Akka HTTP, Spray, Playframework, Ostrich, Specs2, Shapeless, Scalatest.
Java experience since 2007: SE (core, concurrency, JDBC,), EE (Servlets, CDI, JPA, EJB, JAX-RS), Spring (core, IoC, Web), Hibernate, MyBatis, JSP, Servlets, Struts, JMS, JUnit, TestNG.
Python experience: web development, backend development, Qt UI development.
TypeScript/Java-Script experience: React (Redux, React Query, i18n, Jest), ExtJS UI, jQuery, Ajax.
Android Java/C++: call capture, VoIP, Video, Android core, NDK, WebRTC.
C/C++ experience: STL, Boost, Loki-lib, Qt, OpenCV, WebRTC, POSIX API, SYSTEM V API, sockets, threads, make, CMake, Autotools, SCons; UI, backend services, Linux kernel modules/drivers, embedded software, plugins, networking protocols.
OCaml: embedded software development (management/configuration/operation software for highway network routers), backend services.
Haskell experience: programming language interpreters, command shells, web development using the self-developed framework.
Common Lisp experience: data mining, backend services.
Other experience includes:
Other languages: Scheme, Erlang, Perl, Object Pascal, Shell scripting (Sh, Bash, Zsh).
Database schema architecture design, query optimization.
SQL DB: PostgreSQL, MySQL, Firebird.
NO SQL DB: Cassandra, MongoDB, Elasticsearch, Riak.
Amazon web services (AWS): S3, EC2, Transcoder, Glacier etc.
Docker.
Linux server administration.
Web: HTML, JS, DOM, CSS, SASS.
VCS: Git, Mercurial, Subversion.
Other: Jira, Confluence, Redmine, Trac.