HN user

mhotchen

294 karma

I build software and talk to people. Sometimes I make money from doing these things.

https://mhn.me hello@mhn.me

Posts5
Comments110
View on HN

This conversation makes me wonder if age verification at the system level could be considered an externality for its cost to society as a whole, and the solution be to collect tax from any commercial sale of a desktop OS that doesn't implement a defined open standard. If there is any money raised it could be used for eg. education pieces on harm and harm reduction

Maybe it doesn't work in this case, but I think you both make great points. Just feel like there must be a way of bridging this gap

  Location: London, UK
  Remote: Yes
  Willing to relocate: No
  Permanent: No
  Technologies: TypeScript, Python, PHP, SQL, Terraform, Linux, AWS, AWS Lambda
  Email: m@mhn.me
My name's Matthew Hotchen. I was founding engineer of a successful YC-backed substance use management platform (Pelago Health) delivering rapidly on dozens of features, creating a well-structured backend, data pipeline, and multi-region HITRUST certified platform. I then learned the A-method of hiring and worked hard to build a great team of long-tenured engineers, entrusting them to do their work, scaling CI/CD and test infrastructure, implementing strategic refactors to improve system consistency, implementing reliable security and infosec practices, effective checklist-driven development workflows that helped us release several times a day (with a small team). I was voted most committed to the mission and played a key role in defining the company culture. I was there for seven years and only left when Pelago had really found its footing and was going from success to success (and it continues to do so)

Prior to that I built and led the API team for World First, one of the largest FX brokerages in the UK where I played a leading role in their technology success, becoming and expert in FX markets and bringing innovative solutions to the space, helping the company expand globally over my time there. They sold to Ant Finance for $700m not long after my departure

I've also been a contractor, worked at an agency, and a bespoke suit company with an online tailoring system (and also tried to build my own business in this space)

I'm good at software design, thinking about and modeling data, efficient access patterns. I've worked with a wide selection of tools over the years (17 years professionally). I've been using Linux for 20 years now. I still write the best SQL queries I've ever seen (but I would say that). I've designed and worked with distributed systems and event-driven systems a fair bit and modeled some complex workflows. I've used AWS Lambda extensively

As well as the technologies above, I'm an expert in rapid delivery, team building/hiring, CI/CD, pipelines and workflows, and distributed systems

Although I'm a backend engineer I've also worked extensively on frontends, both mobile (react native) and web (going all the way back to Flash which I worked with professionally early in my career)

I've been taking a break from work to recuperate and put some focus on my hobbies but I have been getting back in to programming (now with LLMs). I'm currently working on an opensource alternative to Github Copilot

I'd like some money coming in though, it's always a good feeling

I'd make a good candidate for any founders who haven't landed on a CTO yet or looking for a stopgap, but want someone they can depend on to deliver what they need rapidly whilst receiving good insights from someone who played a key role in taking an early stage startup to unimagined succcess. I'm not looking for a permanent role. Anything from days to months

Mag Wealth (2024) 8 months ago

If you consider it in absolute values it makes sense. Bezos could give me a billion dollars which would match my wealth with Pichai's, and he'd still have 199 billion dollars

It almost feels predestined for this to not solve the problems at hand, overrun on costs and timelines (furthering the first point), in no way streamline existing processes or cut costs, leave behind parts of society, and present security vulnerabilities that can be capitalised on through either social engineering or malware (also furthering the first point, only now citizens will be accused of tax fraud)

I hate to be pessimistic and there are elements of the idea I like, but when reflecting on the issues at hand this feels like popping the toaster because you smell burnt toast, but the rest of the house is on fire

There are many paths to overcoming this; none of them easy. I'm finding a lot of help in Martial Arts and Eastern Philosophy. Acknowledge thoughts and emotions, understand them, but don't hold on to them deeply. It's a hard skill to acquire, harder still to master

React 19 2 years ago

Thanks both; you've inspired me to push on with learning React (Native)! Gonna be a fun weekend

100% I believe this is the most common pitfall that I've seen. Long-term thinking is an acquired skill when it comes to engineering good solutions. Unfortunately after (sometimes) years of over-engineering solutions in your career, the "a-ha" is that you definitely wasted your time and worse: often made iteration based on actual requirements slower by creating flexibility in one preconceived way, whilst adding rigidity in many others. KISS gets you real far

Yup. Entire core business product for a succeeding startup, though it's a small team of contributors (<10), and a much smaller platform team. Serverless backend started in 2018. Been a blessing in many regards, but it has its warts (often related to how new this architecture is, and of course we've made our own mistakes along the way).

I really like the model of functions decoupled through events. Big fan of that. It's very flexible and iterative. Keep that as your focus and it's great. Be careful of duplicating config, look for ways to compose/reuse (duh, but definitely a lesson learnt) and same with CI, structure your project so it can use something off-the-shelf like serverless-compose. Definitely monorepo/monolith it, I'd be losing my mind with 100-150 repos/"microservices" with a team this size. If starting now I'd maybe look at SST framework[0] because redeploying every change during development gets old fast

I couldn't go back to any other way to be honest, for cloud-heavy backends at least. By far the most productive I've ever been

Definitely has its warts though, it's not all roses.

[0] http://sst.dev

If you listen to the people who have worked closely with him from SpaceX[1], themselves heavy hitters in space industry which is a heavy hitting industry full of ridiculously smart people, it's clear he is simply on another planet. He might not be the world's most knowledgeable person about rocket engine design, but he's up there, and he's up there on every facet of the engineering of an unbelievably complex machine. And manufacturing, and modeling, industrial design, physics, electrical engineering, analytics, software engineering, and many, many related disciplines.

And he has a vision beyond what anyone else can see. He makes bold moves that don't always pay off, but do more often than not

He's simply a monster. That's why no-one else can keep up

I think it's a real shame how he represents himself in public, and how the public sees him

https://www.reddit.com/r/SpaceXLounge/comments/k1e0ta/eviden...

I think yes. It's not easy to design and manufacture a phone using sustainable materials and components from vetted sources who treat their employees fairly, unfortunately. And to do it in such a way as to be easily repairable. They've set themselves a high bar and I think they've done a great job

The software can be improved iteratively. Hopefully as they grow in new markets we'll see more investment in e-OS and (hopefully) find a viable competitor to Google that's open source

I think this is a really interesting perspective. This could decentralise the population and solve many problems that way, and also reduce the costs and risks associated with utilising fully modernised technology; no need for compromise

Referring to the title I think this is exceedingly the exception, not the norm (excluding bad hiring policies). Learning what not to do is more valuable than starting with a clean slate

Referring to the twitter post, I agree. No point wasting time if a better opportunity already presents itself

One thing I've been thinking for the trauma cycle is how isolating childhood is for those who are in an abusive cycle (and in general). It takes a village to raise a child, but often the entire responsibility is put on 1-2 people, who themselves have been raised in isolation with a lack of serious external investment in preparing them for the responsibility. The education system spreads one adult's time across 20-30 children in a structured and unnatural environment, which limits engagement, limits visibility in to root causes for deviant behaviour, and creates a stressful environment that can (and does) cause negative reaction and thought patterns among the educators.

To go from zero positive role models to one for a child who is suffering would already be a life changing event. If the responsibility for child raising can be shared among more people in society I truly believe it would smooth out the negative actions of single individuals who are the only meaningful influence in a child's upbringing. Having engagement from one adult who demonstrates compassion, who can create a safe space, and who can act as a role model for how to positively integrate in to society, would provide the child with visibility of what exiting their situation looks like, illuminating a path that they are entirely blind to without this.

At least in my own anecdotal experience you are completely correct that externalising blame, even where warranted, is not the solution. Understanding why these external situations happen and acceptance of them only provides so much too. Engagement with the child from invested individuals may not solve the problem entirely, but it will shift us on to a corrective path that would have a massive impact on society a few generations from now.

Yeah just my own 2 cents on the problem. I wish you luck with your vision.

Quit Genius | Backend engineers, Platform engineers, Android engineers | London, UK and REMOTE (+- a couple of hours) | Full-Time | https://www.quitgenius.com/

At Quit Genius we provide innovative new techniques in addiction treatment that help our members manage their addictions via a digital platform. We have established ourselves as the leading competitor in this space and are looking to scale up to market ownership. Our randomised controlled trial for the smoking cessation program achieved a 53% quit rate. We have already made a direct impact on the addictions of over 70,000 members. We launched our alcohol program this year and we have seen very promising results (we’re still implementing our initial measurements of success). We recently raised a $64m Series B funding round. We have a global B2B2C revenue model that aligns with success and many contracts signed that will put our product in the hands of millions.

Our mission is to help 100 million people with their addictions.

We're looking to fill many roles in our engineering team. I'm in charge of the backend, I've been with the company since September 2018 when there were 7 of us, and we're now pushing 90. It's been an incredibly exciting and meaningful journey. The impact we make on each individual we successfully treat is life changing for them. Each member of the product and engineering team have had a phenomenal impact and the team is greater than the sum of its parts. There are many major challenges to tackle with our current focus on an initial opioid program bringing demanding technical problems to solve in the face of an epidemic. I have a lot of confidence in the team and the product we're building around these complex and nuanced challenges.

https://jobs.lever.co/quitgenius?team=Engineering

Feel free to reach out directly if you have any questions: matt@quitgenius.com

I did some sleuthing recently because I am quite sceptical about the whole "burn rocket fuel to go to space during a climate disaster" thing and found a study indicating that the current trend is going to cause more damage than CFCs.

"Future ozone losses from unregulated rocket launches will eventually exceed ozone losses due to chlorofluorocarbons, or CFCs, which stimulated the 1987 Montreal Protocol banning ozone-depleting chemicals, said Martin Ross, chief study author from The Aerospace Corporation in Los Angeles"

"If left unregulated, rocket launches by the year 2050 could result in more ozone destruction than was ever realized by CFCs."

I think their, and the government's, motivations should be under heavy scrutiny right now. They're both externalising costs. The damage needs to be priced in. I think there's a lot of untapped research to be explored for alternative ways of lobbing things in to orbit.

https://www.sciencedaily.com/releases/2009/03/090331153014.h...

Very impressive! I use DataGrip currently which is great but it has performance issues. This is very fast! And I like that it's AppImage.

I really like the UI. And it's impressive what you've achieved.

The main thing that stops me switching right now is DataGrip has a great table/indexes editor that outputs normalised SQL which I use for creating migrations. Otherwise I seriously would have considered it.

Few interesting things in this comment, thanks! What you say makes sense; it sounds like Haskell can't literally hold my hand for me which is fair enough.

I've just started my Haskell journey and the undefined paths through partial function implementation caught me by surprise.

Just skimming Wikipedia it looks like I would want to use "total/strong functional programming" but apparently "total functional programming is not Turing-complete"

https://en.wikipedia.org/wiki/Total_functional_programming

Also found this on the Haskell site after some more googling:

https://wiki.haskell.org/Partial_functions

What approaches and tools do Haskell developers take to guard against this? I assume in the head case a Maybe would be a better return type? But then why doesn't the Haskell core do that in the head function?