I have a decade of checkins and mineable Git data.
I have solved every single problem that I've ever encountered; whether technical or human (I was a manager for a long time).
I have convinced skeptical, conservative, empirical Japanese managers to fund and support development strategies, based mostly on their confidence in me, and my Integrity.
I have hundreds of pages of articles I've written in Medium and my own (multiple) sites.
I have multiple sites that I have designed, and hundreds of pages of instruction, along with entire courses and presentations.
I can trot out a long line of personal and professional references that include CEOs, VPs, lawyers, doctors, consultants, politicians and other engineers, all of whom will sing my praises to the stars -on the record.
A big reason for that, is the reason I'm not extremely well-known (outside of a certain narrow demographic). I have done most of my engineering over the last decade in Service and open-source projects that aren't about making money; but helping others.
However, when I say this, the answer I get is "IF what you say is true..."
Why the hell would anyone make a claim like that without backup? That's crazy.
OF COURSE I can back it up. My SO Story is a mile long, with links to everything.
Damn straight, there's folks better than me at pretty much any branch of what I do, but I know few that can offer the depth of knowledge across the spectrum, like I can.
AND I CAN PROVE IT.
But you'll make your decision based on a half-hour, fifty-line binary tree test that a college student would ace better than me.
I want to see lawyers do legal briefs as part of their interview. I want to see doctors do "trial surgeries." I want to see HR managers do "how would you handle this?" tests as the ONLY variable in their hiring process, while having their portfolios ignored.
After a few months of this crap, I just gave up, and started my own gig. It's working well, but slowly.
I would have been fine, taking a low salary, if the work interested me. My retirement's set. I have a couple of companies that I can use to keep my toys going.
But good luck with the "Draw Spunky" matchbook tests. I'm sure that you'll get top-shelf talent, that way.
Further they never, build these "test" platforms to reflect how we actually do development. I took one of these tests about a month ago just for shits and giggles and I hit the first questions and they where along the lines of what does this code do. My first reaction was, hmm I don't know where is my compiler and debugger that I can set breakpoints, because if I come upon code I have never seen that is literally the first thing I do, step thru it and break it down piece by piece so I can logically map it in my mind. Now granted they where small snippets of code, but the point is, that's not the way I analyze code, I never just look at code and map it out in my mind, I step thru it, add comments and build mentally digestible maps of code. Further just to make sure this test in no way reflects anything near reality the test is timed and counts down on you, no one has ever counted down on my while I am developing like a bomb is going to explode.
And that's the point none of these interview test comes close to reflecting how developers actually do development. probably the closest I came to one that did was for a contracting group who sent me a React project with a single bug, it was completely set up, you just fired it up, started stepping thru it and fixed the bug, you then checked it in, and resolved the ticket assigned to you. It took about 5 minutes, it was literally just a sniff test to see if you could run a project, find and fix a bug. It was the first one I have seen where I thought well that was a well designed test to just see if you pass the sniff test.
Also don't you have an onsite technical interview process that you use to assess the candidates abilities which invalidates any need for online coding tests?
If you can't answer yes to these questions. Unfortunately you are part of the problem.
Of course I have to trust the candidates that they made the homework themselves, but if you don't start on a trust basis that would be a really bad starting point. There's still probation to make sure they're a good fit. I'm investing a lot more work into vetting when it's an overseas candidate compared to local, but mostly to make sure we don't put someone on the street, because I didn't do my job properly.
I do have the experience, and have the code to show. Why would I be subject to a "homework"?
This process objectively discriminate against people with enough age and experience, but don't have the time outside work. Even just not having the will to do a "homework" is an enough reason to pass.
Are you hunting for young eager engineers who can put the most to self proving, or a diverse experience base?
I am not suggesting anything against your process, but highlighting the shortcomings.
I would probably pass your interview process directly.
I've allowed myself to become old. I'm well past 40.
Most of the time, rejections come within a couple of hours of submission, so I know that a "robo-scrubber" detected eld, and bounced my résumé.
It's actually funny. I see a position advertised, where I am a 100% fit, I submit a CV, and get a bounce within an hour.
Then I see the position still being advertised weeks later.
I have considered adding the following line to the top of my LinkedIN profile:
"Let's just get this out of the way: I'm over 40. If that's a problem, then let's not waste each others' time."
I REALLY don't want to work anywhere that I'm not wanted. I have the rare privilege of being able to do more or less what I want. I love coding. I'm an outstanding manager, but I don't love it.
It's just not gotten to that part. In some cases, a decent salary would have been required in order to support a move to a higher-cost-of-living area, but it still would have probably been surprisingly low.
As a manager, I made a pretty decent salary for a long time. I would not expect that, as a coder.
I have received a few rather direct answers, and once was privileged to be accidentally CCd in an email, discussing my age.
It's illegal as hell, but hard to prove, and not worth it. If you make a big deal out of it, you blackball yourself.
This kind of behavior has been rampant in the finance industry for decades. It's still crazy as hell, with 25-year-old kids running billions of dollars worth of other people's money through virtual slot machines, while acting like drunken frat boys.
When there's money to be made, people will look the other way. Check out the industries where there's not a lot of money to be made, like social service or education. You will see people being keelhauled regularly.
1. If you can do all these things, then it really won't take that long to freshen up your your white board skills so that you can solve a variety of algorithmic problems easily in code on a whiteboard. If you really want to work for at a FAANG-style place, then just divert your energy for a bit into practicing white boarding. I agree it's stupid and it's probably not worth your time... which leads me to point two.
2. Given your experience and interests, it sounds like working as a cog in a mega-corp is probably not the right career path for you. You're going to do much better in a place where your role is a much bigger part of the company, and your individual skills will have a much bigger impact.
And as far as the "other professions don't have to do this" line. I worked for a while in a career that was not software engineers and to be honest, I wish there was basic, practical proficiency tests as part of interviews in more fields. The number of professionals in my last field of work that could not do the basic requirements of the field correctly was horrifying.
Actually it does (and that's part of the whole point of the massive burnout crisis caused by these tests). By and large -- they've become so distorted (either by intentionally asking candidates to solve ridiculously hard problems; or by having these goals set, or simply having the tasks so carelessly so as to achieve the same effect) that they've basically lost any grounding in reality.
The only way to soften the blow (that is, to significantly reduce the chance of immediate rejection) is to cram -- that is, to in effect make it your part-time job (for a little while) specifically "practicing for" (that is, memorizing the expected outcomes of) these tests.
Which of course defeats the entire purpose of the "test". As one would think these companies would be smart enough to know.
Yes I know many people are ready to say, "But when Iinterview I just do this simple FizzBuzz-oid thing I came up with that anyone who claims to have a CS degree should be ale to solve." What I mean is -- the last time I had to go through this ritual -- about 50 percent of the time these tests (or simply the environment in which they were conducted) were seriously off-base in one form or another.
And in more than a few cases I wish I could forget, ridiculously so.
They don't; what they say they want is pure PR aimed at creating an image of both fit to the perceived culture of the developer community and compliance with the law.
> then you should not be hiring in this stupid broken way that we all know doesn't work and doesn't give you those things
Of course. The fact that they continue to do despite the fact that it is well-known not to produce what their PR says they want is pretty compelling evidence that their PR is nothing more than that. But as long as enough people are willing to both play the game and believe the PR, there's no incentive to change.
I was interviewed a while back for a marquée corporation. Great outfit. Would definitely be a place that I'd like to work. I'd even have moved for it, and would have been happy to put aside my ONVIF work to work with them.
They had an HR "triage" person reach out to me to make sure that I was good for the next stage.
I sent them a link to my SO Story, along with links to specific repos that addressed the needs of the position (I have repos for multiple shipping apps on the App Store, and source for LOTS of stuff that is currently in use as industrial-strength infrastructure).
The triage guy didn't bother forwarding it, and the secondary interview was...you guessed it...a fifty-line binary tree test.
To add insult to injury, it was given in Swift, when the position was for ObjC, and the tester dinged me for not writing inscrutable, obfuscated garbage code using the nil-coalescing operator (think ternary, but worse). I deliberately try to avoid using it in a "chained" fashion, as it leaves unreadable code.
Basically, I was rejected for an ObjC job, because I didn't write ugly Swift.
All my work in open source has taught me to write extremely readable, well-documented code that can be taken over by folks; often with fewer chops than mine. I know that the outfit I was applying for takes that stuff seriously. They are a model that I like to follow.
2) You're right. I have figured out that "used to be a manager" is poison. I've had a number of times where I've made it to the techs I'd work with, and the process has stopped there. I assume that they are afraid I'd be hard to work with.
You don't last long at a Japanese company unless you are REAL GOOD at being a cog. I was excellent at it. I lasted for a long time.
I was actually looking at startups. I'd be almost ideal for a startup. I was willing to work cheap, and take risks, as my retirement was set, and I live extremely humbly. I have a huge array of skills and experience. I have management experience. I clean up real good and can get Japanese managers to commit (they make American VCs look like Santa Claus).
Ah...well...water under the bridge. More will be revealed...
They aren't looking for an absolute rockstar who believes their experience puts them in a level above all other engineers, or someone who believes they are too good to go through the process everyone else went through.
They want someone who won't spread toxicity through the small team, and your numerous accolades does nothing to convey that. However, the way you've conducted yourself so far speaks volumes.
I don't do self-promotion well. I just state the facts. Apparently, that's enough to "have an attitude."
I spent most of my career at a marquée corporation; surrounded by the finest engineers and scientists in the world, where I was NOWHERE NEAR the top of the heap, and never pretended to be so.
The simple fact that stating that I have a PROVABLE PORTFOLIO means that I "have an attitude" is a sign of how sick the industry is.
BTW: That portfolio is full of errors and mistakes I've made, as well as successes. I'd never dream of getting any work by deception. I want folks to know what they are getting; warts and all.
I know damn well that I'm not a "rockstar." I was a hiring manager for years. This is not a Dunning-Kruger binge. I'm quite aware of where I fit in the food chain.
And I guess that it's obvious. I'm done looking. I wouldn't post stuff like this if I were. Sooner or later, I'll probably be looking to hire other folks. I'm a really, really good manager. You should see some of the testimonials on my LI profile. One of my "golden rules," has always been to treat others as I would want to be treated; regardless of how I am actually treated. Being a working engineer during my entire management career helped me to have a lot of empathy (and hard to BS). I was also privileged to manage a really high-functioning team of top-shelf developers. They knew more than me; and that was great.
If things don't work out...well, I can wash dishes as well as the next guy. I don't really have as much ego tied up in this stuff as it seems. I just love tech.
More importantly, you need to look beyond yourself. I'm an old developer and I don't like to be grilled on algorithms either. But my understanding is that it works very well and that no one's ever come up with anything that's better in terms of effectiveness at scale. Giving random hiring managers discretion to hire who they want simply doesn't work if you're a desirable place to work and need some minimal level of competence across the board. What do you think would work any better? This focus on how it feels from your perspective is fine if you all you're trying to say is that it sucks for you personally but ultimately if you're trying to prove that this is a bad process for those who employ it, you need to make a case that there are better, more efficient processes. Every process will lose some qualified people - so that you may have been qualified, but were rejected isn't meaningful evidence against the process.
Btw, appeal to special credentials as a way to criticize standard procedures is an implicit argument that hiring managers should be given discretion to bypass standard procedures to hire special candidates. I've never really seen this go well, at a level below, say, industry pioneers. I do distinctly remember the one time I did that as a manager to hire someone with a rather long series of accomplishments who refused to take coding tests - I had to fire him rather quickly. The interesting part, other than the complete absence of any sort of actual productivity, is that he couldn't work with anyone, was right about everything and his long list of accomplishments was constantly used as a reason why he didn't have to do anything he didn't want to and any rule he didn't want to follow was stupid.
So I don't think standard algorithm tests are that great as a filter, but at the very least, the willingness to go through it communicates some level of willingness to do things you don't like or aren't best at. A huge part of what makes engineers successful isn't the ability to do things they are good at, but the willingness to do things they are not good at.
Suppose that I have a portfolio with...let's just say...100KLoC of extremely current (like fifteen minutes ago) code, a GitHub ID that is solid green, and over 30 public repos in one org, and over 50 in another, and some of those repos and code examples happen to fit your application EXACTLY.
Think that might tell you a bit more about me than a schoolboy test?
Asking for a friend..
Yeah...it does mean that you'll need to spend some time actually reading up on what I can do, but there would be no question at all about my abilities or relevance to your workflow (BTW: That cuts both ways. You may well decide, from looking at my stuff, that I'm not a fit).
I was a hiring manager for over twenty years, at a top-shelf corporation, and managed a really heavy-duty team. I loved long résumés. I would have KILLED for the kind of information you can get in a well-stocked SO Story.
As I said, this is just not how things are done at modern tech companies and there are good reasons - hiring managers generally don't have the authority to arbitrarily bypass standard processes because hiring managers are inherently biased towards hiring someone good enough for the time being, even if it lowers the bar. So the goal isn't to hire somebody that the hiring manager feels is good enough, but to objectively compare thousands of candidates against one another in a systematic way that keeps the bar sufficiently high enough. You should understand at least what the problem is before you can criticize the solution.
Also, generally speaking, if you pay attention to research into hiring, the two things that really stand out are that 1) general abilities are more important than specific skills and 2) standardized processes outperform ad hoc evaluation. If you're asking to be evaluated on ad hoc credentials that cannot be objectively compared to others (most people's best work cannot be shared) - you're asking people to forego processes. And that is simply not known to work very well, mainly because it's not evidence-based. Your unique set of accomplishments that cannot be compared is not known to correlate with any measure of performance because there's no way to say, people who tend to have accomplishments like yours tend to perform at a certain level.
I also don't know what you mean by "top-shelf" corporation but I'm not aware of any top software company that doesn't basically do this - your claim to have been a hiring manager at a top-shelf corporation isn't consistent with your lack of understanding of the realities faced by top-shelf corporations where there are far more candidates than qualified due to paying well above market and the need to ensure that the bar is kept consistently high, regardless of the motivations and qualities of individual hiring managers and interviewers (unless your top-shelf company isn't actually a software company, in which case it's likely not top-shelf at software).
I apologize for wasting your time.
I don't have the will, or energy for that.
I have been working in the area like for the approx. last 2 decades. If anyone wants to validate if I can really code, can put 1 hour of their time and go over my github/gitlab profiles instead of asking 1 hour of my free time to redo what I was doing professionally.
This will be counted against their paid time, but not mine. This is asking some sacrifice on my part for a process everyone knows is highly subjective, and not really doing the expected.
And more to that, while working I solve real problems of the business. I do work with colleagues. I do use as much time as needed to do research. I don't get on a dumb IDE which is not integrated to my workflow, or tooling and do puzzles with illogical limits.