About Me
I've been using typescript for both frontend and backend development for the last 7+ years. It has become my favorite web programming language as a replacement to javascript due to its strongly type nature.
During this time I've switched back and forth between the SAP ecosystem (I'm a certified ABAP developer, lately focusing on SAPUI5/CAP) and regular Node.js one. See SAPUI5 CV variant for more info.
On frontend I mainly work within the React ecosystem with or without Next being proficient with both class based and functional components. Depending on the nature of the project I've used either React.Context, Redux or Zustand for state management and classic REST APIs or GraphQL (Apollo implementation) for data fetching. I turn to Rxjs for advanced asynchronous or callback-based code.
On backend I'm using Node.js with Prisma or Knex for interacting with the database, Express for REST APIs and Server Side Events, Passport for authentication using mostly JSON Web Token strategies, Nest for advanced authorization and complex logic requiring multiple modules, controllers and services.
Throughout the stack I'm using:
- Eslint and Prettier for linting and formatting
- SonarQube for advanced static analysis
- Jest and Sinon for unit testing and mocking
- Cypress and Puppeteer for end-to-end testing
- Npm Audit, Whitesource for 3rd party vulnerabilities scan
- Webpack, Rollup for CommonJS, ESM format bundling
- Lerna, Npm workspaces for monorepo management
When automating cloud deployments outside AWS I use Terraform for provisioning server instances plus the necessary infrastructure (VPCs, SSH/PGP keys, etc.). After an instance is created, using the local-exec provisioner, Ansible playbooks are run to configure it. I use Docker, Docker-Compose for local orchestration.
As an AWS Certified Developer I'm most proficient with API Gateway and Lambda (nodejs handlers) using SAM templates to define the infrastructure and SAM CLI to locally test and afterwards deploy all defined resources within a single CloudFormation stack.
To get a feel of my coding style and expertise please take a look at github.com/get-set-fetch/scraper with its accompanying documentation available at getsetfetch.org. This Node.js scraper contains a command line, Docker container, Terraform module and Ansible roles for distributed cloud scraping. It supports multiple SQL databases (SQLite, MySQL, PostgreSQL) and multiple headless clients (Puppeteer, Playwright, Cheerio, JSdom). The static documentation resources are served using Cloudflare CDN.
From time to time I use Python, C++, R for implementing code behind scientific articles I find interesting like Spiking neural P systems or from my own: MaStream, BloomStream. You can find on Google Scholar a full list of articles I've published during my PhD program.
I've been using typescript for both frontend and backend development for the last 7+ years. It has become my favorite web programming language as a replacement to javascript due to its strongly type nature.
During this time I've switched back and forth between the SAP ecosystem (I'm a certified ABAP developer, lately focusing on SAPUI5/CAP) and regular Node.js one. See SAPUI5 CV variant for more info.
On frontend I mainly work within the React ecosystem with or without Next being proficient with both class based and functional components. Depending on the nature of the project I've used either React.Context, Redux or Zustand for state management and classic REST APIs or GraphQL (Apollo implementation) for data fetching. I turn to Rxjs for advanced asynchronous or callback-based code.
On backend I'm using Node.js with Prisma or Knex for interacting with the database, Express for REST APIs and Server Side Events, Passport for authentication using mostly JSON Web Token strategies, Nest for advanced authorization and complex logic requiring multiple modules, controllers and services.
Throughout the stack I'm using:
- Eslint and Prettier for linting and formatting
- SonarQube for advanced static analysis
- Jest and Sinon for unit testing and mocking
- Cypress and Puppeteer for end-to-end testing
- Npm Audit, Whitesource for 3rd party vulnerabilities scan
- Webpack, Rollup for CommonJS, ESM format bundling
- Lerna, Npm workspaces for monorepo management
When automating cloud deployments outside AWS I use Terraform for provisioning server instances plus the necessary infrastructure (VPCs, SSH/PGP keys, etc.). After an instance is created, using the local-exec provisioner, Ansible playbooks are run to configure it. I use Docker, Docker-Compose for local orchestration.
As an AWS Certified Developer I'm most proficient with API Gateway and Lambda (nodejs handlers) using SAM templates to define the infrastructure and SAM CLI to locally test and afterwards deploy all defined resources within a single CloudFormation stack.
To get a feel of my coding style and expertise please take a look at github.com/get-set-fetch/scraper with its accompanying documentation available at getsetfetch.org. This Node.js scraper contains a command line, Docker container, Terraform module and Ansible roles for distributed cloud scraping. It supports multiple SQL databases (SQLite, MySQL, PostgreSQL) and multiple headless clients (Puppeteer, Playwright, Cheerio, JSdom). The static documentation resources are served using Cloudflare CDN.
From time to time I use Python, C++, R for implementing code behind scientific articles I find interesting like Spiking neural P systems or from my own: MaStream, BloomStream. You can find on Google Scholar a full list of articles I've published during my PhD program.
Experience
SabDev
Software Architect
May 2023 - present
My own development company. Working again as a freelancer. I realised I missed knowing new people and working with different teams.
Companies I've helped so far:
-
Apeiron Insights, May 2023 - September 2023
Dutch early stage tech leader in the provision of telecommunications market intelligence
- migrated, refactored existing Node.js javascript modules to typescript
- developed new Node.js typescript modules
- upgraded storage to AWS hosted MySQL instances
- created CI/CD pipelines for building, testing, deploying to test and production environments
- mentored existing (both junior and senior) developers
- partially served as an in-between contact between different teams
Frontend Responsibilities
- Led the React typescript development effort of core and common components internally published npm packages
- Mentored several international plugin teams using the above npm packages
- Interviewed and screened new candidates
Backend Responsibilities
- Developed Node.js based REST APIs / GraphQL using Express
- Developed Java OSGi based REST APIs using Jersey
Achievements
-
More than halved loading times by developing a custom micro frontend framework as an alternative to Webpack Module Federation and Single-Spa.
Core and plugin projects with separate git repos, separate release lifecycle, separate teams across different time zones are merged into a single screen so that the end-user no longer loads a new tab when switching from core-to-plugin, plugin-to-plugin functionalities.
Frontend Responsibilities
- Led the React typescript development effort of core and common components internally published npm packages
- Mentored several international plugin teams using the above npm packages
- Developed and later maintained javascript frontends with Require.js and Backbone
- Interviewed and screened new candidates
Backend Responsibilities
- Developed Node.js based REST APIs / GraphQL using Express
- Developed Java OSGi based REST APIs using Jersey
Achievements
- Significantly increased team(s) development speed by using json-schema definitions for automatic form generations. Think react-jsonschema-form combined with react-hook-form allowing multi-schema and multi-model merge. Custom json-schema properties were added allowing REST APIs based custom async field validation, dynamic population of dropdowns, text input autocomplete suggestions, etc...
Internal controls management software.
Led the development of a new accounting software product throughout its entire development cycle from defining specifications to final release.
Startup serving the communication needs of tech vendors across vertical industries with video-based delivery technology and content production services.
Coordination and development of Flex based admin tools tightly integrated with map based flash video players.
Software and services company delivering innovative sales and training content via a suite of streaming media platforms.
Coordination and development of run-time generated flash video players.
My own small development team with some of the projects listed under flopen.com.
Launched a relative successful SaaS - Flash Intro Builder.
Education
UPIT
PhD in Informatics
2013 - 2016
University of Pitesti, Faculty of Informatics
Dissertation: Data Mining Clustering Techniques used in Financial Fraud Audit
A novel alternative to the traditional two phase stream clustering scheme is proposed,
introducing sketch-based data structures for assessing both stream density and cluster membership with probabilistic
accuracy guarantees. A count-min sketch using a damped window model estimates stream density.
Bloom filters employing a variation of active-active buffering estimate cluster membership.
Instances of both types of sketches share the same set of hash functions.
The resulting stream clustering algorithm is capable of detecting arbitrarily shaped clusters while correctly handling
outliers and making no assumption on the total number of clusters.
See Stream Clustering using Probabilistic Data Structures and
its R/C++ implementation.
See Google Scholar Account for all publications.
ASE
Professional Master
2010 - 2013
Bucharest University of Economic Studies, Faculty of Economic Cybernetics, Statistics and Informatics
SIMPRE Professional Master Program
in partnership with Oracle, SAP, Microsoft and Deloitte.
Focused on Business Intelligence and Enterprise Resource Planning around SAP and NAVISION development.
ASE
Bachelor of Economics
1998 - 2002
Bucharest University of Economic Studies, Faculty of Marketing
Marketing Research specialization. Dissertation titled “Online Advertising”, 2002.
Certifications
Amazon Web Services
AWS Certified Developer
2023
AWS Certified Developer - Associate
Develop and secure applications by using AWS service APIs, the AWS CLI, and SDKs. Use a CI/CD pipeline to deploy applications on AWS.
Sun Microsystems
Sun Certified Associate
2010
Sun Certified Associate for the Java 2 Platform, SE 6.0
Java Implementation of Object-Oriented Concepts, Algorithm Design and Implementation, Java Development Fundamentals, Java Platforms and Integration Technologies, Java Client Technologies, Java Server Technologies.
Sun Microsystems
Sun Certified Programmer
2010
Sun Certified Associate for the Java 2 Platform, SE 6.0
API Contents, Flow Control, Declarations, Initialization and Scoping, OO Concepts, Concurrency, Collections / Generics.
Oracle
Oracle Database 11g
2010
Oracle Database 11g: SQL Fundamentals I
Restricting and Sorting Data, Single-Row Functions, Conditional Expressions, Reporting Aggregated Data, Subqueries, SET Operators, DML Statements, DDL Statements.
SAP
SAP Certified Development Associate
2009
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
ABAP Workbench, ABAP Dictionary, Open SQL, Dynpros, ALV Grid Control, Unicode, LUW, ABAP Objects, Runtime Type Services, Web Dynpro, SAP Enhancements and Modifications.
Personal Projects
Written in Typescript. Runs in Node.js.
Contains a command line, Docker container, Terraform module and Ansible roles
for distributed cloud scraping.
Supported databases: SQLite, MySQL, PostgreSQL.
Supported headless clients: Puppeteer, Playwright, Cheerio, JSdom.
CI: Github Actions.
Documentation CDN: Cloudflare.
Written in Typescript with class based React components.
Uses Lerna for monorepo management.
Cross-browser extension compatible with Firefox, Chrome, Edge.
Uses IndexedDB browser builtin database for storage.
CI: Github Actions