ICT * Web Full Stack Development and Big Data Engineering

Introduction

I want to apologize for not taking the time to make this blog post shorter.

Have you seen the landing page Full Stack Developer?

My Profile

I’m a language-agnostic and framework-agnostic software architect and full-stack developer. I’m always eager to share my skills with my peers.

Overview

The current software development landscape is extremely fragmented. It is impossible for a single person to know all those technologies. So it is crucial to demonstrate that a person can assimilate any framework and business expertise in a short period.

I try to deliver solutions

  • using the “best” platform or framework for your project, or according to your company standards.
  • which cover your business requirements.
  • which can be maintained efficiently in the future.

These are some of the technologies that I have worked with. Note that the expertise should be considered cumulative; for example I started Relational Database Modelling for Oracle for large database systems in the 1990’s but I’m still actively using that skill today.

2010’s –
  • Cloud Client architecture http://www.gartner.com/smarterwithgartner/gartners-top-10-strategic-technology-trends-for-2015/ (Google Firebase, Facebook GraphQL, Meteor)
  • Classic Server MVC using various PHP libraries, PHP Laravel and Zend Framework with a MySQL RDBMS
  • Node.js backend development with an RDBMS or NoSQL DBMS
  • Progressive Web Apps
  • Native Apps for the Android platform
  • API development using PHP, Node.JS and Golang. Web Service API’S, REST API’s, GraphQL API’s, …
  • Various JavaScript App Development platforms for frontend and backend
  • SPA Single Page Applications using jQuery Mobile and Angular and Aurelia in combination with a backend API
  • Build highly interactive websites using the WordPress CMS
  • MEAN: MongoDB, Express.js, Angular, Node.js
  • SEPN: SQL, Express.js, Polymer, Node.js
2008 –
  • LAMP: Linux, Apache, MySQL, PHP
  • Classic MVC using the PHP Zend Framework with a MySQL RDBMS
2000’s –
  • Client-server architecture using a Windows client and HP-UX server + Oracle RDBMS backend
  • Data modelling of large databases and data warehouses, targeting Oracle RDBMS and Microsoft SQL Server and MySQL
  • Development using Java (JVM J2EE) and Microsoft .NET (CLR C# ASP.NET)
1990’s –
  • Client-server architecture using a Windows client and Digital VMS server + Oracle RDBMS backend
  • Client-server architecture using a Windows client and IBM iSeries server + DB2 backend
  • Server apps using a terminal client with Oracle*Tools (Forms, Reports,…) and Digital VMS server + Oracle RDBMS backend

State of Software Development

The technologies that are used for Enterprise Development and those for Web & Mobile Development are converging. That is why I have implemented several Internet Marketing projects in order to upgrade my ICT Enterprise Development skills.

I have initially used the trends.builtwith.com service to figure out which technologies were trending, and worth the time and money to invest in.

I have designed & developed various Web/ICT projects during the last 5 years such as:

  • Analytics dashboards using InfluxDB Time Series Databases and Grafana dashboards and Golang.
  • Backend Services / REST Web Service API’s developed in the PHP language and the Go language. These also included various client connectors in the languages Golang, JS and PHP.
  • Components and WordPress plugins (PHP + JS) to facilitate development.
  • Facebook Apps.
  • HTML5 Games including the backend infrastructure.
  • LOB Line Of Business applications.
  • Landing pages for products and services.
  • Websites (sometimes using a CMS when it really made sense) with various custom developed backend services.
  • Web apps for mobile (smartphones and tablets). Note: these apps also work on desktops (and are effectively used on desktops).
  • Webshops.

My Projects

  • To develop backend/backoffice services to collect, to transform, to store and to aggregate big data using the Go language and a time-series database.
  • To develop real-time dashboards.
  • To develop websites mobile-first and landing pages that convert.
  • To improve the ICT Infrastructure with stability, security and speed in mind.
  • To improve various Standard Operating Procedures.

Areas of Expertise

API Development

  • Development of REST API’s using various frameworks that are described on this page.
  • GraphQL API’s.
  • REST API’s.

Big Data engineering

  • Hadoop.
  • HDFS.
  • Map Reduce V2.
  • Data serialization using Thrift and Avro.
  • Pipe diagrams using JCascalog.
  • Cassandra.
  • Spark.

Build and Deployment Automation Platforms

  • Bash scripts.
  • Bower dependency manager.
  • Gradle.
  • Grunt JavaScript Task Runner.
  • Maven for Java.
  • WebPack package manager and module loader.

Clouds

  • Amazon AWS: EC2, CloudFront, ELB, Route 53, S3, …
  • DigitalOcean.
  • Google Cloud Platform.
  • Microsoft Azur.

CMS – Content Management Systems

I have recently developed a tailor-made CMS Platform using Node.js and ES2015 (but ES5 on the client), and have used that platform to execute several software projects. The distinctive features, compared to WordPress CMS and Drupal CMS, are:

  • Faster Time To Market.
  • Designed from the ground up for the semantic web.
  • Better protection against hackers.
  • Excellent page speed.
  • Ready for Google AMP.

I have also used the following CMS solutions:

  • Drupal (see below).
  • WordPress (see below).

CSS Frameworks / Web Component Frameworks

  • Bootstrap (V4).
  • CSS3 Flex.
  • Google Closure CSS.
  • Google Material Design.
  • Gumby CSS framework.
  • Pure.css (Yahoo).
  • SASS CSS framework and Compass.
  • Susy grid framework.

Databases

  • Cassandra.
  • MySQL.
  • Oracle DBMS.
  • Redis data structure server.
  • SQLite.
  • SQL Server.

Database Modelling Tools

  • ERwin.

Drupal CMS

  • Developing and customizing Drupal themes.
  • DevOps.
  • Programming in PHP Symfony in the context of the Drupal API.
  • Convering mockups in production-quality solutions.

Enterprise Search platforms

  • Solr by LucidWorks.

Go Language

  • Go language programming.
  • Go language design patterns.
  • Go language standard library.
  • Go libraries for SQLite, MySQL.
  • Developing, testing and deploying Go programs using JetBrains IntelliJ with the Golang plugin.
  • Developing the backend for REST API’s and the client connectors.

Google API’s

  • Google Apps Script.
  • Google Analytics API for Apps Script and PHP.
  • Google Custom Search Integration.
  • Google DoubleClick For Publishers API for PHP.
  • Google Gmail API Integration for JavaScript and PHP.
  • Google Maps API Integration for JavaScript.

Front-End Frameworks

  • Fetch API.
  • jQuery.
  • W3C Web Components (Custom Elements, Shadow DOW, HTML Templates, HTML Import, Service Worker).
  • AngularJS V1 (medior) and Angular 2 (beginner).
  • Aurelia – the next-gen JavaScript client framework for mobile, desktop and web leveraging conventions and empowering creativity (advanced).
  • jQuery Mobile (advanced).
  • jQuery UI (advanced).
  • Polymer web components framework (advanced) for building Progressive Web Apps using the Material Design UI guidelines.

IDE’s

  • Atom.
  • JetBrains IntelliJ for Java, and in combination with the Go language plugin.
  • JetBrains PhpStorm IDE for PHP, Javascript and HTML.
  • JetBrains WebStorm IDE for Javascript and HTML.
  • Microsoft Visual Studio Code.
  • Sublime Text.
  • Zend Studio for PHP and JavaScript.

Information Architecture

  • Color palettes.
  • Concepts.
  • Implementation.
  • Landing pages.
  • Prototyping.
  • Responsive Design.
  • Site hierarchy.
  • Typography.

Java Language

  • Java 8.
  • J2EE – Wildfly by RedHat.
  • Hibernate.
  • JAX-RS Java API for RESTful Services – Jersey.
  • JPA Java Persistence API.
  • Maven build tool.
  • Servlet Containers using JSP Java Servlet – Jetty.
  • Spring Framework (Boot).

Javascript

  • ES5.
  • ES6 (ECMAScript 2015).

Javascript Libraries

  • AES encryption.
  • ColorBox.js
  • Facebook Javascript SDK.
  • Google Analytics API for JavaScript.
  • Google Analytics Embed API for JavaScript.
  • Google Closure JS.
  • HTML5 components such as Audio, Canvas, Form Elements, Local Storage and Web Workers.
  • jQuery.
  • jQuery Mobile.
  • JSON2.
  • Mailchimp List Manager API.
  • Mandrill Transaction Email Service API.
  • Modernizr.js
  • Various Template libraries.
  • yepnope.js
  • …many more…

Message Queues

  • RabbitMQ.
  • Redis message queue.

Microsoft .net

  • C#
  • ASP.NET

Node.js server development

Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js utilizes libuv, a multi-platform support library with a focus on asynchronous I/O.

  • Node.js LTS.
  • NPM.
  • Express web application framework.
  • Promises (Bluebird) and Coroutines (co).
  • Knex data access layer.
  • Jade/Pug template engine.
  • Nunjucks template engine.
  • PM2 (advanced, production process manager for Node.js).
  • Socket.io realtime message framework.
  • IBM StrongLoop API framework.

PHP Language

PHP, the right way 🙂

  • Generators.
  • Interfaces.
  • Namespaces.
  • PSR-4 autoloaders.
  • Traits.
  • Composer and Packagist for dependency management and component definition.
  • PHP V5.5.9 deployment on Ubuntu Server using Apache / Nginx and PHP-FPM.
  • Zend OPCache.

PHP Libraries

  • Bol.com Partner SDK for PHP.
  • Facebook PHP SDK.
  • Google AdSense API for PHP.
  • Google Analytics API for PHP.
  • Laravel Framework.
  • MailChimp API for PHP.
  • SwiftMailer.
  • Zend Framework.
  • Many more, please go to my Github account.

Technologies

  • HTML[5].
  • JSON.
  • XML XSL XSLT.

Version Control and Source Distribution Services

  • Atlassian BitBucket.
  • Git.
  • Github.
  • IBM Rational ClearCase.
  • Sourceforge.net

Web Servers and related.

  • Apache Web Server.
  • CDN Content Delivery Networks.
  • Microsoft IIS.
  • Nginx Web Server (my preference for Proxies).

Website development

  • Architecture.
  • Backend.
  • Front End.

WordPress CMS

Various

  • Build-scripts for all projects (automation).
  • Deploy-scripts for all projects (automation).
  • Design Landing Pages (that convert).
  • Data Feeds Integration.
  • Mashup integration (Google Maps and Google Calendar).
  • Performance optimization of client and server modules.
  • Responsive Design for Desktop, Mobile and Tablets.
  • Rich Snippets, Micro-formats (hot).
  • Sitemaps (pages, geography, video).
  • Social Media Integration.
  • Tagging and Metadata (->SEO).
  • Torrent authoring and content distribution.
  • UI/UX Design.
  • WordPress plugin development.
  • WordPress theme development.

Tools and Services

  • Firefox web development with the Firebug and Web Development add-ons.
  • Google Chrome Dev Tools.

Related Skills