Software Consultant & Architect - From Concept to Delivered Product
Hi, I am Robin, a software architect. Orignally from New Zealand, and now in the Gold Coast, Australia for over a decade. (been in Australia since 1998)
Dedicated to building clean maintainable and scalable software solutions using best of breed processes and standards throughout the full SDLC. From concept to delivered product.
I have been programming since a kid with my Atari 800XL in the 80’s, similar to a C64 (Commodore 64), and been developing various web and desktop solutions since 2000 for web agencies and software companies in various stacks.
My Core skills are :
- Software Consulting - Let’s have a discussion
- Software Architecture - I can architect an entire web or desktop system from scratch, or using off the shelf CMS’s, or any combination. with documentation, design principles.
- C# .NET - .NET Framework, .NET Core - done it, over and over since 2005, and consistently improve.
- DevOps - From Windows System Admin, Cloning, IIS, Command line administration, writing Tools, Batch Scripts, Powershell etc. CI/CD, Azure DevOps. Ahh yeah since Windows 3.1, 95/98/ XP, 2000 etc.
- Worked in 3 Digital Web Agencies (SydneyWeb, Tequila Digital, Amnesia Razorfish- first place to have Microsoft Surface Table in Australia)
- Created many personal projects (most of which I’ve forgotten)
- Created Desktop Music Scheduler (Emstream)
- Consulted and recommended solutions to projects that went haywire from other companies
- Created Entire Web Architecture based off a desktop product for Insurance Software company (iaAnyware - insurance advisernet) with thousands of clients around Australia and New Zealand.
What have I actually done that is useful:
- Built custom CMS’s in PHP and .NET
- Custom Web applications in PHP (5 years), .NET (14 years)
- Desktop application running in hotels, and restaurants
- Build and Deployments with MSBuild, Powershell, Batch files for backend, frontends using NodeJS, Aurelia etc
- Lots of internal tools
- Chrome Extensions (raw js, and with jquery)
- Written lower level (well as low level can be in a high level language) base libs for configuration, deployment, multiple build environments. Abstracted wrappers and tools for things like MongoDb, Azure file storage and repos. So when you deploy to different environments, all the correct config is loaded and ready, and also provide different environments for different authentication tokens per request.
- Technical Docs, specs, flowcharts, wireframes, architecture etc.
- Fixed up problems (some to the tune of hundreds of thousands of dollars)
Development Tools Used Often:
- C# (VS/Resharper) .NET Core (or Framework for older legacy - Though I converted dozens of .NET Framework libs to .NET Core)
- VS Code, with launch and build configurations for C#, NodeJS, etc
- Azure DevOps, and Azure Services, Azure Storage Explorer
- LinqPad - for scratchpad
- XUnit, and with Resharper in VS, running and debugging unit tests
- GitKraken - was SourceTree and Command line Git however gitkraken is nice and fast to get things done.
What I consider standard:
- Unit Testing (yes and with TDD, however on legacy projects this is not always possible)
- S.O.L.I.D design principles
- Pragmatic Programming
- Slowing down to speed up
- What people expect from a web application today!
How come I dont have a blog?
Well around 2005-2007 I did have a blog, however it was hosted on a paid hosting provider, and I was too busy working on actual software projects and well…. life, that I didn’t get a chance to update it often.
However you can visit one I setup in 2010 when I was doing development using the DotNetNuke CMS Why DNN Sucks this utilized WordPress free hosting which is why it still exists today in 2019. I was very vocal about this because I could see a way to do things better.
A brief journey?
Started with HTML in 2000 in a course (Southen Solutions Hurstville, NSW), presented a project to the education minister at the time John Aquilina on how webpages could improve their education syllabus.
Than for about 5 years to 2005 I worked with Netscape composer, Dreamweaver, PHP (LAMP Stack), cms’s such as PhpNuke, XOOPS, Mambo (now joomla), drupal…. also did a diploma in webdevelopment and cert iv in web design, and a cert iv in small business.
Than around 2005 I started to get into C# .NET and found an excellent book was Murach’s C# 2005, from there I got Pro C# .NET 3.5, and Pro Linq .NET 3.5, and various other books. Than of course stack overflow came out, and other online resources.
What type of software can I do?
Well, every project I have been hired for, I have been able to create and realize to completion….so there is that.
Why hire me
I know what I am doing in regards to professional software development, it’s more than just the tools, languages and platforms that are constantly changing…. it’s about problem solving, finding creative approaches that suit the situation.
- I am self motiviated and keep updated.
- I work well with others, or solo.
- I can talk tech, or human.
- I learn continually…. what was great 2 years ago, may not be now.
Well, I’m a long term thinker, strategist. I can whip up software quickly as any other developer, however I aim to build software designed to last, incorporate future changes, easier to refactor, using abstractions, just good programming practices. I have been doing this long enough to know quirks, patterns and trends which gives me some insight as to where things are heading.
What can I do for you today?
16/11/2019 Did an online personality test at the request of a job role: results are https://www.16personalities.com/enfj-personality
Some Personal Projects (warning: dragons ahead danger)
These were either quick tools, or experimental repos I created, the code prob wont include too many unit tests, however still fairly clean and structured.
- Lead Generator (well web scraper), check video here. While working for a marketing company that had telemarketers, they found leads were outdated and old.. so as a side project I figured I would just scrape a few websites to get contact info as an experiement. this was in 2009. I got offered a fairly large sum to provide the app and source to a company, which I declined as it was a competitor to one of the websites I was scraping.
Bitbucket repos (some are from 2010)
- JS FormViewer Chrome Extension
- JS NoPayWall Chrome Extension
- Umbraco CMS Project Templates VS 2010
- Website Scraper For Lead Generation
- DotNetNuke External HTML Module
- DotNetNuke Event Log Viewer
- DotNetNule Content Exporter
- File Renamer
- MultiThreaded Application Browser And Downloader
- Google GeoCoder
- Electroneum Crypto Currency Instant Payments .NET Lib
- DotNet CLI Tool to view and set nuget versions across projects
- DotNet CLI Tool to get git status for multiple projects
- DotNet new Templates
- Convert Legacy .csproj files with Packages.config to new .csproj
- Assembly Info Updater
- Simple Slack Posting Lib
- Simple Authentication Token Client
- DNX Migrater - dnx was the original command line and json format for .NET Core
Fork to add some encodings
I needed to create some custom nuget packaging process, so needed to learn how nuget does its thing under the hood.
ModBak was a module to backup ModX based website file(s) and database into a single zip archive in one step.