Resumé

cv

Toby Kurien

Electronics Engineer, Full-stack Web and Mobile developer

Where: Midrand, South Africa
Current job: Independent contractor, Freelance software engineer
Education: BSc. Electronics Engineering from University of KwaZulu-Natal
Skills: Full-stack developer skilled in Java, Web technologies, Electronics and Android
Contact: http://tobykurien.com/contact

Looking for my Linked-In profile? I deleted it due to the large amount of recruiter spam and meaningless endorsements.


Summary

I am an electronics engineer who specialises in software engineering. I started programming in BASIC on an 8086 PC, then assembly language on PC and PIC microcontroller, wrote an IDE in Turbo Pascal, an IRC client in C++, real-time digital audio processing software for a 486SX33, Windows miniport drivers and embedded firmware for PCI satellite receivers and set-top box satellite decoders, a real-time web-based steel plant monitoring system utilizing Java applets (back in 1998), a content management system in Cold Fusion, an even more advanced one in Java, social-networking applications in Ruby On Rails, mobile websites in Python using Django, native Android and BlackBerry 10 apps, a domain-specific language for Android, machine learning solutions in Python, and geospatial web applications.

I co-founded a successful software development company, created multiple startups, and spent 5 years freelancing as an Android developer as a way to help build solutions for other startups as well as NGO's. I have run training workshops at universities across South Africa, presented several times at high-profile conferences as well as user groups, participated in and mentored at hackathons, mentored startups, co-founded a maker space, and have created and contributed to several open source projects.

My goal is to use first-world technology to help solve third-world problems.


Skills and technologies

  • I am a senior software engineer and also a hardware engineer mostly working with digital circuits.
  • I have a wide range of knowledge of most technology stacks (all the way up from the hardware level). I've been building electronic circuits and coding since the early 90's.
  • My favourite things to build: Web apps, IoT devices, and gadgets using Arduino, ESP32, and Raspberry Pi.
  • My coding style is to favour simplicity and readability (code reads like English), and avoid boilerplate code and dependencies as much as possible. As an example, I wrote Xtendroid which is a domain-specific language for Android, and I gave a talk on writing web apps without using a framework.
  • I like using the right tool for the job, e.g. Java for backend servers, C++ for embedded devices, Python for Raspberry Pi coding, Bash scripting for devops and automation, CLI and text-based tools for general computing. I have a strong preference for open source tools. Vim or Emacs? Vim. Tabs or spaces? Either as long as it's consistent.
  • I am a tech enthusiast and build my own gadgets, self-host my own servers, write my own apps, etc. I am privacy-conscious and avoid Big Tech as much as possible.
  • Some projects I've worked on can be seen on my GitHub profile, but since 2018 I've moved most of my personal code and projects into self-hosted Fossil repositories.

Some technologies I use(d) and am familiar with (in no particular order): HTML, CSS, JavaScript, JQuery/AngularJs/Polymer/WebComponents/React, Node.js, TypeScript, PHP, Ruby on Rails, Python, Django, x86 Assembly language, Atmel/8051/PIC/MSP430/ESP8266/ESP32 microcontrollers and embedded progamming, Arduino, Electronics, Schematic capture and PCB design with KiCad/Eagle, Raspberry Pi, C, C++, Qt5 + QML, Open GL, libGDX, Processing, PhoneGap, Blackberry Cascades, Android SDK, Windows Phone 8 SDK, Xcode, Java, J2EE, JavaFX, Tomcat/Resin/Jetty, Hibernate/iBatis, Spring, OSWorkflow, BIRT reports, Memcached, Xtend/Groovy, Eclipse/IntelliJ/VS Code/Vim, Ant/Maven/Gradle, CVS/Subversion/git/fossil, Sqlite/H2, MongoDb/CouchDb, PostgreSQL/MySQL/Microsoft SQL Server, REST API interfaces, BaasBox, Wordpress/Joomla, Pelican, Windows, Ubuntu/Arch Linux/Debian/Red Hat/NixOS, iptables and IP routing, Mac OS X, LAMP stack, VMWare/VirtualBox, Docker/Podman, Rust, Python Scikit-learn/Pandas/Numpy, iPython/Jupyter notebook, Pygame, Octave, 3D CAD design with OnShape/FreeCAD, 3D printing, Cloud Foundry/Bluemix, IBM Watson APIs, Mapbox/Leaflet, GeoJSON/GeoTIFF, GeoServer, QGIS, and many more...


Education

Coursera
Machine Learning, 2015
Completed the "Machine Learning" online course with a 96,5% final grade.

Henley Management College
Supervisory Management, 1999

University of KwaZulu-Natal
BSc Eng Electronic, 1993 - 1996

East London High School
Matric with distinction: Physics, Maths, Geography, Biology, 1986 - 1992


Honors and Awards

  • Awarded IBM Top Performers 2020
  • Winner of IBM Bluemix Build competition, 2016
  • Winner of Mobile Web Africa app contest, December 2012
  • Winner of Momo "Changing the world through innovation" competition, 2012
  • My team was 2nd runner-up (June) and winner (December) in Random Hacks of Kindness, Pretoria 2012
  • Completed "Tomorrow's leader" programme at Columbus Stainless, 1999
  • Best Applications Development at Columbus Stainless, 1998
  • Certificate of Merit from Univerisy Of Natal for "Data communications and telematics"
  • Dux award from East London High School (1992). I was the top matric student at the school, only 16 years old.
  • Commendation award from East London High School for "A" aggregate (1992)
  • Awards from East London High School for outstanding student in: Science, Maths, Biology, and Geography (1992)
  • Award for outstanding achievement in National Science Olympiad, 1991
  • Merit award for outstanding performance in "Science 8 contest", 1990

Experience

Independent contractor and Freelance software engineer

September 2023 - Present

  • Web and mobile applications
  • Large language model applications

Research Engineer at IBM Research Lab

May 2016 - August 2023

Jedi Council (founding member) at House4Hack

August 2011 - Present

  • Open hardware and open software tinkering/making
  • Electronics prototyping: Arduino, Raspberry Pi
  • Research and development of open hardware and open software based solutions for commercialization or philanthropy.
  • Presented the PiScope project at ScopeX 2015, Pretoria Astronomy society, and the Joburg Astronomy society (2015).

Some projects worked on

  • NRF Glider - flight electronics and firmware for our own DIY slope soaring glider
  • Aquaponics - a self-sustaining mini-ecosystem of fish and plants. I build a small desktop system as well as a 500 litre IBC-based system with Koi fish that has been running for many years
  • PiScope - a 3d-printed, arduino-controlled, Raspberry Pi-powered optical tracking telescope
  • House4Hack smart watch - our very own bluetooth smart watch!
  • BluMote app and bluetooth remote control for smartphones. Panic button and other programmable features. This project won both app competitions it was entered into.
  • MakerDroid app for Samsung Galaxy Note allows user to draw out shapes and have them converted to 3D, for printing on a 3D printer. My pitch video featured on Engadget!
  • DroidOrb android docking station

Freelance Android development and training

May 2010 - May 2016 (6 years)

  • Created several open source projects, such as the Xtendroid library for Android development, and the Sparkler web framework for backend development
  • Android apps: the initial apps for Fancy, app for a large local ticketing company, Robert's Multimedia Birds of SA app, apps used by Sangonet (an NGO) in Kenya and Zambia for data collection, Zulu educational flash-card app, and many startup and SME apps
  • DSL-driven Android development talk at the Johannesburg Android User Group.
  • Successfully completed the Coursera machine learning online course.
  • Judging for the SAB KickStart Ignite programme (2015)
  • Mentor for the Geekulcha Hackathon in Midrand (2015)
  • Mentor for the MIT Global Startup programme at Wits (2013, 2014, 2016)
  • Ran the Android Vodacom Developer Programme workshops at Central University of Technology (Bloemfontein), Durban University of Technology (Durban), Stellenbosch University (Cape Town), North-West University (Potchefstroom), and Nelson Mandela Metropolitan University (Port Elizabeth) between 2012 and 2013. Also presented at the roadshows in Durban, Bloemfontein, Port Elizabeth and Polokwane in 2011.
  • Several appearances at MOMO Joburg: presentation on Android, a live Android app development demo, a panellist and judge for an app competition, and winner of the innovation competition in May 2012
  • Winner of the Mobile Web Africa 2012 app challenge (November 2012)
  • Participant in many hackathons, e.g. Random Hacks Of Kindness, Global Game Jam
  • Several Android presentations at Tech4Africa (November 2012, October 2014)
  • Android advocacy and Java course Advisory Board Member (2013, 2014) for CTI training institution
  • Panellist at VAS Africa and Endeavor SA events
  • Presentations at JoziJUG: The Android Difference (April 2012), Xtend (August 2012), Sparkler (December 2013)
  • Android workshops at House4Hack, UNISA, Wits, and others

Part-time Volunteer at African School for Excellence

June 2012 - January 2016

  • Volunteer at the outstanding African School For Excellence
  • Set up the technology for running the classrooms, which uses: Moodle, Khan Academy, Google Chromebooks
  • Set up the wifi and local networks
  • Set up offsite backups and remote access for sponsors
  • Created peer marking software for grading english essays
  • Created quiz-taking software

Developer and mentor at Pledger

June 2014 - May 2016

  • Built the prototype Android app and backend for Pledger
  • Integrated with 3rd party data providers
  • Built a data capturing tool using HTML5 and Web components
  • Mentoring and helping to define and build the MVP for launch

Programmer and Founder at JTS Technology Concepts

March 2010 - March 2011 (1 year 1 month)

  • Created the Cred startup, a micro-payment gateway with Wordpress integration and a REST API for third-party integration, allowing authors to monetize their content.
  • Created the eFlatz social networking site for gated communities, allowing inter-unit and body corporate communications, amenities bookings, social clubs, classifieds, as well as contacting 3rd party suppliers/contractors.

Contractor at MarkeTech

September 2009 - February 2010 (6 months)

  • Implemented frameworks that integrate Java technologies (such as Spring, iBatis, Struts, BIRT) for commercial retail software to enable rapid application development by junior developers. The framework is integrated into an existing international retail software package to allow changes and customisations to be made in orders of magnitude faster than was previously possible.

Senior Software Engineer, Co-founder at Cambrient

September 2001 - September 2009 (8 years 1 month)

  • Designed and built a Java based content management system for large internet sites, such as Moneyweb, South African Tourism, etc.
  • Built several frameworks for front-end development, one being a javascript library that was used to build dynamic websites such as Automark

Contractor at Online liquidity

2004 - 2004 (less than a year)

  • Implemented a framework to allow multiple sites to run off a single CMS with the ability to create a new site in seconds.

Contractor at Investec

January 2001 - August 2001 (8 months)

  • Implemented a content management system using Allaire/Macromedia Spectra that ran on ColdFusion. This CMS was implemented in Private Bank, Asset Management, and Securities for internal use.

Senior Software Developer at VWV Interactive

2000 - 2001 (1 year)

  • Built client websites (both front-end and back-end) using ColdFusion and Java.

Software Engineer at Altech UEC Technologies (Pty) Ltd

1999 - 2000 (1 year)

  • Wrote software for a new PCI-based satellite internet card developed by UEC. Wrote the firmware to strip IP packets from the MPEG stream, wrote the Windows miniport driver to pipe the IP data from the PCI card into the Windows PC by DMA'ing the data to the PC's RAM, and then re-constructing the IP packets and sending it up the network stack.
  • Wrote a Visual Basic app to monitor and control the signal and tuning of the PCI card from the user's system tray.
  • Wrote subtitling software for DSTV decoders, as well as smart card drivers.
  • Designed the hardware for an improved, low-cost version of the PCI card.

Systems Engineer at Columbus Stainless

1997 - 1998 (1 year)

  • Built the Columbus Stainless Intranet from scratch.
  • Built a real-time plant monitoring web application. I wrote a server in Visual C++ to gather data from the steel plant and render it into HTML. I wrote a java applet that connected to the server from the client PC's, and refreshed the browser as soon as data was available. This was web-based real-time push with a graphical visualisation of the steel plant caster, done in 1998.

Recommendations

"Working with Toby is an absolute pleasure. Not only is he one of the most detail oriented people I've worked with but he's efficient and always finishes his projects before time. Whether it's Web or Android development Toby is on-top of the latest trends and with his wealth of experience he can set you straight on what is possible out of the platforms he builds on. I could not recommend Toby more."

-- Saul Kropman, Founder, Cred Paywalls, worked directly with Toby at JTS Technology Concepts

"Toby is a highly skilled technology expert / architect. He works very fast and efficiently. Toby has his finger on the IT industry's pulse, and has a particular interest in mobile (Android / iOS) development. I found it very motivating working alongside Toby. He has a great personality, and with his engineering background, is always busy with an amazing technology project. I recommend Toby, and I hope we can work together again in the future."

-- Martin Coetzee, Technical Director, MarkeTech Technology Solutions, worked directly with Toby at Marketech

"I had the pleasure of first meeting Toby when we both completed the B.Sc degree in Electronic Engineering at the University of Natal. He immediately struck me as a highly motivated person with a flair for software engineering. Our paths crossed again when Toby joined Altech UEC's DVB-Satellite PC card project, where he added tremendous value in the embedded firmware, and network interfacing of the satellite modem. More recently, I had the privilege of receiving a crash course/demonstration from Toby on the Android system and its potential for use in other consumer electronic devices. Toby's passion for technology and its application comes through in leaps and bounds, and makes him a real asset in this environment."

-- Rajesh Madhanlala, Systems Engineer, Altech UEC Technologies (Pty) Ltd, worked with Toby at UEC

Toby, as the maintainer of the Android IMSI-Catcher Detector Project on GitHub, I cannot thank you enough for your awesome contributions to our open source App! We, the whole AIMSICD team and I, have been crawling the web for weeks, introduced our project in multiple forums - but finding a privacy-minded Android Developer like you, who is also willing to contribute for free to an open source project on GitHub is extremely hard these days. No joke, nearly impossible!

Then, I found your wonderful website, read about the stunning work that you've accomplished so far and instantly noticed that I like the way you talk about your goals in life. Because, is it not what everyone should be dreaming of? Getting in touch with you was just a pleasure! You not only refreshed our team by joining us, but also commited high-quality code and many very important bug fixes on GitHub. If anyone would ask me which developer to recommend for their next funky Android project, I now have an answer which I am proud of: Toby Kurien! THANK YOU.

-- SecUpwn, maintainer of the Android IMSI-Catcher Detector project, worked with Toby on GitHub


Publications