loading...

re: Are You a Mediocre Developer? ME TOO VIEW POST

FULL DISCUSSION
 

Full Story On My Job Application to That Company

Been working in freelance since 2011...

So I have an experience of professional dev for 8+ years (when applying to this job)

I thought about working in an enterprise company, to see how things go there

Regardless the fact that enterprise companies might be dull 9-5 jobs 😁

After applying, I got a call from the recruiter then she forwarded me to the CTO.

I got 3 technical questions to answer in email to continue to the next step, the demo task.

The demo task was mentioned to be 3-5 hours task. Actually, this was not the case.

Check the requirements to know what I mean:

task

Regardless of the task being time consuming (with the absolute idea of having no guarantee to get the job), I thought inside:

This is the CTO of the company, he is not a usual recruiter... he must be evaluating things the right way.

So, I started working on it the first day, and I checked whether things are going wrong or not:

pic-checking

And he replied:

nothing in the wrong direction.

I did the task within two days, here is the repo at that point

He told me that he will hand the repo to the seniors in the company to give their feedback, and this was the reply:

feedback

Two things came into my mind at that point:

  1. Is he serious? he wants me to fix the implementation as if I was working full-time and getting paid?!

  2. I've gone too far, and I don't wanna waste the time I spent already, so I gotta do this.

So this was my reply:

is-serious

I spent another 4 days fixing the stuff he mentioned (you can see where this has gone too far).

And, I sent him after:

final-answer

And this was his reply:

cto-final-answer

Well, that moment I thought whether he is being dodgy or real cuz:

the end result is still too complicated for the relatively easy task

He asked to use Django Rest Framework, with some frontend, and Docker... shouldn't that be complicated by essence?!

Also all of the dev/prod switches weren't necessary

He actually praised that I deployed it on Heroku, how would you do that without those dev/prod switches?

Anyways, I basically spent a whole week working on their "demo task"!

wholy-shit-gif

 
 

Alright. It's me. The "bad" man on the other side of the email conversation.
I was struggling with myself if I should reply to the post at all because

  • publishing a private email conversation without letting the other party know and agree on it upfront is a no-go for me.
  • so many false claims and hypothesis have been brought up without even trying to think about the intention of the other side.

To find a way for myself, I don't want to get into any of the details of the posting itself.
But I'd like to talk about motivation.

In my reply, I will focus on our way to evaluate and handle applications and why we are doing so.


Why are we doing this at all?

We're advertising our job offering world wide. Therefore we receive hundreds of applications a month.
As you can imagine, we need some kind of differentiation/filter. Is a candidate good or not? How can you tell?

We decided to standardize our application process and try to be as transparent as possible right from the beginning.
Our job description already states the main technologies required to fulfill the position. Python, Django, RDBS, HTML/CSS/JS are hard requirements. Celery, RabbitMQ, Sentry etc. are a huge plus.
However everyone can claim knowledge of these fields. CVs usually are full of fake details. People listing technologies they just slightly got in contact with.

Our approach are multiple steps:

  • Screening CVs - even if most of them are meaningless, we can filter hard requirements. E.g. we can only get a blue card for people with recognized diplomas (thanks, German government), we can check GitHub profiles, StackOverflow, etc. if provided
  • HR phone call - check salary expectations, English language, reloaction/remote setup, etc.
  • Django ORM questions - three questions to challenge knowledge of the Django ORM and if the candidate knows what's going on behind the ORM courtains
  • Django test task - the thing we're discussing here. More on that one later.
  • A video interview with the tech team - 50/50 technical and personal questions, get to know each other
  • Two day onsite workshop - we fly the candidate to Germany to spend two days on different challenges with the team, have a team event in the evening hours, etc.

Moving for a job is a huge change. We believe that both sides need enough time and enough insight to make a proper decision. We don't want to make anyone move from a foreign country to Germany when we're not 99% sure that it will work out.

After each of these steps, we have a commitee of people making the decision if we should continue.
The test task is evaluated and judged by the senior staff, after the workshop the whole team decides. The decision to continue must always be unanimous. If only one involved person has doubts, we stop the recruiting process.

Why exactly such a test case?

Let me start with an open question to everyone reading the text: What would be the alternative?
How can you get to know what someone's really able to do?

This is our biggest question during the recruiting process.
Most of our applications are coming from outside of Europe. Thousands of kilometers/miles away. Even if that would not be the case. A long interview or an onsite workshop at this point would cost the candidate as much time as the test case does.

We're doing the same test case with slight variations over the last few years. It changed from virtualbox to Docker, from Python 2 to Python 3, the API was added etc.
We never got any bad feedback until this posting came out..

Please ping me if you know a better and faster way to tell apart people who can fulfill the job and ones that don't.

What feedback to give?

Ryan already pointed it out in his reply. We're trying to be as open and give as much feedback as possible.
It's always people involved. Humans made of flesh and blood. With hearts and souls.

Even if we reject someone, we want to treat them with respect, give feedback on why we made our decision and what someone could change and learn in the future to compensate. Give them a chance to grow.
Treat everyone the same way you would like to be treated yourself!

I know of US companies that don't give any feedback at all because they fear to be sued or will be confronted with any other kind of resistance. This is not how we want to be remembered.

Why not just try?

Imagine living in south america. Moving to Europe will be a huge change and huge challenge.
We're not happy with the idea of relocating someone here with serious doubts if it will work out.

What if it doesn't? Depends on the visa your embassy will assign.

Usual working visa -> they would basically have to leave Germany right when the contract ends
EU blue card -> better but still only six weeks to find a new job or leave the EU

I would not be able to arrange that with myself.

We fortunately only had to terminate one contract during the probation yet - this was one of the worst days in my life. Not because it wasn't justified, but because we were ending the dream of someone!


Every story has two sides. This was ours.
Connect the dots. Let me know your feedback!

Best, Jens

 

Please ping me if you know a better and faster way to tell apart people who can fulfill the job and ones that don't.

Hire a good HR rep who knows how to read CVs and ask useful questions. Your comments about CVs being mostly fake and meaningless suggest your team doesn't have those skills (and why would they, they're developers not recruiters). It's not difficult to see through bullshitting if you look/ask for evidence of each claim. I'd at least increase the amount of technical questions asked before the coding challenge, and move the challenge after the video interview.

Every other industry in the world hires from CVs and interviews. Engineers don't have to build a toy bridge to get a face to face interview. Doctors don't have to perform minor surgery to prove they can. Lawyers or accountants don't have to work on a fictional case. I don't know why software engineers usually consider it impossible.

Have you considered that these tests are actually a negative quality filter? I always turn down coding challenges, because I know I can get a job based on experience alone. Only people who are so desperate for work they'll spend a day doing unpaid labour per job application will complete your test.

 

publishing a private email conversation without letting the other party know and agree on it upfront is a no-go for me.

But if you hadn't replied, we'd have no idea who you are, so it would make no difference whatsoever that he published a private conversation. That said, you make some fair points about the coding challenge.

It's unfortunate that this conversation seemed to escalate the severity of what was a pretty tame post. The emphasis of Yaser's post was essentially for one to accept one's mediocrity/less-than-greatness (if one feels mediocre/less-than-great). His only actual criticism of you and your company was that your bar seems unrealistic; it's certainly a fair assertion given that such a judgment is highly subjective (i.e., there's no right or wrong about how realistic your bar is -- it's just opinion). But as the comments started flowing, some of Yaser's comments showed that he was, in fact, more bothered by your rejection than he claimed in his post... and there's nothing wrong with him feeling that way, though, again, we'd never know if you hadn't replied.

I certainly don't fault you for your interview process -- you have to do what you think is right for you, and it appears you and your team put a lot of thought into it. But I still don't get why you replied and put so much effort into this comment section when none of us could possibly know who you or your company were.

Best of luck with your new hire (I'm not being sarcastic; I mean it).

 

Thank you for posting your side of the story. I would have sided with the author from just the article, but he lost my respect by posting private conversations on the comments. Also for continuing to argue in the comments. I think a nice tall glass of humility is overdue on Yaser's part. Sucks that he wasted so many days on a project like this - maybe there could have been more timely feedback, pair programming etc to avoid this.

I came to this post from the newsletter expecting a totally different vibe. I thought this was going to be a post about being humble because we're all mediocre, and that there's always someone better than us. On the contrary, the author seemed to get really bitter about being rejected...

No worries - we learned our part on it.

For future tests, we will let the applicant know that we expect them to stop after a maximum of five hours - no matter how far they've got. After that we should have a look at the implementation together. Maybe a video call to discuss it.

And we will be more clear on what we don't expect.
As long as we don't specifically ask for it, we don't expect a single page application or a deployment on some cloud provider.

Thanks for the feedback.

 

Jens - With you 100% on a lot of what you said here, and having been the person on the other side I get how it's easy to take the side of the candidate vs the big bad employer (the employer, after all, almost never gets to tell their side). I do, however, have one little quibble:

"...publishing a private email conversation without letting the other party know and agree on it upfront is a no-go for me."

It's entirely / appropriately anonymized except for references to public repos...can't see at all why this should be held against him or even mentioned.

As for the rest of the take home, the replies sound like an ordinary code review to me...😂

 

Firstly, thank you for stepping forward & joining the discussion - and for keeping it professional.

I have no stake in the "game" but since you asked for alternatives...

You say each step has to have a unanimous decision, yet no-one had concerns when the email to the CTO had "gotta" and emoji etc? You missed an opportunity for early rejection there, and with hundreds of applications per month, I'd be taking everything I could to reject early.

Now, with hundreds of applications per month, and the whole team discussing each stage of each applicant, how do any of you get any work done? I know I'm deliberately exaggerating the point, but surely a select few can make the decision at each stage?

We also hire internationally, but I think we have a radically different approach (even though we use resume, phone call, tech test and Skype call before a flight). Successful candidates also get 6 months accomodation & food paid for by us, and we pay the costs of relocating in the first place...

Our tech test is significantly simpler than yours (basic CRUD application with maybe 7 requirements). Senior Devs can complete it in an hour & change, and it's done that way, because sometimes we choose to do the test at our office, and we can lend the candidate a laptop of they like. Juniors are allowed longer, or we simply skip the tech test.

When we receive the test answer, I don't look at the code, at all. I do look at the test coverage report, any comments in the code, and the commit history (one big commit at the end equals a rejection just the same as 400 commits an hour).

The point I'm making here, is that the tech test is looking for aptitude... If they already know the answer & hammer it out, good for them, they'll be highly productive. If they struggle & try things and back track a few times - I get to see how they think, if they're capable of learning etc.

A good developer should, in my view, know when it's ok to Google & read stack overflow. They don't need to know the way we work, or the depths of any frameworks we use - that'll come in time with the right attitude.

To each their own, though I don't envy you.

Thanks for your reply.

No one involved in our recruitment process is an English native. It's our second or even third language.
We'd like to start with a feelgood settings for our applicants. If that means using shortened words and emojis, that's fine - we will use them later in Slack too.

Not all of the team is involved in every stage of the recruitment.
We can already reject a big share of the applications based on letter of intention and CV.
Since most of our positions are on-site, we expect applicants to think about what it means to make such a move. E.g. expected salary in Indian Rupies for a German position is a direct rejection. I'd guess that only 20% get to the three ORM questions and 5% will get to the test.
The senior staff comes in at the test implementation and the whole team during the on-site workshop which happens at most 2-3 times a year.

Your approach sounds great. But also costy. We're still a relatively small company overall with a dev team of around 10 people. We just cannot afford getting people on-site for a workshop and then reject more than half of them. Most of the workshops have to work out or I'm running out of budget :-)
Same for the learning part - I cannot hire someone on a regular or senior position because they know the language but then have to learn the framework for half a year.
I'd really love that to change over the next few years.

 

I'm glad everyone can hear the other side of the story. Your reasoning and process make complete sense, especially for international candidates.

I'm not sure why everyone is jumping to unwarranted employer-bashing. The assignment does not seem out of the realm of possibility, especially for an experienced candidate. It isn't doing a full project for the company that you are not being paid for, the value of this project is assessing a candidate, not putting it into production. I'm sure their developers are more than capable of building this, they do not need to outsource it to interviewees. I do not know too much about Django, but breaking down the project seems like:

  1. Fire up a local Django/Postgres environment, which I'm sure there is a clear how-to guide out there and anyone experience with it should be able to get up and running quickly.
  2. Create the database schema, populate some test data.
  3. Implement CRUD functions to work with the data.
  4. Implement some basic pages to interact with those CRUD functions.
  5. Create a few API endpoints to output some of the data with some filtering options.
  6. Document your solution.

If you are experienced in the language and framework and starting a brand new project, does that take days?

I'm not sure why there are so many dismissive attitudes on performing coding challenges or a demand to be paid for doing them. I find this method to be much better than white-board coding or trivia questions that aren't representative of a good candidate. This method is a better representation of what you will be doing every day (plus you can use any resources you like and are encouraged to do so), so why not interview candidates that way? If the project is massive, I would understand, but I don't feel that this one is.

Thanks, that's quite precise.

(4) In Django you don't even have to implement a frontend. There is a builtin admin interface which can be easily configured and would fulfill the CRUD requirement.

I do not know too much about Django

Exactly, talking about stuff we don't know is just BAD!

If you are experienced in the language and framework and starting a brand new project, does that take days?

Their "senior" did the task in 6 days:

github.com/vpotter/RHTest/commits/...

What's your take on that?

I will only answer on these claims because you're talking about a non-involved third party:

This task had an additional requirement to implement an Angular frontend for someone who never used Angular.
The candidate was a personal reference and we had some extra agreements with him on that part.

Also commits spread over multiple days don't mean that this time has been spent. Most applicants have at least one job and a family. We don't expect them to finish the task within a day just because we ask for max. 5 hours of their time.

Please don't assume anything you cannot know for sure.

 

Thanks for posting your side. The test does seem a bit much. Being that you expect most candidates to change countries, I understand some of the consideration there.

I do want to point out: if properly configuring the Django admin interface was necessary to pass the test, it should have been mentioned in the requirements. Especially when considering workers from a different culture, such an important requirement being unstated seems like a landmine.

Side note: Requiring deep knowledge of a specific framework seems like a trap for your company long term and limiting on your candidate pool. The time that you saved using a framework now has to be paid by new employees knowing "what's going on behind the ORM curtains" (plus product knowledge) in order to work on your product. As well as probably restricting your design choices. The fact that it so thoroughly influences your hiring practices should be concerning, IMO.

In any case, this seems like a bad fit for Yaser and your company, so it probably worked out for the best.

Best wishes to everyone.

Using the Django admin is not a requirement but it could fulfill most other requirements without the candidate needing to code their own frontend and views. Why do more than requested. As some other comments already pointed out: this is also something you would expect later on. If the task is to cross the ocean, you don't need a QE2. A Comanche or whatever other transatlantic vessel is fine.

Please excuse if that sounds harsh - I just don't know any better words in English: I don't get the second part about the framework.
We're almost exclusively using Python and our two largest apps are built in Django. Why should I exclude that framework from our search parameters?

"what's going on behind the ORM curtains" - these questions are pretty simple if someone at least cares a bit about how a database works and what the ORM abstracts for them. IMHO it's not possible to write performant applications when you don't know what the framework hides from you.

Thanks for the wishes - they already worked out.
This week we hired a developer from Colombia - and he's the happiest man on earth right now. And so are we.

Besides the problem, as an entry-level Python back-end dev tasting Django, I can't talk much about this.

Either way, I have experience with other languages and I don't find this extremely hard. I think what complicated the scenario was trying to get beyond requirements with front-end.

Sharing the private conversation was not right though I beneficiated from the feedback provided by the CTO.

I wish the best of luck for you in future applications, but I also understand the company due to the reason why they are so cautious when recruiting.

 

Sounds like the whole reply is to justify:

Why we tell people to work for us a whole week, then we tell them: "tl;dr no"

Wrong is wrong... regardless how much justified.

but because we were ending the dream of someone!

Be realistic, Jens!

No one would like to work in a place and treatment like that.

You can see what people are saying in the comments here, it's not just me.

Ah, in case you wanna see some better hiring ways here is a good article.


I don't wanna go back and forth on this with you... nor do you.

I think did my best; unfortunately, you did not.

 

The fact that this article has been publicized just goes to show that Jens and his team made the right decision in not hiring Yaser.

I'm sorry that you feel like you've been cheated, Yaser. I hope you learn your lessons from this experience and eventually get a job you truly deserve and love.

 

Oh man, you have too much patience. A recruiter doesn't need you to build a complete application to test your skills.

You are more valuable than this.

 
 

It does sound like you did a lot of free work for them. Maybe they deserve an invoice?

 

I tend to waffle between I-don't-want-to-seem-like-I-have-a-big-ego and this-was-a-week-of-my-life-now-pay-me attitudes on this.

However in this circumstance, you're doing WAY more work than the original prompt was given. On top of that, it seems really strange to me that they would request edits to a take-home project. Isn't the whole idea of a take-home to assess how the interviewee would think their way through a typical problem and then assess their value based on their implementation strategy rather than nitpick about dead code? I honestly am confused by this. And then to end it with a TL;DR as a rejection letter seems way too colloquial for this project. You deserve better for the work you did.

I've seen something like this done before and my mind was blown. I'm curious if anyone on Dev (hiring or being hired) has any anecdotal experience for this?

Here's my response to their TL;DR

I wrote our hiring tech test. We spec it at a day, but for a junior position (dependent on resume) we'll either extend to 3 days or just skip the test all together.

When I get the answers, I don't even bother to read the code. Does it compile? Does it have better than nonexistent tests? Cool.

I do look for the commit history (the reason for the requirement of uploading to a public git repo to share it with us...). I'm looking at two things; commit messages & thought pattern approaching the problem.

If an applicant tried to bill me us for the day's effort, I'd have a good laugh & legal would write a stern letter back.

While we spec it at a day, a decent senior can fulfill it in an hour and change. If you're applying for a senior position & it took you 3 days, you might be lucky to get a low ball offer.

While I don't condone billing your interview at all, OP's experience still seems over-the-top for an interview, does it not? I can understand being frustrated with aspects of the feedback that could have easily been resolved in the first code reviews of full employment.

Don't get me wrong, I agree, OP went well above & beyond.

Even so, billing for that would get a response from legal, rather than HR (or me).

The lesson here, is that OP should have stopped sooner. Particularly on the first reply from them that suggested improvements.

I've had 1 person that I've given feedback to (because the project didn't compile!) - they were subsequently hired (against my advice). I had to fire them a week later.

If there is need for ANY feedback loop in the interview process that isn't face-to-face, it's time for both parties to walk away.

 

A demo task should be about thought process, not end product. This doesn't sound like this. Perhaps it is good that you are not accepted. Working there would even be harder.

 

This sounds horrifying. And I hope you don't care about that person's/company's personal opinions about what your *n years of professional software development should look like.

 

Let me tell you one thing.

They were right.

They asked you to do this task in 4-5 hours. If itʼs possible or not is debatable. You, instead of telling them up front, worked on the task for two days before telling them it wonʼt be ready within their time limit.

You also made mistakes, the licensing bit being a huge one. Big companies put a lot of work in preserving licenses. If you make a mistake like this, it may cost the whole company. It could mean they have to open source all their stuff, including the most precious business logic. You basically killed the company with this one.

You also paid zero attention to the requirements. They asked you to do it using Docker, and you deployed it to Heroku. Deploying to Heroku is no big deal (they even gave a plus on it) since they can live test your app.

If you want, i can give detailed answers on all the other points, but i think this is just enough for now. If you want to work for a big company, you must pay attention to such details.

Oh, and if you think it doesnʼt worth all the extra work, one more thing: the same applies to startups and freelancers.

 

You did your best but it seems they wanted to just use someone's skills to build an app for them to benefit in their own ways. Very bad.

 

Wow. I haven't even started as a coder yet (trying to move from hardware to software), and this has got me worried. I guess this will teach me when to say "no thanks".

 
 
 

Man, it's not you, it's them.
Would be nice to see one of these companies come up with their own solution to the mini project they give their candidates. This way, they could actually explain why they think their project is better the yours when they don't hire you. Of course, I've never seen this happen.

 
 

To me this looks like their devs aren't able to give accurate requirements to people. And I bet they complain all the time about not having the right requirements from business. Bullet dodged

 

I'm curious as to how much this position was offering for pay. It doesn't seem that uncommon nowadays to look for someone who is a generalist and can touch the entire stack as needed but buddy you better be paying me something reflective of having all that responsibility.

However, if I knew anybody who was competent in all those areas, I would just tell them to learn some business skills such as how to sell your service and product, find a pain point that you can build a solution for, and just build and sell the damn thing yourself.

 

I know this is going to be complete off topic, but I must ask anyway. How would you suggest someone to start learning to sell your product/skills? I've seen this advice many times that you have to be able to do this, but it never goes beyond that simple sentence.

Yeah sure, if you know someone who works in sales professionally you could ask them to tutor you. You could also learn from well respected figures online. I'm watching alot of Dan Lok's videos at the moment. You should check them out youtube.com/user/vanentrepreneurgroup

Thank you so much for the link, I will give it a try.

 

Lot of nitpicking from their side and the fact that they require you to implement a "simple" task of this size and magnitude in your own spare time, unpaid. Red flag should have been there right away, you could have said "thanks" and move on (because there's still a pretty huge dev shortage in the market so half a dozen others in place of them).

And don't get met started about the rockstar and ninja crap that companies/teams are throwing around, and the silly coding tests where they required you to have memorized every obscure detail of a language's syntax or of a framework's API.

You know what you're worth, if a potential employee doesn't get it, then JUST MOVE ON.

 

Man, halfway reading this I was pissed off because I suspected something and then they confirmed it.

They wanted you to build them an app for free.

That's what this was.

Creating a Django app with Vue and Docker, testing, OAuth, setting up PostgreSQL, a few views, design, etc that's not a toy project nor a test for a job. That's a full solution for something.

For something they are selling, I would say.

The fact that the requirements were high, plus the small frame of time they gave you so they can kick you out because you "took too much time", plus what they asked for, and especially the fact that despite not liking (supposedly) what you did yet they require you to fix the errors...

They wanted somebody to build something for them, for free. Dead giveaway.

Django + Vue is my stack too. I'm way less experienced than you (1.5 years of Django, 9 months of Vue), but I work with people that have +15 years of experience and have been working with Django since the beta came out, so I recognize good code (despite not being able to write it myself 😃), and yours is top notch.

Don't pay attention to what they said, they just were sneaky. Don't think for a second you're "mediocre", you should be proud of what you did.

 

I've enjoyed reading this article a lot; it's poignant and reminiscent.

Yes, I know your feeling as I've encountered in my professional career(14+ years) companies like these. I can tell you outright that this was a real job production task. Some companies tend to include real job tasks in their assessment tests for job applicants. I can go as far as saying that sometimes even the job vacancy itself is fake; it's an awry back door to get some free work from job applicants without paying for it. The promise of the task not to take a few hours is just a troll to entice the applicant to accept to do the job.

I learned the bitter way(after being bitten by similar traps a couple of times) to reject such assessments right off the bat. I can go on and on and list stories from my own experience similar to yours. The good thing however is that you hopefully learned what to accept or reject when you're offered an assessment task for a job application.

 
 

You didn't do a third version from scratch, did you? I'd do it for my own development and professional growth.

Been there, seen that, got rejected in a similar manner. But each rejection made me a better software engineer (mostly thanks to feedback and self reflection).

You did well to address the feedback, but I believe it would be a great experience for you to rewrite the project from scratch using provided feedback since you already did a great job at two attempts and fixed a lot of issues. That third iteration could be something that helps you grow professionally, something you can branch off of in the future when working on similar projects. Something you can use as a base for teaching others some basic concepts.

I highly recommend doing it.

Oh, and judging by their feedback, they understood your work well enough to be able to write something similar, thus wouldn't really rely on your code. I'm not saying you did great or horrible, I'm just saying that:

  1. You weren't a great match, they were looking for someone with more XP. They wouldn't hire me either, I'd simply reject that task. I believe they made a good decision for both of you.
  2. You did a good job to work on the task, but you can do even more. A few more rejections like this and you'll reach new heights of professional development. Just don't lose faith in your skills, most jobs are like this, but not all are.

Aaaand no. I wouldn't pay for a test task. If you're willing to do it without getting paid in advance, you shouldn't put in more work than you feel comfortable doing for yourself (been there, did that, got annoyed, learned from it, got a better job eventually).

My point: it's a part of the game (hiring process). You find a team that works for you, they check if you can do what they want under conditions they set. They may be unrealistic and they will be unable to hire anyone. They may find their ninja. But you should concentrate on what is important for you - your growth as both a professional and as a person.

Hopefully, someone finds this interesting :)
Best regards,
Me

Ps: Personally I believe the task was way too complex and I would reject it outright and offer to write a portion of using my preferred language and my scope of work, while decreasing complexity to 1-2 hours. If that is not good enough, we part ways without wasting each other's time.

 

It's not even a new trend: some time ago I replied to a contract offer for a healthcare government organization. The dept. manager asked very specific questions about problems they were encountering while developing an Oracle app. The questions were all over the map: architecture, data modeling, performance, implementation details, deployment.... After an hour I stood up and told him to call if he needed additional help. I later found out that Patrick from .... had done that before: he posts a job and gets several hours of free brainstorming.

 

I've interviewed all but one member of my team (the one I didn't interviewed me)...

As an employer, putting this like "Gotta" in an email to the CTO, during the hiring process, is an immediate no. After you've got the job, be as friendly as you like.

From the other side of the table, as the applicant - you went way too far.

If the spec says 3-5 hours work and it takes more than a day, that's a red flag that the company doesn't understand complexity. Should you accept a position, you'll never have sufficient time to complete requirements, and they'll likely expect free overtime to meet unreasonable demands.

The fact that the CTO said "no problem with the approach" yet the senior(s) had a lot of negative criticism also tells me that the seniors don't share the CTO vision, and that's another big red flag.

Overall, I think you dodged a bullet.

code of conduct - report abuse