About Me

Me

My name is Elliott Draper, and I’m a computer programmer residing in Hampshire in the United Kingdom with my wonderful wife, and my three amazing kids. I mainly code with Ruby and JavaScript; for the most part using Ruby on Rails, React and React Native. I also use C# and Unity. I love coding, and I run my own app and game development company, KickCode.

I first started tinkering with computers and programming at the age of six with the help of my father, and since then have always had an interest in the inner workings of computers, and the software that makes them tick. Initially learning BASIC, QBasic, and then on to Visual Basic, I moved on to learning Pascal and Delphi while in school, and C/C++ in my own time. I then progressed to working with .Net, both Visual Basic .Net, and Visual C# .Net, and eventually ended up working full-time with .Net once I left school. Since then, I taught myself Ruby, and switched to using it full-time a number of years ago, for web applications using Rails, and for iOS, Android and macOS apps using RubyMotion. I've also been working with the React and React Native frameworks to use JavaScript to build apps for web and mobile respectively, and I've re-visited my C# experience when working on games using the Unity game engine. Additionally, I've been learning Go, and playing with Rust.

Professional Experience

  • Over 17 years of experience working with web applications (since September 2003)
  • Worked with Microsoft .Net, and specifically C# for over four and a half years (September 2003 to May 2008)
  • Have been using Ruby and Ruby on Rails for over eleven years now, firstly doing part-time contract work, and now full-time (since February 2006)
  • Great experience with core web technologies such as HTML, CSS and JavaScript, and also with leveraging AJAX, and SPA frameworks to create rich user interfaces on web applications (since September 2003)
  • Using RubyMotion for over five years, firstly on iOS apps, and then on Android and macOS apps (since May 2012), going on to write a book about using RubyMotion to build Mac desktop apps (Building macOS apps with RubyMotion)
  • Leaning on my experience with C# and interest in game development to build games with the Unity game engine
  • Experience working for myself, firstly as a freelancer doing web development work (since March 2009), and now running my own limited company, KickCode (since September 2010)

Skills

  • Besides C#, Ruby and JavaScript, also experienced with a number of other programming languages, including ASP, Perl, Java, VB, C/C++, Python, Lua, Go and Rust
  • Experience with a number of different RDBMS systems, with the majority of my work being with MySQL and Microsoft SQL Server. Have also completed large projects using PostgreSQL, and for lighter weight applications, SQLite
  • Am experienced with various source control systems as well, using SourceSafe for a number of years, before using Subversion, and now mainly using Git
  • Have run my own servers for many years, and so have gained a lot of system administration experience. Proficient at using Bash for scripting (although I now prefer Ruby for system admin tasks where possible)
  • Have used a multitude of web servers over the years, with IIS, Apache and nginx being the main ones. Used Mongrel, Thin, Passenger, and most recently Unicorn for hosting Ruby web applications
  • Experience with performance tweaking and fine tuning to make sure an application can withstand increased load as it scales - I have worked on sites that have over 3 million unique visitors a month, where performance is crucial
  • Have used and worked with all versions of Windows since Windows 3.1, and have used Ubuntu and Fedora Core Linux distributions extensively. I now use a Mac most of the time, and so have a lot of experience with using and developing on macOS

Besides programming, my other main passion is fitness and martial arts, and specifically karate. Alongside my wife and kids, we've been budding karateka for a number of years, and in late 2019 I successfully graded for my 1st Dan black belt in karate, and I now teach a few classes a week, as well as training 6 days a week myself, and competing at numerous competitions with the rest of the family. I also enjoy playing videogames, making music, and have recently been playing around with motion design too.

Black belt