Rimian Perkins

I'm a freelance Software Engineer and Web Developer with over 15 years experience. If you need a Web Developer to build a website for your business or a Software Engineer for an enterprise application, I can help you!

Based in NSW, Australia, I work remotely on a contract basis. I do travel to Sydney and Melbourne for work and sometimes I visit a client for a few days then I do the actual coding work remotely. These days, having someone on-site is not really necessary if you're hiring an experienced person. Meetings can be held online via Google Hangouts or Skype. Project managers and stake holders can stay informed through a raft of online tools such as bug trackers, test suites, project management tools and monitoring systems.

Transparency and Automation are my things. I don't like to hold on to knowledge when I can share it and I don't want to do something over and over if I can get a computer to do it faster and for free. Ain't nobody got time for that! I'll help you ship a working product that you own yourself. It belongs to you. I also like to have my code peer reviewed and get feedback early. Surprises are for Christmas, not software development. I'm also keen to apply industry best practice to anything I do. For example: This website automates deploy after the test framework says it's OK.

OK, what now?

Firstly, it's a good idea to do a bit of requirements gathering before you engage a contractor. You should know: What the minimal viable product is and who your target audience is. Also, have a good idea of: When the deadline is and the estimated budget. You'll also want a good business plan. Is your idea viable? Is there a market for it? If you know these things, you should contact me. Alternatively, if you need to talk to someone to try and get an idea of these things, I can help with that. All conversations are confidential, of course.


Technical details

Technology is about change and a good software engineer continuously learns.

Unless you're working in a niche sector, no one person can know everything because there is too much to know. A good engineer has a good set of core skills but also knows where to find the right information and how to apply it. A good engineer asks questions without worrying about his or her ego. Asking a silly question is better than making a dumb mistake.

I regularly build mobile and desktop apps in HTML5. I'm experienced: HTML5, CSS3, Sass, Javascript, Node.js, jQuery, AnglularJS, Ember.js. I also have experience with Backbone.js and React. For the back end: Ruby and Rails with extensive tests in RSpec. I've also worked with Minitest, Cucumber and Sinatra apps. I maintain some Linux servers in the cloud. I like to make the software I build talk to other software over a network. Where I can, I test my code before I write it. I've worked on Agile teams too: The largest being at Lonely Planet on a team of between 50 and 100 developers.

Devops! In some circles, you can't get by without dropping this buzzword every now-and-then. So, here it is. For three years I worked at Bulletproof in their Research and Development team. We did devops every day. Actually, that's pretty much all we did. I didn't really know what it was until I had been doing it for quite some time. That's how good we were at it.

This is open source. I contribute to open source projects and I build open source projects when I can. Even this website is open source (but the content is copyright). It's preferable for a developer to have all their code reviewed before it ships to your production server. Sometimes a small team does not have the resources to do that. Open Source can provide additional resources for peer review. Of course, you're not forced to adopt an open source model if it's not suited to what you need.