System architect by day, full time geek.
I have been fortunate enough to work with some cutting edge technology on almost a daily basis, working with a skilled and dedicated team. Its a great environment to work in, and find I learn many new things daily. The last 5 years of working in a team on a really exciting project has been extremely fulfilling, helping thousands (and soon millions) of people make better investment decisions, by providing powerful tools to manage their portfolio's.
Technology is awesome and an endless learning curve, and I have the awesome opportunity of playing with, on almost a daily basis, technology such as:
Software
- App servers (ejb, servlet containers) - JBoss, tomcat
- web services - Apache (mod_jk / mod_proxy), node
- HA: heartbeat + ldirector (ipvs), AWS ELB, HA service configuration with mysql, http, app servers, aws, node, mongo, redis, hazelcast, etc.
- AWS - network design and configuration (e.g. vpc, auto scaling, custom ami's, focus on security)
- databases - mysql, mongo
- caches - redis, hazelcast
- splunk (for web analytics, application troubleshooting and system monitoring)
- Jira administration
Development
- java, ejb
- node (javascript)
- scala (unfiltered, akka)
- php
- builders: ant / ivy, gradle, maven, sbt (and custom plugin development for the latter 3).
Infrastructure
- CI (hudson / jenkins, Go by Thoughtworks)
- Monitoring: nagios, cacti (snmp), zabbix, monit, sim, splunk (its that good it can be mentioned twice)
- SVN, git
- network services: network design, dhcp, dns, routing, smtp (DKIm configuration, spf, anti relay, bulk mailing, transactional services).
- security: Firewalling (iptables, cisco, aws)
- VPN: openvpn, IPSec (openswan, cisco, aws)
- configuration management: puppet, kickstart (with pxeboot)
- virtualization: aws, xen (with libvirt).
Marketing & analytics
- Google Analytics
- Splunk (it has so many applications)
- awstats, webalyzer, etc.
Methodology
- traditional SDLC: requirements -> design -> develop -> test -> deploy & reassess. Source code branching and tagging, release.
- agile (scrum approach) - rapid continuous deployment