Welcome to theelous3.net/recruitment :)

Last updated: 21/02/2023

Below I outline and answer 99% of the questions common to first contacts between myself and potential employers / recruitment. If you have any further questions, you can of course email me. Email can be found on my homepage: theelous3.net

What am I looking for?

As a broad description "backend python" - though I’m perfectly happy to transition to other languages and areas if they are interesting.

What kind of things do I want to work on?

On my personal time I tend to create tools and libraries for other programmers. I enjoy abstracting away complex or tedious work so that the work of others is accelerated / simplified / more flexible. So, this being what I tend towards naturally, I’m of course happy to do that.

I enjoy designing and architecting systems. Trying to get the cleanest possible api / data models along with efficiently fitting applications in to broader ecosystems, with an eye on developer experience and performance.

I’m a bit of a generalist. Happy doing the above, happy doing backend, happy doing systems, happy to do anything at all really… as long as I don’t have to write a bunch of css ;)

My previous and current positions

Telnyx - Sept 2020 -> current
Software Engineer - remote

Engineering:

At Telnyx I've worked on a very wide variety of projects and systems; from migrating legacy applications to use more performant and maintainable technologies, to designing entirely new services from scratch and overseeing and contributing to their implementation, I've done a little bit of everything and a lot of some things.

My primary day to day work revolves around internal product development. Expanding existing systems with feature work, and understanding functional / business requirements in order to design clean well structured data models and interfaces that will meld in to the greater company ecosystem. I take great pride in structuring the underlying application code to be beautiful and maintainable on all levels. (Currently very much enjoying a slightly modified CLEAN architecture approach to application structure :D ).

Some examples of projects include; billing systems, messaging routing systems, a customer signup risk analysis pipeline, third party pricing tracking systems and related sales tools.

Technologies: async python3 / fastapi & aiohttp / postgres / rabbitmq & kafka / kubernetes with jenkins / docker / prometheus & different telemetry and logging reporters.

Soft skills:

Managing admin for direct reports (PTO, checkins, performance reviews, advice and mentoring).

Tech lead for the team, setting standards for code reviews and other meta processes around development.

Heavily involved in hiring. I absolutely love the process optimisation of trying to create a fair and balanced technical and soft skills process. I took the initiative to completely rebuild the programming challenge for applicants. The rework made it more informative for the reviewers and more enjoyable for the applicants. The feedback from applicants was very positive. The time to review applications was much shortened, and the ability for reviewers to accurately gauge truly relevant skills was also greatly improved.

Co-designed the latest and greatest systems design and architecture interview process. Great improvements in insight and consistency.

I have conducted many, many, interviews, and scored the highest accuracy for determining the long term success of applicants amongst engineers in the latest hiring analysis.

I ran the monthly python language chapter meetup for about two years :)

Blueface - Jan 2018 -> May 2019
Jr Software Engineer

My standard day to day was RESTful api work (implementing, optimising, designing in collaboration with the frontend etc.) alongside a messaging system layer that handled long running tasks as well as periodical tasks.

An example of the RESTful stuff would be the work I did on refactoring, and assisting in the redesign and implementation, of the customer onboarding process. I created endpoints that handled collating and calculating stats for user facing reports and usage tools - breakdowns of calls and costs and destinations. Endless things like that :)

An example of the back-of-backend stuff would be creating the system that handled the quarantine, release and reallocation of phone numbers. Additionally I created tasks that controlled voicemail inboxes, dealt with minimising storage use, pruning and reorganising orphaned accounts, interacting with third parties for billing, refactoring slow sql etc. etc. forever and ever etc.

Technologies: python3 / flask / postgres / rabbitmq / celery

Finres - Sept 2017 -> Jan 2018
Software Engineer - contract

As one of a two man team, I wrote smart contracts on the Ethereum EVM with a heavy focus on performance and security. I used solidity for the contracts, and wrote supporting test suites and sandboxing environments with python and nodejs.

What technologies have I used professionally?

What technologies do I use on my own stuff?

What are some projects I’ve worked on?

No longer maintained, but my best known project is asks. For a long time the most popular async http library for the the third party async libs curio and trio. Much of it was written when I was quite inexperienced, but hey, it was pretty good. At time of last testing it was also faster than requests even if used synchronously! It has been used commercially, and even powered parts of nj smith’s (of core dev fame) trio ecosystem.

One of my spin off projects of asks was multio, which was the first cross event loop compatibility layer allowing async programs to be written agnostic of the controlling async library. Ultimately a dedicated project for this was spun off called AnyIO by agronholm, which serves as the foundation for fastapi! Some interesting lore :)

https://github.com/theelous3/asks

One of my favourite projects is overly, a lib for writing http client tests. It is the most flexible http testing suite available, by a longshot.

https://github.com/theelous3/overly

There’s a bunch of other little bits and bobs on my github.

When am I available?

I'm not currently disclosing this publically.

Where are you located? Are you willing to relocate? What kind of office situation are you looking for?

I’m located in Dublin, Ireland. I am looking for remote work. I am willing to travel anywhere for social events and so on.

As a developer, I grew up interacting primarily through IRC / git / voip clients / paste services. I am particularly well adapted to remote work. I’m accustomed to discussing complex problems through text, voice, and code example.

I’m a highly sociable person, but I enjoy the freedom to work in a manner which is tailored to fit my style of productivity.

What is my ideal working week?

80%. Somewhat flexible time. Granted this is seemingly a pipedream, but we're speaking in ideals.

Writing code is inherently creative and mentally taxing. I firmly believe that there are no developers that are writing good code for eight hours a day, five days a week, who wouldn’t be writing better code at four days a week.

I would rather do four high effort days a week, than five with ebbs and flows. It’s becoming more and more obvious as our profession evolves that asyncronous communication, and shorter high rate work periods, are the way forwards.

What are my salary expectations?

I will not disclose any figures until an offer is made, or a figure is put forwards by an employer that is specific to me.1

Anything I want to brag about?

David Beazly once retweeted my project asks, and said “sweet”. As a relatively new developer at the time, I nearly died.

Sweet! https://t.co/dQi5pZ7dS0

— David Beazley (@dabeaz) May 25, 2017

Kennith Reitz of requests’ fame has *'d asks on github.

I’m the current owner of freenode and libera-chat's ##learnpython channels, where I learned python, and where I teach it when time allows. Gotta pay your dues!

I used to (and still kind of do) teach kids to program in coderdojo. The particular branch I was in was closed as I was the only mentor that ever showed up :( I am still in contact with my star student from that venture however, who I continue to assist.

I’m in the top 0.718161% of starred python developers in the world. That’s probably pretty good. A bunch of the people ahead of me have like eight billion stars on text editor color schemes that count as python for some reason, so I’ll reservedly place myself in the top 0.708160% instead ;)
http://git-awards.com/users/search?login=theelous3


1. Recruiters are biased towards pushing whomever quotes the largest salary within some bounds of reason, for commission's sake. Employers are in an asymmetric position where they have complete information about the salary expectations of all applicants and current employees as well as knowledge of budgets past and present. The most sensible solution to this asymmetry for me is to request a figure around which salary can be discussed, and that is what I will do. If you do not think this is fair or reasonable, idk. I'm a stickler for fair treatment, and so I ask to be treated fairly in salary negotiations.