My Internship with Alembic

From day zero I knew I wanted to work for a company that used Elixir.

That's how I went into my Diploma at Coder Academy, and within the first week the Partnerships Manager, Mel Redding, knew of my intentions.

I had only been briefly exposed to Elixir but the elegance and simplicity spoke to the part of me that enjoys having an empty desktop. That enjoys the "feel" of geometric shapes. There is something archetypal about coding in Elixir that I hadn't experienced in OOP.

It was beautiful.

Elixir isn't big in Sydney but there are a few big guns who use it, and I let them know early on that I was in town.

However, it wasn't with any of those companies that I found myself interning with.

A month out from when I was supposed to start my internship, I began looking even deeper into the Elixir community in Sydney and noticed that one name kept popping up.

Alembic.

A Sydney based software consultancy specialising in Elixir, React, TypeScript and GraphQL.

Feeling that I was way too green to be interning at a consultancy but wanting them to know that I was around, I wrote an introductory email with a note to "keep me in mind" for future opportunities.

The future, my dear friends, became the present very quickly.

Not 5 minutes later Suzie Price, Managing Director of Alembic replied asking if I would like to meet with her and Josh Price, Technical Director of Alembic, for a cup of coffee.

That coffee (a long black at Sando's - recommend!!) was a turning point for my entire life.

One month later, and I was walking into the Surry Hills office, banged up Lenovo T440s in tow, ready to impress.

Right from the beginning it was clear that Alembic are pragmatically progressive. They embrace the latest in tech developments....as long as that tech marries well with their underlying principles of robust, elegant and functional code. The foundation of how they code is so solid it immediately exposes the weakness of any framework or tech that is placed upon it. All the technology that orbits around Alembic has withstood the rigorous tests that their company philosophy naturally adheres to.

Code that is elegant and concise, easy to read and navigate for future contributors, robust and defensible, functional, fast.....and fun.

Working with Alembic made me realise that it wasn't Elixir that I was interested in. It was the philosophy behind the language that I loved and it was a philosophy that can be applied to any language. Alembic didn't use Elixir because it gave them rules to work within. They used Elixir because it matched perfectly with who they are as developers. And they apply the very same philosophy to every language and framework they touch.

My four weeks were spent working with Josh as he exposed my strengths and weaknesses as a thinker. Where I was strong he sharpened my perception and where I was weak he created deliberate pathways to allow that weakness to become obvious to me, and would not allow it to go unnoticed (and there were PLENTY of opportunities).

One thing that became apparent to me very quickly was how multi-disciplinary software development for a software consultancy is. From writing code, to creating business presentations, understanding a client's needs, being a clear communicator both written and verbal. Being part of a software consultancy you need to be fluid within your role, a wearer of many hats. You don't have different departments. You ARE every department. You code, you test, you make decisions, you liase with the client. You research the technology. You are the company, in every respect. And it requires you to move between these elements without losing sight of the whole. It is remarkably challenging and totally fulfilling.

So when Alembic asked me to stay on as a Junior Developer I pounced on it with the rigor of a starving leopard.

That was two months ago.

And I have learnt more in that time than I have in the last two years.