Programming can be fun and is ultimately a creative art. I like creating applications out of nothing using rapid development tools like Elixir and Ecto.
Even if programming is more about fixing than it is creating, I always feel a burning desire to improve, rewrite and do things better.
Approach each task knowing there is more than one solution this will help you develop skills used to solve problems, improve or rewrite code.
Here is my professional timeline
May 2021 - Present
Libraries / technologies used:
Elixir / Plug / Phoenix
Ecto / EctoSQL
Elasticsearch
RabbitMQ
Redis
October 2018 - April 2021
Libraries / technologies used:
Elixir / Plug / Phoenix
Ecto / EctoSQL
GraphQL using Absinthe
Docker / Bitbucket CI
April 2015 - September 2018
Libraries / technologies used:
PHP / Mysql
Symfony2
Memcache
Gearman / RabbitMQ
Varnish
October 2014 - March 2015
Libraries / technologies used:
AngularJS
jQuery + jQuery UI
Underscore.js as templating engine
RequireJS
Promise API
Bower / Yeoman
Bootstrap 3
Ajax
September 2012 - September 2014
Responsibilities:
Added release and transfer of domains and refactored the entire domain api client from Donhost.co.uk
Build from scrath the integration of gTLD portal with Webfusion UK website (integrated OAuth to existing authentication system, added new features to APIs to handle the gTLD portal requests)
Resolve some of customer tickets
Libraries / technologies used:
Perl / Mysql
Catalyst Framework
OAuth2 Protocol
Apache2 - CGI / mod_perl
DBIx::Class & Rose::DB
Web Services exposed with REST
May 2012 - September 2012
Libraries / technologies used:
Ruby / Ruby On Rails
Single sign on ( OAuth2 )
Image Processing
June 2012 - August 2012
Responsibilities:
Added more features on sms gateway (Kannel) using Zend Framework
Improved XMLRPC Server/Client library to support multipart messages
Created unit tests for sms gateway
Wrote documentation
Libraries / technologies used:
PHP / Mysql
Zend 1.6
Doctrine
Kannel
Redis / Memcache
SMPP Protocol
May 2011 - April 2012
Responsibilities:
Added two payment methods: Invoices and PayNow ( method which allows customer support to generate orders and send back to client to pay )
Implemented the voucher system for all brands: Webfusion UK, Webfusion ES
Improved website loading time by adding memcache
Modified the provisioning system tool to pick up failed baskets automatically
Refactored and fixed the bundle promotions and admin order interface
Modified the firewall web interface
Libraries / technologies used:
Perl / Mysql
Catalyst Framework
Apache2 - CGI / mod_perl
Supervise monitoring
DBIx::Class
Gearman
Memcache
Web Services exposed with SOAP and JSON-RPC
September 2009 - June 2011
Libraries / technologies used:
PHP
Mysql
jQuery
CSS
HTML
September 2008 - June 2011
Description:
Algorithms and Programming
Computer Architecture and Operating Systems
Object Oriented Programming
Formal Languages, Automata and Compilers
Design and Analysis of Algorithms
Information Security
Artificial Intelligence
Bioinformatics
Computer Networks
C/C++
Java
.NET
Web Programming
September 2009 - June 2011
Field of Study:
Information Technology