Unfortunately this is becoming common, it happened to me today, I was suspicious at first but when they guy showed his face (first time, I guess this was a mistake) in the meet I started trusting them, suddenly their interted started failing and he suggested we both turn the camera off.
I was asked quickly about my experienced and he shared that I was a perfect fit, immediatelly I was asked for my github username, then, I was asked to share my screen, I ended the call to not waste more time but my guess is that I would be asked to do something with the project live.
I haven't dig into their malware approach (yet) but this pattern is too frequent to easily recognize it.
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.
P.S: I also have decent experience leveraging AI to speed up my work, not vibe coding but holding AI-hands like I'd typically do with junior devs. I also have built multiple AI integrations.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
I was asked quickly about my experienced and he shared that I was a perfect fit, immediatelly I was asked for my github username, then, I was asked to share my screen, I ended the call to not waste more time but my guess is that I would be asked to do something with the project live.
I haven't dig into their malware approach (yet) but this pattern is too frequent to easily recognize it.