HNHacker News
TopNewBestAskShowJobs

AlexITC

683 karma · joined January 29, 2017

https://wiringbits.net | https://github.com/AlexITC | hn@wiringbits.net
submissionscomments
AlexITC··on Ask HN: What is the job market like?
My whole team got laid off recently and I have been in constant communication with them, I also have multiple friends who got laid off this year who shared the pain it has been to get a new role,

Market seems better than the last few years but it still does not feels right to me,

We have got multiple people reaching out but the majority of the roles are in-office or hybrid while I work fully remotely.

I posted on LinkedIn, with the help from friends I got quite a lot of visibility (most viral post I have ever had) but still, out of the ~10 recruiters that reached out, only 2 are remote roles, I also got a few offers to work for equity only.

I posted on the monthly "Who's wants to be hired?" thread, it has lead to a few offers to work for equity only + shady people that want me to attend calls and "delegate" the work to them while splitting the revenue.

I have also got a few referrals and even for these, they are moving slowly.

To put it in perspective, years before I'd easily get 10 recruiters in my inbox per week,

Market seems tough and I can't imagine what junior people are passing through while trying to get a job.

EDIT: I forgot mentioning the people reaching out with promising offers and the intention of getting me to run their malware hidden in coding challenges.

AlexITC··on Ask HN: Who wants to be hired? (June 2026)

    Location: Spain
    Remote: Yes
    Willing to relocate: No
    Technologies: Scala, Java, Rust, JavaScript/TypeScript, React, Ruby, AWS, Postgres
    Résumé/CV: https://www.linkedin.com/in/alexis-hernandez
    Email: alexis+hn@alexitc.com

Senior engineer with 10+ years of experience, while Scala is my strongest language, I'm a generalist and have shipped production code in Rust, Java, TypeScript, Ruby, and more. I'm keen on picking up new tools.

I believe in using the right tool for each task. Strong infrastructure background (AWS, cloud-native, distributed systems). US C-Corp for contracting.

I've attempted to bootstrap products myself so I understand what it takes beyond writing code. I take full ownership end to end, I don't wait to be told what needs solving.

Immediate availability because my whole team was laid off recently, I'm used to work on US timezones. Open to senior IC or tech lead roles.

- GitHub: https://github.com/AlexITC

- Latest tech talk: https://www.youtube.com/watch?v=SJxEXAkxD3I

- Testimonials: https://alexitc.com/testimonials/

AlexITC··on Ask HN: How do you obtain software development contracts?
I have been running a company like this for ~6 years, we are only engineers, and, I'm the only one handling sales.

Getting started is the hardest part, like many are saying, its simpler when you can rely on your network.

Everything is about trust, by this, start reaching out to people who already trust you, there is a chance that this will get you either a project or a referral. Once you build a portfolio, you will keep getting these referrals.

In my case, I have got most of our contracts by sending cold emails, I have got a few customers through the "Who's looking for freelancers" posts + many others by just talking to people.

Lately, market is flooded with AI-generated stuff and fake job seekers which is causing people to distrust others, it seems harder to get contracts through cold outreach and the referrals we have got have done wonders.

AlexITC··on Ask HN: How Do You Deploy?
Not everything needs K8s, over the years I have worked with many different deployment approaches, the way I do deploy hugely depends on the kind of work I'm doing but my rule is to keep it as simple as possible.

In my own projects I have stayed the longest with Ansible, once the scripts are built, you can use them to deploy most web apps in the same way and stuff rarely breaks.

For websites I have switched away from ansible to simple shell-scripts ("npm run build && scp ..."), I have also done this for web apps but it starts getting a bit more complex when doing healthchecks/rollbacks.

In general, most of my work involes web apps and I start with this and grow from there:

- Monolith backend + Postgres + same language for backend and frontend with shared code.

- Small Linux server within a cloud with fixed pricing (like DigitalOcean) with backups enabled.

- When the project allows it, postgres is installed in the VM (backups help to recover data and keep the price small).

- Use nginx as the entrypoint to the app, this is very flexible once you are used to it, for example, you can do caching + rate limit with simple configuration.

- Use certbot to get the SSL certificate.

- Use systemd to keep the app running.

- A cheap monitoring service to keep pinging my app.

- Deploys are triggered from my computer unless it is justified to delegate this to the CI.

It's been a while since I have found Ansible to be too slow and I have been willing to complete building my with a general-purpose tool for deploying webapps this way but I have no idea if I'll be ever done with this.

Perhaps the most important project I used to run with this approach is a custom block-explorer API which indexed Bitcoin + a few other cryptocurrencies and it scaled well with a single-VM (nginx aggressive caching for immutable data helped a lot), this means that the postgres storage required more than 1TB.

AlexITC··on Ask HN: What's the worst thing that could happen if I click on an unknown link
When I was younger I used to believe that nothing serious could happen because I don't use Windows and "I was smart enough" to not execute malware (yeah, I didn't care on downloading it; how wrong I was).

Someone already mentioned zero days but let me elaborate a bit on what can happen when visiting a website:

- Without zero days involved, you are already disclosing digital information, ip address, browser fingerprint, precise location access could be granted with relaxed browser settings, etc.

- As a dev, you may have services running locally, let's say, postgres, web servers, etc. -sometimes we install stuff and forget about it- the malicious website could access these.

- It could try using your sessions for other websites.

- It can also interact with your browser extensions, many of these do not take precautions for this.

- It can also try using your hardware, camera, microphone, bluetooth, we now even have webusb.

- It can also try to use your CPU/network for cryptocurrency mining or attacking other servers, it could even use you as a proxy while you are on the website.

- With zerodays, it could do just anything.

AlexITC··on Ask HN: Is there any encrypted portfolio tracker available?
I looked through their docs and it seems very close to what I described.

Thanks for sharing!

AlexITC··on Scala 3 Migration: Report from the field
Most of the ecosystem is on Scala 3, I think Spark would be the biggest piece pending to upgrade.
AlexITC··on Scala 3 Migration: Report from the field
sbt is way better than what it used to be, also, check-out scala-cli which is very nice.
AlexITC··on Scala 3 Migration: Report from the field
It definitely took a while for most libraries to catch-up with Scala 3, now, I don't see anything is missing in the main area I work with (web development), playframework already works for Scala 3.
AlexITC··on Scala 3 Migration: Report from the field
While the tooling isn't perfect, it has improved considerably over the last years, I remember when IntelliJ couldn't deal with Scala 3 but now, it rarely complains.

Related to Python 2->3, I don't see how Scala 2->3 compares, there are clear migration guides + tools to help re-writing to switch between the new/old syntax, I have done many migrations and I have used these tools since the time when Scala 3 was launched (I admit that I reverted a migration at that time).

AlexITC··on Ask HN: What should I do with meet.hn?
This is a super cool idea, in fact, its been a few months since I have been thinking on making something like meet.hn + findkismet.com, let the people share in which city they are and make introductions to people from the same city.

Thanks!

AlexITC··on Ask HN: Platform for 11 year old to create video games?
I have done this, it can work with some kids, still, its too much work.

At this age, I think it is more important to keep them motivated and find ways to use their creativity than to get them through the pains of debugging and learning too many technical concepts, even simple details like learning about image formats, how to reference them, case-sensitiveness are just obstacles against meeting their goals.

AlexITC··on Ask HN: Platform for 11 year old to create video games?
I'd encourage you to give playcodeai.com a try, I built this for my kid on a similar's age.

I wrote quite a lot about my motivations a couple of days ago: https://news.ycombinator.com/item?id=41619733

I took the freedom to email you an api key to give it a try.

Good luck.

AlexITC··on Ask HN: What side projects landed you a job?
Not a job but I got a contract due to a webapp template I have in my github profile, my customer shared that he wanted someone that wouldn't start from scratch and my template looked good enough to get the job done.
AlexITC··on Ask HN: How do you handle underperforming remotes at your company?
My experience is the opposite, when people is unmotivated or not interested in the work, its unlikely for them to improve even if you give them enough chances.

I have the impression that people get in some kind of comfort zone when underperforming that's psychologically hard for them to improve until they move to another team/company.

So, you should catch these issues as soon as possible to let people know that this is not tolerated, in some way, this helps because people can take you more seriously.

AlexITC··on Ask HN: Anyone using Bazel at startups? or migrated to/away from Bazel?
A few years ago, I was involved in a team with less than 10 engineers, we decided to switch to bazel in order to improve the build times, specially the CI runtime.

On the good side:

- bazel forces you to have an acyclic architecture, still, this can feel annoying because every module needs to specify its dependencies.

- bazel does concurrent builds pretty well, optimizing the build times.

On the bad side:

- It took a considerable time to set everything up, we thought to be done but no, there was a weird stuff coming every week and most of the team ended up waiting for the bazel guy to fix it.

- IDE support was poor, in theory, we could just use intellij but most of the times it required help from the bazel-guy, in my case, I got frustrated about the needed maintenance and just accepted that an IDE wouldn't work. - Given the lack of IDE, it means that we couldn't easily execute a specific test from the UI, having to keep notes for the cli.

- In theory, you could use a shared cloud cache so that the builds are very effective but we could never set this up. - talking to engineers from other companies, they admitted that the bazel setup was hard and took a considerable amount of resources, they ended up writing many internal tools to get a effective usage.

Given that you plan to create a startup, do you plan to hire engineers? then, be prepared to the bazel-guy.

Also, as a startup, I bet your code will be small enough that the build times won't be very different with normal build tools.

I'd personally not use bazel unless my company offers a dedicated engineer just to maintain this integration, I think its overkill for small companies.

AlexITC··on Report Phone Spam – Shut down robocallers and text spammers
This is very helpful, in Mexico, we have a couple of government-provided services where you register to not get advertise/financial calls, when you do, you can report them, and, in theory, the organizations could get considerable bills due to this violation.

I have been thinking that we should make an app to automate the reporting process.

A fun detail is that the government sells the lists of people that do not want to get contacted.

Also, lately, I have been getting many calls that are supposedly coming from the UK.

AlexITC··on Ask HN: Dear startup founders, what have you developed in-house?
Would you share how did you do the last two? I have done those too (explained a bit in another comment).
AlexITC··on Ask HN: Dear startup founders, what have you developed in-house?
We have developed a few tools, we try open sourcing these when possible, the latest being:

## 1. Vacation tracker

I used to track vacations in a spreadsheet but I had a couple of incidents where I was waiting for team members to do a task, and, I even called them just to be told that they are taking time off.

We built a vacation tracker webapp that notifies a discord channel a week before the time-off period starts (same for holidays).

I have been willing to add a feature that notifies our customers when one of our devs will be off. The site is public/free in case anyone wants to give it a try.

Why not to use existing services? The apps I found had integrations with every messaging app but discord.

## 2. Webapp preview service

It was annoying to ask devs for demo videos when they submitted PRs, it was slow to run the code locally, then, we developed a heroku-like app to automatically deploy the code from PRs to a temporal url, including backend/frontend and its dependencies.

This has been very helpful for us, we started integrating it with a few customers who love it but we haven't had much time to scale our customers base.

We did not used existing tools due to the huge pricing while considering the amount of projects we work on and the number of people, also, most of the existing services depend on dockerized services while we rarely follow this approach.

## 3. Discord scammer kicker

While I wasn't the founder, there was a time where I was involved in cryptocurrency projects, there was a common scam back them, scammers would join the discord channels and rename his nick to match one from the project maintainers, messaging the community to try stealing their coins.

I created a simple discord bot that would kick out people with nicknames similar to the ones from the team.

There is a post about this at https://wiringbits.net/wiringbits/2020/07/06/writing-a-disco...

The number of bans was surprising, eventually, people stopped trying this approach.

## 4. A simple website to restart services

In short, a 20 lines of HTML + nginx (no js, no backend) that would ssh into VMs to execute pre-defined commands (mostly to restart services) so that non-technical people could execute these.

This is described in https://wiringbits.net/general/2022/10/15/super-simple-admin...

AlexITC··on Ask HN: Favorite Debugging Story?
There was a time I had a tricky bug to solve, a important email wasn't being delivered to customers, I had to do this to discover the 1-line change:

1. Simulate the email and check whether it was being received by the mail provider (Gmail), turns out that it was received by Google but Google spam filters rejected the email, we could see the sender/subject but we couldn't see the content.

2. Print the email content in the code just before sending it, all seem correct here.

3. Do monkey-patching to a Ruby library that was in charge of sending the email to the SNTP server, println says that we are sending the right data.

4. Capture the traffic (Wireshark) sent by the app to the SMTP server just to make sure we are sending what needs to be sent, turns out that the email content wasn't what I expected, it was something like a Ruby object's default hash + some weird characters.

Apparently, the library in use wasn't working with the object we were sending, which caused the email content to become a random string, this triggered Google spam filters causing it to reject the email, the solution was as simple as changing a line from `email.body` to `email.body.string`.

AlexITC··on Choose Postgres queue technology
I have been involved in a few projects using postgres-bakend queues for a few years, scale hasn't been a problem so far.

On the other hand, I have done a few experiments with postgres LISTEN/NOTIFY, while the feature seems nice at first glance, I concluded that it wasn't worth it for our use cases, maybe it is different in other languages but in the JVM, you have to allocate 1-thread for polling these results, which also keeps a connection busy.

What I ended up doing is leveraging akka-stream to stream the queue data directly from the db, which makes it simple to define throttling rules, this is super simple and effective.

AlexITC··on Launch HN: Nullstone (YC W22) – An easier way to deploy and manage cloud apps
I built yet another similar platform with the goal to keep accounts fully isolated, while it started with preview environments only, we started handling some prod deployments too.

There are nice perks on this approach but the complexity (for us) is non-negligible.

AlexITC··on Tell HN: Be cautious with take-home challenges
That's an interesting post, thanks for sharing.

I forgot to link a small technical thread I created explaining my case: https://twitter.com/alexitcdev/status/1696582302267236604

EDIT: Same thread but as an image https://codepreview.io/assets/takehome-challenge-thread.png

AlexITC··on Ask HN: How do you manage email on a custom domain?
With self-hosting, you can do it but it takes time to get good reputation.

I have set https://github.com/postalserver/postal and there are many details you usually don't worry about, the cost involved is whatever server you pay for, still, this is more adequate when you want to send emails through an API, for normal usage patterns, AWS is cheaper and simpler to set up.

AlexITC··on Ask HN: How do you manage email on a custom domain?
Similar to Fastmail, Zoho mail also allows you to link many domains and it is cheap (I think it's $1/user/month). The interface works and you can easily switch the sender domain.
AlexITC··on Ask HN: Is there any open source/open hardware Echo Dot alike?
This is the closest I have found, unfortunately, devices have been out of stock in many stores: https://github.com/espressif/esp-box
AlexITC··on Ask HN: Stuck at $500 MRR and Seeking Distribution/Marketing Advice
First of all, congrats on reaching $500 MRR, I have been running my own product for longer and I'm still not there yet, I also know many friends in a similar situation.

Related to sales strategies, have you considered talking directly to people? Try finding a niche where you product is well-received, then, ads could be better targeted.

Also, by trying your website bot, I typed "How much does it cost?" and the response was huge + some html tags, I can imagine that potential customers wouldn't be keen to get this in their website.

In any case, talking to people could help you to discover why people is not purchasing the product.

Good luck.

AlexITC··on Kubernetes Exposed: One YAML Away from Disaster
Which should be good enough for a home lab as well as many prod apps. Many times, simplicity is key and occasional downtime can be accepted.
AlexITC··on Kubernetes Exposed: One YAML Away from Disaster
> Someone is building a systemd based kublet replacement.

I'm working on a product that uses something like this internally, basically, we provide multiple preview-environments in the same big server, these are managed by systemd.

This is the first time I get to think that this may be a project by itself, ping me if you have any ideas or want to get into a discussion on this topic.

AlexITC··on Ask HN: Is there any mail-by-API provider for personal use?
AWS SES works nicely and the costs for personal usage will likely be close to 0.
← PreviousPage 2 of 11Next →