Paid Mentoring Revolving Around Elixir Architecture, Code Review and Best Practices

Introductory paragraph

I am going to rewrite a system which currently has a Node backend which processes incoming data and a Meteor frontend which presents and allows users to manage it. Whilst I want to write the code myself I am pretty inexperienced in Elixir (although I’ve been working as a software developer for over 25 years) so I am looking for someone who would be prepared to bill by the hour (or parts of) and provide help with things like:

  • Advising in the design of the system (umbrella application, separate layers, etc.)
  • Providing occasional code reviews.
  • Discussing best practices for things like deployment.

Essentially I am looking for a paid mentor who will work under an NDA.

About us

My name: Simon Wolf

My position: Owner/Developer

Company name: Over The Air Care Limited

Website: (see below)

Country: United Kingdom

Company info and history: Over The Air Care (OTAC) is a company I have set up for this project (so no web site yet) because my main consultancy business does quite different work and is conducted through my other company, Otter Software Limited.

About the job

Job title: Mentor

Job description: Architecture and Mentoring

Salary range: Negotiable. I have an idea based around my consultancy rate but would prefer people to tell mew what they expect.

Position on remote work: Remote is expected. UK is ideal just because of the simplicity of being able to pay easily via bank transfers but worldwide is fine too.

Qualifications or experience required: Developed and deployed Elixir systems. In terms of what you should have experience of, I think is going to end up being an OTP application which manages Phoenix, Ecto and Cowboy applications. I’m currently envisioning the system comprising aback-end which has one or more Cowboy servers accepting incoming TCP data and a Phoenix server to accept incoming data over http and handle web hooks, etc, On the front-end it will most likely be a Phoenix server to run the web application. I’m also going to need to use Absinthe for an API which will be used by our iOS and Android apps and for third-party applications and a common Ecto application which can be used by both the front and back ends would make sense. We will be looking into LiveView too. The system will be deployed across multiple servers because we need to minimise downtime due to hardware failures, DDoS attacks against server hosts, etc. so experience and knowledge about this would be great.

What the successful job applicant will be working on: Advising me on all of the above and checking bit of code occasionally. Also being a sounding-board for ideas.

About the interview process

Pretty informal. I’d like to see that you’ve been active in the forums as someone helping others (rather than just asking questions). I’ll hopefully get a few responses over a few days, can swap emails with people and then make a decision.

Further info

Please don’t consider this to be a full-time or regular source of income. I’ve no idea how much or how little I will need help so it would best suit someone who has a bit of spare time available. It might be that I need quite a bit of help to start with and then things tail off for a while until I get to the deployment stage. I’m also not expecting immediate responses to emails, etc. so you’ll not be ‘on-call’.

Feel free to ask questions here or even to express interest but it’s probably easier if you email me in the latter case. My email address is simon@overtheair.care.

7 Likes

These two statements are contradictory. Phoenix provides the architecture on its own and it makes zero sense to impose something else. Actually, Phoenix is pretty much enforcing you to use the design provided by it.

OTOH, if you have a thick business logic layer, it might be better to implement it over the bare supervision tree away from Phoenix, and Phoenix-only specialists are more than often lack the solid OTP understanding.

Just saying.

1 Like

This sort of thing is why I need a mentor. :grinning:

But that is a good point and I’ll edit my post because I think that the bare supervision tree will be more practical for various reasons such as being able to have an Ecto application I can share between the front and back end servers. Thank you.

1 Like

Thank you to everyone who has been in touch. I’m now working out who would be the best fit so I don’t think that I need any more offers.

@AstonJ, please feel free to lock this thread.

1 Like