× {{alert.msg}} Never ask again
John Hamelink

John Hamelink

CTO: Elixir, Ruby, Rails, Android Developer (and scrum master) with 10+ years experience

Edinburgh (+00:00)
English
ABOUT ME
I've now completed over 115 sessions on Codementor! I'm a consultant developer who's been coding for over 10 years now; 6 of those years professionally. I mainly work in Rails, EmberJS and Elixir these days, but I've built things in languages ranging from C to NodeJS to Go. I've had the opportunity to have large multi-nationals on my client list such as Mozilla, IBM, 888.com, and multiple large financial businesses. Outside of Codementor, I'm a CTO at a Startup in Scotland, as well as a consultant adviser for various startups and small businesses in Scotland and the UK.
EXPERTISE
13 Ruby on Rails
9 Ruby
7 JavaScript
6 HTML/CSS
4 jQuery
3 Postgresql
Ruby expert help Ruby - 2 years experience
I use Rails every day to build complex apps for my clients. I have experience building completely Test Driven apps (using TDD principals). I use continuous integration to enforce testing within my own company.
Ruby on rails expert help Ruby on Rails - 2 years experience
I use Rails every day to build complex apps for my clients. I have experience building completely Test Driven apps (using TDD principals). I use continuous integration to enforce testing within my own company.
No icon Grape - 1 year experience
I've built 5 APIs that are in production and have been maintained through multiple major revisions. I can help you understand how to build maintainable, scalable APIs in ruby using Grape, as well as share some snippets I use to help DRY up my code when building APIs.
Amazon expert help AWS - 2 years experience
I run a cluster of AWS instances which handle 60,000 active users per day. I have built systems for large corporate clients which have handled 200 million hits a day. I use Arch Linux with bspwm as part of my daily workflow. I believe that if you are building tools for a specific operating system, you should use that operating system to develop in.
No icon Elixir - 1 year experience
I've been building and maintaining in a API which has been in production (and under constant development) since Februrary 2016.
No icon Phoenix framework - 2 years experience
I actively work on an API which handles 60,000 active users a day and makes heavy use of Ejabberd for chat.
No icon Postgresql - 3 years experience
Exeprience with use of Postgres at scale, including using RDS, JSONB, Hstore, PostGIS, even custom extensions!
No icon Ansible - 2 years experience
I use ansible for all of my server management and configuration on my production machines. I submitted a patch for a bug in Ansible that was causing problems for people with dashes in their MySQL databases. I've amassed a rather large library of Ansible roles (collectd, fail2ban, hosts, imagemagick, mysql, backup (ruby gem), nginx, nodejs, php, postgres, rails, postgres_extensions, repo, rvm, initd, redis, timezone, valkyrie (mysql -> postgres conversion), and wordpress to name a few) which I use daily to deploy my apps. I've written and open sourced roles for Kibana, Logstash, and Elasticsearch.
No icon Consul - 1 year experience
Consul is a relatively new technology that allows you to automatically discover and collect information about the servers in your network. I've deployed Consul across all of my servers, and I've written a ruby gem ( https://github.com/WeAreFarmGeek/diplomat ) that allows you to harness it's Key-value store. I've also written a simple NodeJS Script ( https://github.com/WeAreFarmGeek/envoy ) which connects consul with ha_proxy.
Git expert help Git - 5 years experience
I use git daily, and have picked up a myriad of tricks on how to handle specific situations cleanly, as well as how to avoid them in the first place. I've contributed to open source projects where good version control etiquette is important and enforcement of best practices is crucial.
Server expert help Server - 8 years experience
I run a cluster of AWS instances which handle 60,000 active users per day. I have built systems for large corporate clients which have handled 200 million hits a day. I use Arch Linux with bspwm as part of my daily workflow. I believe that if you are building tools for a specific operating system, you should use that operating system to develop in.
Javascript expert help JavaScript - 8 years experience
I've built realtime financial systems in NodeJS & websockets. I've built mobile web apps in Sencha for large organisations. I've built countless websites using jQuery, and I've written a few jQuery plugins: https://github.com/johnhamelink/jquery.modal.suck https://github.com/johnhamelink/isOK.js
Jquery expert help jQuery - 8 years experience
I've built countless websites using jQuery, and I've written a few jQuery plugins: https://github.com/johnhamelink/jquery.modal.suck https://github.com/johnhamelink/isOK.js
Html css expert help HTML/CSS - 8 years experience
I've been building HTML and CSS layouts for a long time now. I've done everything from blog layouts all the way up to network visualisations.
Php expert help PHP - 10 years experience
I've been using PHP since PHP 4.4. I've built massive websites in PHP, including large Ecommerce sites with over 1million products, complex custom CMS systems, and API servers.
TUTORIAL
I CAN HELP YOU WITH
GITHUB
exrm_deb 47   7
Create a deb for your elixir release with ease
HTML Shell Elixir
ansible-kibana-elasticsearch-logstash-logstash-forwarder 20   1
Ansible roles for Kibana, Elasticsearch, Logstash, and Logstash-forwarder
blade.vim 15   8
Blade template engine syntax highlighting for vim
PHP VimL
ansible-kibana 11   0
Kibana playbook for ansible
env-zsh 10   2
Automatically load environment variables from a .env file in your current working directory, triggered when you change directory.
Shell
STACK OVERFLOW
 Reputation: 190
  •  Silver Badge: 2
  •  Bronze Badge: 21
ruby-on-rails activerecord ruby-on-rails-3 rails-migrations
REVIEWS
Average Rating
4.9
(92 ratings)
Awesome mentor!
84
Pretty good
6
Could've been better
2
Needs improvement
0
Unsatisfactory
0

He's the best on Codementor by FAR!
Jack Zerby Oct 19, 2016

John was very helpful in establishing the way to properly test/debug a not-straightforward deployment of a feature
Hans K Oct 08, 2016

He doesn't have a huge experience in field area, that needed me, but I received some useful advises and next time when something goes wrong with my project I'll call him.
Vadim Sokoltsov Oct 04, 2016

Very quickly understood my problem despite my poor attempt to explain it. Great service.
Samuel Smith Oct 03, 2016

Brilliant as usual. Very knowledgeable. Always great to work with.
Matt Sep 22, 2016

John was able to jump in and help me solve my problem right away, quickly and efficiently. HIGHLY recommend!
Jack Zerby Sep 21, 2016

Knowledgeable fello and explains complicated and abstract concepts well.
Damon Sep 20, 2016

I found it tremendously helpful to be able to call on the guidance of John at the critical stage where a prototype is being turned into a production product.
Hans K Sep 12, 2016

John is very knowledgeable, he helped me solve a difficult task involving S3, Javascript and Rails, he knew his way around and he had even previously solved a similar issue, he also has a lot of knowledge also in remote collaboration tools and which sped the process up
Agustín Leñero Sep 08, 2016

Awesome job! Thanks so much for your help!
Dimitry Nazarov Sep 02, 2016

John practically pulled an all nighter to help me out just in time for an all important demo.
Hans K Aug 30, 2016

Incredible stamina, and candid perspectives. Thank you for pulling me through this...
Hans K Aug 30, 2016

"John, can you do an abstracted API integration wrapped into a gem?" "Sure" Fast forward to the end of the session: implemented, tested and ready to roll.
Hans K Aug 29, 2016

Step by step, taking my app to a wholly different level at breakneck speed I wouldn't have dared to dream of before getting in touch with John.
Hans K Aug 28, 2016

Great session (again)! I find great peace of mind knowing I can count on John.
Hans K Aug 28, 2016

Significant refactoring. Will be back for more!
Hans K Aug 27, 2016

John, helpful as ever. Need I say I will be back for more?
Hans K Aug 26, 2016

Couldn't be more helpful in terms of helping me think about refactoring my app. Also taught me a few techniques and alerted me to some gems that I don't know how I ever lived without!
Jonathan Libov Aug 26, 2016

John was very quick at pointing out the issue holding uo production deployment. Thanks!
Hans K Aug 21, 2016

Another awesome session with John. I keep coming back for more...
Hans K Aug 21, 2016

Great help refactoring and fixing complex location and model code.
Max Aug 19, 2016

Another great session with John. I appreciated how he took a couple of steps back to challenge me on the fundamentals (i.e. db design), before diving back into the coding. Just what I needed!
Hans K Aug 16, 2016

John stepped in on a moments notice and showed instant understanding of what I was looking for, and then executed on my requests on the spot with incredible stamina. I will be back for more!
Hans K Aug 15, 2016

Super fast, really helpful!
BETH Aug 11, 2016

Nice logical approach to fixing the issue I had. Discovered exactly what was the cause.
Patrick O'Malley Aug 10, 2016

Fantastic first experience with CodeMentor. John reached out within minutes of me submitting my first question and within a half an hour, we had everything up and running and refactored to clean up any unnecessary code. Great, great experience, will definitely reach out to John through CodeMentor when I need help again!
Chris Scott Aug 09, 2016

John is super helpful. I wanted some general information on how to do things properly and also had some issues we wanted to fix, and those blended perfectly. I learned a lot. John was willing to go faster or slower and explain why he was doing what he did. Super session.
Patrick O'Malley Aug 08, 2016

Always extremely knowledgeable and helpful. He knows Ruby on Rails and the overall structure very well. Please to talk and work with.
Matt Aug 03, 2016

John Hamelink is truly an amazing guy, solved all my problems i was having with my code and explained what i was doing wrong, will surely contact him again in the future if i need it.
Ruben Ringelé Aug 03, 2016

Nice guys, good mentor and very knowledgeable
Matt Aug 02, 2016

He was awesome, he started to figure out what was wrong straigth away and managed to guide me through several errors my code was giving me. Thumbs up :-)
Ruben Ringelé Aug 01, 2016

Extremely helpful. Easy to follow instructions and issue resolved quickly. Very satisfied. Thanks John!
LK Aug 01, 2016

Great advice, articulate and helpful
Ian Golden Mar 07, 2015

Awesome mentor. Quickly recognized bugs and used time efficiently.
Nick Dec 28, 2014

John was fast and smart. He got to the root of the problem quickly.
David Walker Dec 28, 2014

perfect as always!
Alexander Hein Oct 29, 2014

John is awesome! Taught me a lot and was very easy to understand
Anthony Zotti Oct 10, 2014

John was great to work with! He was very patient with my beginning skills as a programmer. He was also very professional and took the initiative to ask for resources so he could get up to speed with my project before our session began. I highly recommend him as a mentor! Thanks again, John! :)
Valerie Mettler Oct 07, 2014

John was a big help! Will use again!
Marlon Avery Oct 06, 2014

Everything was perfect.
Alexander Hein Sep 30, 2014

Excellent!
Trần Tuấn Hải Sep 29, 2014

Good as usually! Again John did a good job with his patient and dedicated. Got some good advice from him.
Trần Tuấn Hải Sep 27, 2014

Excellent. He try to solve all bug and get work done step by step. Love this guy!
Long Sep 26, 2014

John is really professional, patient and humor. Sure to work with him again on the next session.
Long Sep 25, 2014

very professional and kind guy. i've got a good support for my ruby-on-rails issue.
Agostino Sep 22, 2014

Great guy! Gave me an impressive TDD crash course. Couldn't recommend more!
DM Sep 18, 2014

awesome consulting work.
Manny Sep 17, 2014

108 minutes but worth the money :)
Manuel Frigerio Sep 12, 2014

He's a wizard!
Tiff Sep 10, 2014

John's insight into project management sets him apart from other resources. He has given me several resources to improve my knowledge level. His advice and insights originate from experience and not just general knowledge. It is refreshing to get advice from someone who can not only educate, but also give great advice, suggestions, and concerns. His insights have already made an immediate impact on my project plan.
Freddie Stewart Sep 04, 2014

John took me step-by-step through the process of using activeadmin with carrierwave and finally got me the expected results. He was a lifesaver!
Tiff Sep 03, 2014

Excellent!
Tiff Sep 02, 2014

John was very helpful and worked with me to get my app running. Very willing to explain the why behind the how. Thanks!
Josh Weaver Aug 29, 2014