Last updated: 05/11/2019
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
Side note: My homepage says I’ll work on python 2.7+. That’s a big fat lie.
Language wise, mostly python - though I’m perfectly happy to transition to other languages if it suits the task at hand.
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’m a bit of a generalist. Happy doing the above, happy doing backend, happy doing systems, happy do anything at all really… as long as I don’t have to write a bunch of css ;)
I would of course prefer to have a broader scope of work than just endlessly implementing
I started the professional side of my career working “full stack” on the Ethereum virtual machine, writing smart contracts, tests, and support systems around the contracts (solidity, nodejs, python).
My most recent position was a backend role (b2b voip). 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.
Aside from the day to day business work - dealing with tickets and so on - I always took a very active role in discussions surrounding the optimisation of the fundamentals of our day to day coding. I deeply enjoyed re-imagining aspects of our workflow to be more dev friendly and efficient, and working to implement these new abstractions and redesigns. If there is a way to kill boilerplate, I will find it >:D
At my first role with the smart contracts, it was a two man team as part of a subproject for a small capital assets firm. I was the sole developer for the EVM side of things, and my compatriot handled the website frontend/backend.
At my previous role, it was initially a five person backend team as part of a roughly twelve person dev team. As time went on, I would go on to be the mentor for all new backend devs coming in, one of two main points of contact for much of the frontend <-> backend day-to-day communication, and along with the two senior devs, the most heavily involved in working to improve our codebase as a whole. At my time of leaving I think we had… fifteen or sixteen devs in total.
My best known project is asks, the most popular async http library for the the third party async libs. Much of it was written when I was quite inexperienced, but hey, it’s pretty good. It’s also faster than requests even if used synchronously! It’s actively maintained by myself and some wonderful contributors. It is used commerically, and even powers parts of nj smith’s (of core dev fame) trio ecosystem.
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.
There’s a bunch of other little bits and bobs on my github.
Currently I’m working on a private project, linking flask instances through zmq to provide multiplexed data transfer tunnels for n time live file streaming, all through a simple and clean webapp. Kind of a stateless p2p system meets send.firefox.com.
I could be getting my teeth in to your codebase right now!
I’m located in Dublin, Ireland. I am mainly looking for remote work. I am willing to travel anywhere for monthly catchups 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.
80%. Somewhat flexible time.
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.
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. For example:
(x >= $salary >= z) is not concrete enough.1
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 main moderator of freenode’s ##learnpython channel, where I learned python, and where I teach it. I’m also the most active user of all time. 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.708161% instead ;)
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. The most sensible solution to this asymmetry for me is to be given 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, I would ask you to imagine the inverse; you only find out how much you're going to be paying an employee once all others have been eliminated from the pool and are unrecoverable as prospects. Sounds like one of the worst hiring strategies ever! I'm a stickler for fair treatment, and so I ask to be treated fairly in salary negotiations.