cobysher.dev

Schmutz 11

#schmutz #techHiring #3dPrinting #socialMedia

It has been a bit since a Schmutz entry, which means it is time to write one! I’ve been pretty busy the last few months trying to start a small business, or more accurately turning a hobby into something I can try supporting myself with if it takes off. I haven’t been sharing a ton of information about it so far for a variety of reasons. Among those is: I’m not sure I have any reach. Does anybody read these? Another reason is impostor syndrome; I really don’t feel super confident in what I’m doing yet and I know that shouldn’t matter but I have a hard time building in public. I’m trying to overcome that.

Tech Hiring Still Stinks

Anyway, I had an interview for a potential new job thanks to a referral. It is impossible to get an interview without a referral right now and if that isn’t true four you, perhaps you have AMMGA – or whatever dumb acronym they’re using now for the big tech companies – on your resume. I got passed the screening interview which I feel are silly but I’m also bad at them even though I usually feel pretty comfortable when talking to the screeners. This meant a technical and if I passed that 2 more rounds of interviews (ugh). Well I had no need to worry about those last two interviews because I completely bombed the first one.

Now I understand performance is an important part of any software, but I haven’t really had to do a ton of performance optimization on pure node apps before, so far I have only investigated how to fix cold starts and other serverless things like that. So the interview started a few days before the actual interview with a pull request for a made up project that I had to review. The PR title was something like “Made everything faster by switching to async!” and I knew that this was going to be a bad experience.

This was obviously a trick question. Async doesn’t make things faster, in fact there is more overhead to creating and resolving promises than running things synchronously. I tried to point this out in the PR and figured I was a shoe-in (is that really how you spell that?). Of course worker threads could run the code in parallel unlike the async code like the committer thought. I pointed this out too with the caveat that I hadn’t written code to do this but there were many resources online. I guess I should have spent many hours consuming these resources and studying how to benchmark node apps for performance because that is pretty much what the whole interview was about. I thought the job was for writing extensions in VS Code but I guess when you’re working on something that already has bad performance you need to make sure the people you hire can write very performant code.

So I was asked to go over my PR which I thought was weird. Didn’t they go over it already? I think I had already failed by this point because I kind of just read my comments back to them and I don’t think that is what they were looking for. But that is what you get when you ask vague questions.

After I told them I was pretty sure it would not be faster this way he asked me to prove it and here I was in trouble. I struggled to remember the performance.now API existed. I was allowed to google things and I did, but in the live environment under pressure I was not thinking very well. After a painful amount of time, I remembered the performance api and then completely failed to implement it in a way that could tell me if the app was slower or not. Again, if instead of being given this PR to review and I was told what would be on the test, I would have taken the time reviewing the PR to study how to properly profile an app for performance and maybe had a better shot at this. Instead I was not really sure what to study and kind of ended up not studying anything. I studied TypeScript conditional types and things that were absolutely not on the test.

So I failed really hard and my confidence was shattered. I thought maybe I still had a small chance until the rejection email came like 4 days later (why did they make me wait? He probably could have told me on the spot).

It has been impossible to get interviews without referrals which luckily I had here so blowing the opportunity felt a bit worse than normal since I let down myself and felt like I was letting down the person who got me the referral and the referrer.

As I have mentioned before on this blog, tech hiring is broken and it is even worse now. The market is absolutely borked and the talent pool of developers out there is quite large. It is difficult to compete.

Aliexpress Woes

As mentioned I’m trying to start a little business making keyboards. I plan to open source everything which is probably a poor business decision but I have only been able to get to where I am with this stuff because of open source software and hardware so might as well pay it forward a bit. I don’t think I’m doing anything revolutionary but maybe my designs will help someone making a keyboard.

Anyway part of making keyboards is ordering microcontrollers on the internet. The pro micro clones from Aliexpress are the cheapest at ~$4/ea. For comparison the same mc on amazon is at least $7/ea and at least $5/ea on ebay. You can find them from reputable keyboard parts sellers in the US for $10/ea which is fine for one or two boards but not 10.

So my first batch of pro micros from Aliexpress were fine! They’re the usbc variety and they worked fine with a usbc port on a macbook. I already went through the initial batch of 4 and I ordered 10 more from the same shop. They arrived and sat in a bin until I needed one for a new keeb. I plugged it in via usbc to my macbook and no power was going to the board and it didn’t show up as a device. I panicked a bit and tried the other 9. I was kind of upset at this point and assumed they were DOA. I started the return process which I’ll come back to in a bit.

First I assumed the boards were missing the bootloader. I’m still pretty new to the hardware stuff so all of my troubleshooting was guesses from google searching. I tried flashing the mc with the ISP flashing guide using an arduino uno as the programmer. This didn’t seem to work but the board was getting power via the 5v from the arduino so I knew the mcs were not dead.

And then I found this reddit thread and I went and plugged a board in to my PC with a usb-A to usb-C cable and it was recognized as an Arduino Leonardo as expected (I guess, I didn’t know what to expect)!

As mentioned I had already started the “free returns” process. This involved taking a video proving the pro micros did not work when plugged in to my laptop. They approved my case almost right away but I couldn’t download the shipping label. Once again reddit said to remove the query string param from the link and it will work. That did not work for me and the site with the return label never loads for me. I opened a support ticket which was escalated to some team. That team emailed me after a day and told me to open the page and keep refreshing. Just keep trying! Well no dice there. I opened another support ticket, and they have once again escalated the ticket. I haven’t heard back from the escalation yet. This has been a bit of a pain. I don’t know where else to get reasonably priced pro micros. I would love to use elite-c’s or similar but those are even more expensive! I have already ordered another batch, this time from a different store on Aliexpress. I’m not super convinced they won’t have the same issue and I’m not sure how to guarantee I get the correct ones. If you have any advice here please let me know!

Fin

I don’t have much else to write about. I considered writing about some interesting things from $DAY_JOB but maybe I’ll save that for another time 😄. Until next time!

Created on:
Last updated:

Webmention Replies

webmentions.pleasant.rest | 502: Bad gateway

Bad gateway Error code 502

Visit cloudflare.com for more information.
2024-04-28 18:35:27 UTC
You

Browser

Working
Chicago

Cloudflare

Working
webmentions.pleasant.rest

Host

Error

What happened?

The web server reported a bad gateway error.

What can I do?

Please try again in a few minutes.

<< Go Back