Curriculum Vitae

Vaughn Dickson, BSc Computer Science

Software Architect

Location: Durbanville, Cape Town, South Africa



When I'm learning something new each day I'm at my most productive. As long as I have enough challenging work that I don't fall into a comfort zone I'll be happy.

I know my strengths and weaknesses and I'm good at teaching others to deal with tasks I've done too many times and grown bored of. Wouldn't you rather have someone who can hand off work to the juniors and support them instead of leaving your company because they're bored?

I started with computing when I repeatedly broke my father's pentium laptop, after mucking around on friends' 386s, and was told to learn how to fix it or stop using it. I quickly learned how to fix Windows 3.1 and DOS, then I got bored of that and taught myself Q-Basic, moved on to PHP, then to Java, and now I'm adding more to my toolbox each year with new languages, frameworks, and algorithms as they interest me. Python, Lisp, Clojure, Android, Arduino, concurrency, etc.

I did a B.Sc. Computer Science in the computational intelligence stream part-time because I'm passionate about the possibilities of computing. I've grown many products from a basic concept to a profitable level using agile development, so I'm not limited to technical work as I've always been heavily involved in the business side of companies.

Education



Skill

Years

Level (1-5)

Java J2SE (1.1-1.6)

11

5

Python

9

4

Shell scripting (Bash)

11

4

Java EE 5

3

4

Web applications (Javascript, various Java web frameworks, JQuery, Scriptaculous, etc.)

11

5

HTML 4.0/XHTML

11

5

CSS

11

3

Servlets

11

5

App servers (Glassfish, Jetty, Websphere)

11

5

Agile development

11

5

Systems analysis

11

5

Business analysis

11

5

Software design

11

5

Software architecture

11

5

Deployment automation

11

5

PHP

4

3

Javascript

11

3

C++

4

2

C

4

2

C#

1

3

SQL and DBA (PostgreSQL, MySQL, Sybase, Oracle, SQL Server)

11

5

Linux sysadmin (Slackware, Debian, Ubuntu, Redhat, SuSE)

11

4

Mac OS X, Windows XP/7

11

4

Eclipse

9

5

Networking (firewalls, protocols, etc.)

11

3

Java Swing

4

3

Version control (CVS, Subversion)

11

4

Management of support/development teams

7

4

Refactoring

11

5

JPos ISO8583

1

4

Maven

1

4

Ant

11

4



Experience

Fundamo, a Visa company (October 2011 – Current)

Started as a senior developer in Professional Services to be groomed for upcoming software architect role. Developed various components to integrate core Fundamo EE transaction engine product with SMS, ISO8583 (banking), USSD, web channels, and other integration points. Mentored junior developers. Started deployment automation initiative after coding proof of concept in my own time. Refactored legacy code and tutored offshore team to stop code duplication. Created load testing tools and uncovered major concurrency bugs in core products, then helped product development team fix them. After only a day's warning I trained 30 Visa employees in Singapore to understand our product and transaction flows and how to support it. Created designs for offshore teams to code and reviewed finished code.

Super Integrity Technology (April 2003 – October 2011)

Software architect for Stem. Cashout, cashflow, ATM management, stock control, recipe management, task management, franchise management, etc. modules running on a custom-built ERP platform. I gathered the requirements, designed the architecture, wrote the framework, trained other programmers to add modules, built extra components and modules, and managed the initial support and development teams, all using an efficient iterative development methodology based on agile development ideas. Java with a proprietary data layer, Jetty-based servlet event framework, and an XMLC and Javascript presentation layer, all running on Ubuntu servers.



Key achievements:



Projects I've built outside of the Stem platform:



Pick ’n Pay Information Systems (April 2002 - March 2003)



Obsidian Systems (Dec 2000 - March 2002):