Well, someone had to say it!
This is about more than just amazon search sucking. It is about the entire tech industry and the assbackwards hiring practices they are using. This started out as a simple Amazon search sucks article, until I decided to dig into their hiring process. I then discovered their hiring process to find experienced engineers is as assbackwards as assbackwards can be. And this is something plaguing the entire industry, which is why shit doesn’t work anymore. Bank logins, shopping carts, paying bills online…. you name it.
Update: The search is so useless I’ve started using other websites to find things. It is like Amazon takes pride in Amazon Search sucking major ass so badly. Search is pretty much 100% FUBAR on Amazon at this point. I recently wanted a graphics card. I tried Amazon but the search is so beyond broken it is pathetic and useless. SO SCREW AMAZON.
Amazon search sucks! Why? Well a video is worth more than 1,000,000 words.
First off note the difference in result count, 690 vs 3000 when I choose to sort by price low to high. It seems like 3000 is a hard coded random number not an actual real result.
You will never ever be able to view 3,000 products, because this search is FAKE.
Also notice, once I switch to lowest to highest, all of the sellers with their unrelated garbage pops up. So now you get page after page after page of non-relevant garbage results.
So if you don’t filter you get pages of randomly priced items in a random list. That is never helpful to me on any site EVER. That pretends like the price doesn’t matter. How can anyone find what they are looking for if they don’t compare prices? As prices go up, objects often get more features and are of higher quality. Plus what kind of sense does it make to have $38 next to or after $299 or vice versa?
Maybe I shouldn’t have tried the price range feature with the lower to higher filter? But why would I think that would work any better?
So now you get 7 pages of desiccant and humidifier parts instead of humidifiers.
Amazon Search is all like…
Only 7 pages for you!!!
And don’t you just love how it stops at page 7? THAT IS 100% useless. So now you get less results than if you didn’t filter, and the results you get are 100% UTTER SHIT. This is just bad programming and design.
Hell even if you don’t choose any of the filters, you get 7 pages of results. THAT IS IT. WTF? WOW REALLY GUYS?
How to fix this
I have no idea how Amazon is designed. It could be a technological mess of one piece added onto another in a patch quilt type manner. I am guessing that is the case after looking further into Amazons hiring practices.
It would be nice though if they could get these features working, since they have no real competition. I mean more than 7 pages of search results would be nice. You know show us all of the results.
Why show 3k search results but only allow pagination of 7 pages for a total of less than 400 products?
People have been complaining all over the internet about this, even in amazon forums. I have no idea why the hell they don’t address this BS.
So a recruiter from amazon ( more like 10 LOL) contacted me on LinkedIn. No they didn’t know about this article, or my website even, nor did they care. They were looking for people with 10 to 15 years experience with various technologies and languages, like I have. I decided for shits and giggles to see what kind of BS they were doing to candidates during the hiring process.
What an utter joke. I see why their search sucks and AWS products like CodeBuild give stupid errors like Error: 255 and no info. The process Amazon is using, screens out experienced people.
What is the first part of the process for screening experienced candidates? Review their resume? Talk to previous employers? Review code in repositories? Read a persons blog with hundreds of articles????
OH HELL NO!!!!!!!!!!!! Hackerrank bullshit brain teaser tests of course or else they won’t talk to you. Yeah you know the shit that not one soul on earth uses in a daily job? Yeah lets test for that first!!! FFS.
In the real world people solve real problems!
Hackerrank might be OKish for finding new programmers right out of college. But it is absolutely horrible for finding experienced Software Engineers and developers. Why? Why you ask? Shouldn’t the experienced guy know all the stuff of the fresher and more? NO that is just not how the human brain works. The human brain dumps information it doesn’t utilize on a daily basis.
If you don’t use something your brain dumps it. How many of you remember all the Algebra and other math from highschool? I bet you an 8th grader who makes good grades can kick your ass in Algebra and basic math right now. Why? Because it is fresh in their minds because they are learning/using it and you are not.
So a Software Engineer with 15+ years experience is going to be 15 years removed from solving bullshit brain teasers. Furthermore to solve these utter horseshit brain teasers, one must be SUPER FAMILIAR with one single programming language to the point they can program any moronic brain teaser algorithm with just the bare structures of the language, no libraries or frameworks and you can’t google or read any docs.
GTFO with that level of time wasting stupid.
Another reason an Experienced Engineer won’t be able to pass those moronic hackerrank bullshit brain teasers is, they have spent 15+ years doing real things, solving real problems. These real problems use different parts of a language and you often use libraries and frameworks to solve the problems easier. This further removes you from having to create algorithms on your own or even use parts of the language to do so. A software engineers desk is usually covered with books and note pads and print outs etc. They are not wasting their precious time dicking around on Hackerrank BS I promise you.
In short, you will never, ever, use most of that useless shit on Hackerrank in your life EVER.
And hackerrank teaches horrible coding practices. All in one functions, instead of SRP. Short nonsensical variable names that don’t tell you shit of what they do. Instead of well, purposefully named variables that tell you WTF they do. I am sorry but a,b doesn’t tell me shit. How about length, width???? Hackerrank is teaching people to write horrible code, and others agree.
Aha. Now I see why AWS CodeBuild returned horseshit instead of usable errors. And that is why I decided I had no use for AWS and started looking into the many other alternatives. I am not wasting my time with something that returns useless bullshit errors. That screams amateur programmer and that further screams “random bs bugs” But at least all their programmers can pass those Hackerranks they learned to program from FFS.
I can promise you that many software engineers, developers, programmers etc. with 10+ years experience have probably never even heard of Hackerrank, unless they have recently looked for a job. I hadn’t until this recruiter sent me to that horror site of bad coding practices. Why? Because I’ve spent the last 16 years working on projects, programming, web developing and having hobbies like learning electrical engineering, horticulture/gardening, living a life etc. I don’t have time for that BS to be honest.
And most experienced Engineers, programmers, developers etc. Most people in all fields of employment, after 15 years have a busy life. So basically these hackerrank tests are a filter to filter out people who are over age 25 or who have a life. They have no other purpose than to discriminate.
One reason I can see that tech companies would do this is because young people fresh out of college usually have no life yet. Young people are naive and willing to work insane hours trying to get ahead or make more money. You people are willing to work for less than they are worth just for the sake of adding to their resume. Older people have a life. Older people don’t want to work way over 40 hours a week. Older people have families and hobbies and interests other than working themselves to death.
If you do the math, 150k a year isn’t worth the 80 to 100 hours a week some of these companies will want you to work. The tech industry is one of the most horrible to work in due to this fact of them demanding more than 40 hours a week.
If you do the math,even if you make a whopping 150k a year, if you work 60 hours a week( 12 hours a day, 5 days a week) = 3120 hours a year, is about $48 an hour.
Now compare this to self employment building web apps with WordPress. You can charge $60 an hour, work 40 hours a week and make about 125k a year. The trade off is you get more time to yourself to have a life, but only make a little less. Not only that, you can charge more an hour say $75 or $150 an hour depending on what you are doing.
And the best part is you don’t have to waste your time every few years when you want a new job, having to relearn all the algorithm BS and getting good at sites like Hackerrank etc. This means my knowledge continues to be valuable and I can learn just what I need to make money. I can have more time for family, hobbies and life in general.
Even if I wanted a job, I wouldn’t stop all I am doing and spend many weeks learning Algorithms and playing on hackerrank learning very specific parts of one single language well enough to complete a brain teaser in a POS IDE that sucks major balls. I respect the effort and time it must have taken to create such an IDE in a browser, but it still sucks compared to our daily tools. Which leads to another point, the IDE.
Many of us who have been in the field of programming/web development etc. for more than 12 months PAY FOR OUR IDE. We highly customize our IDE to each language we use, those of use who are poly programmers.
I have dyslexia my IDE tells me when I misspell words and even variable names. Because thisVaraible is not the same as thisVariable or thiVariable.
My IDE also helps me spot unmatching brackets and other language syntax errors and highlights that save me lots of time. Hell my IDE will even show me the documentation for a specific function I am about to use as I start typing the name. Or even allow me to open up the source code itself to view it myself. My IDE will even tell me when there are code conflicts such as ambiguity etc. These little things help and we get used to them.
So basically asking a programmer who pays for an IDE to use some foreign, greatly inferior IDE, to perform a task they don’t do daily; is like hiring a carpenter who builds cabinets and trim work, to build you a wooden spiral staircase from memory, with a bunch of no quality, bottom end, Chinese tools you bought off ebay, that may or may not work properly, but hey they look the same.
The carpenter very well may have the skills to build the staircase, but may need to review the math and build templates first. They will also have their very own, often very expensive set of tools to do the job.
Side note, I do carpentry too. LOL You should see the house I built for my Ender Max 3, 3d printer. I’ll post the images and video soon. It even has framed little walls and door. It is 100% air tight, complete with aluminum heat reflecting insulation to keep the heat inside the box, with an attached hose and fan that fit in a window to suck out the plastic fumes. I am in the process of building the automated system that monitors temps, humidity, smoke, VOC’s, fire and vents when needed, all controlled by an ESP32 with a phone to let me view the printing remotely from my desk. It also has 360 degree lighting which will help with the image quality. The air vents have servos which open and close them.
Programmer !== Software Engineer
Another reason most Senior Software Engineers probably won’t pass those tests is because they are not programmers. The Tech industry decided to mix up the concept of programmer and software engineer years back. A programmer programs. A Software Engineer can program, but probably spends most of their time reading. Reading, books, blogs about programming and software, Documentation about Software they are considering including in their project. Software engineers often read things like tech RFCs like this.
Basically it is the job of a Software Engineer to understand system design overall and pick the parts the application will be built with, everything from the software like MySQL or Postgre to hosting servers and which language is picked for the project. The job of the programmers is to use the language that was picked by the Senior Engineer and use the softwares picked by the Senior Engineer etc. The Senior Engineer then also mentors and helps troubleshoot issues with the programmers.
The main value of a Senior Software engineer is not in their ability to perform valueless algorithm programming exercises. The value of a Senior Engineer is in their long time experience with technology and engineering software and all of the bugs, quirks and issues they have encountered and solved in their lifetime. That is the value of a Senior Software engineer and giving them bullshit hackerrank tests only eliminates them from your hiring pool MORONS.
Someone straight out of college might be able to quickly do a hackerrank, but will they recognize why a system is failing and be able to diagnose it? Only someone with prior experience with fighting Linux permissions would even know where to begin to even look for a solution. That shit is not taught on Hackerrank or in college.
How to find experienced Engineers?
So how does one go about finding experienced Engineers and weeding out shitty programmers? Well to start with don’t funnel them through the same damn filter you are putting juniors/freshers through.
An experienced Engineer/developer will have previous projects they have worked on. Ask them about those projects. Read their resume. Visit their websites if they have any. Ask them how they would handle a theoretical situation like a server crash. Ask them to see some previous code they have in a github repository. Ask them to refactor/rewrite some old code they have in a repository, this is probably the best way since you can see what it looked like, and how they upgraded it. Maybe even give a small on their free time project to complete. Something simple like fetch data from this api endpoint or send a request to the endpoint etc.
But finding Experienced Engineers/developers with 10, 20 or more years experience with Hackerrank is absolutely how not to find those very people.
This kind of BS with testing and working more than 40 hours a week etc. etc. etc. is why there is a shortage of Tech workers. More are realizing they can work for themselves. More are just switching to industries that suck less, digging ditches can be more rewarding FFS.
Software Engineering, web development, programming… sucks balls to be honest. Most of the tools, libraries, frameworks, software etc. suck and have shit documentation and waste mass amounts of your time. Imagine fighting quirky software that isn’t documented properly daily, it really takes the fun out of programming/developing. Now imagine you are stuck in a job that forces you to work with a bunch of dysfunctional software for 12+ hours a day 6 days a week.
The tech industry is literally one of the main industries that thinks it is normal to over work their employees more than 40 hours a week. GTFO with that toxic BS culture.