Yesterday after sending a recruiter my resume for a role, I was told I would need to complete a technical test. The role was interesting and the last few technical tests I've done have challenged me and have been fun. The way the test was phrased told me a lot about the company and I could tackle the challenge as a i have nothing to lose, and will have an evening of fun coding I probably would have done anyway.
Later that day i received a reply from the recruiter informing me that the instead of a build-something you can talk about test, it was going to be an automated TestDome test.
This was the email I wrote to the recruiter;
Please find attached my latest resume for your consideration:
Dear
re: testDome
I was expecting a build a sample project that does X or Y
that I can show the client and talk through my decision making and problem solving.
Unfortunately I am probably not going to score well on a TestDome test for Javascript and SQL.
I can totally understand why you or your client would want to use a pre-screening test like testdome, (mostly because they claim it's quicker), however for many candidates with very senior and broad skills, like myself, I am concerned if the question just happens to be something I don't use a lot, I wont do well.
Remember on the phone I said a colleague I know works as with a shipping company, well I called him to ask him where he worked, wondering if it was the same company, then I could use him as a reference, well it turns out he's not working there. He said they gave him a TestDome test and he flunked it. And I know he's a damn good engineer. I have worked on his code, and know the team that he managed, and code reviewed their stuff as well.
So now, I'm now very wary about any TestDome test. Mostly because it's an artificial barrier that those that have prepared to pass it will do well in.
If I need to pass the TestDome tests it's going to require that I take a number of trial tests, and then sit with my SQL and javascript books and do a whole bunch of study, that i may never use in production with my clients, just to be able to pass testDome tests.
There's a very good chance I will fail that test and here's why:
My javascript and sql are strong. But not test
strong. They are good enough and where my production tests show that we have a bottleneck I will read up on the particular unique requirement and improve the code as-needed to get within performance requirements. So in that niche case I become an expert.
I have the breadth of experience and skills to quickly assimilate a huge amount of data to come up with an approach to asses the problem and address it. That's not something a junior developer can do.
Most of my SQL work is focused on relational design, with a minimalistic approach. I've made extensive use of ORM's (mappers) together with good testing. Where the sql generated by the ORM is sub-optimal, I hand write a stored procedure if needed, or optimise the business logic code with appropriate caching.
The general approach to both scalability as well as maintainability has always been to keep the business logic out of the database, and only use the database as a last resort for transactional work, preferring lock free designs and sagas across micro services. This also supports breaking up a database into separate databases for separate microservices should a system start to grow in complexity.
A lot of my micro-service and enterprise work has used simple SQL together with an ORM (Dapper, Linq 2DB, Entity Framework, NHibernate) together with various NoSQL technologies, eg. ElasticSearch, with a focus on removing complexity from systems and moving logic onto testable components. I've worked extensively with web developers where I have worked with the business requirements and designed the API's for the web designer to consume.
On the front end, I can produce a basic wire frame application for the client in HTML 5 and Javascript and MVC, which wont be pretty, but will be good enough to confirm requirements, and allow the team or myself to focus on delivering working software. The front end can then be handed over to a dedicated web designer to make pretty or use more libraries to improve responsiveness and functionality.
I say this, because I believe using TestDome to filter out candidates is possibly the wrong approach as I will possibly score very poorly on testdome on two of those three categories and you're going to lose out on an excellent candidate for this role.
The technical test that I was expecting, which is the type of test I have done regularly for most of my senior roles, has been build a sample project that does X or Y, that shows each of the following, and solves the following requirement
. This allows me to create a demo project that delivers on the test requirement, and will be discussed face to face with their developers, going through the rationale of why I used what I used, and they can see from the code what instinctive practices I use, and how I write my tests.
I'm going to write the test, and I don't know what the outcome is going to be. However I thought I'd share this with you before I wrote the test in case I pass, or in case I fail. That way you know what my reaction was before I wrote the test, and it wasn't a reaction because I was bitter that I had failed the test.
If I fail, then I will know In future to pass on any recruiters that rely on TestDome. Perhaps they will improve their testing over time, I don't know, it's a really difficult thing to get right, getting a robot to assess a human as being a good developer.
Personally I think that what makes a good team lead is much more about management style, interacting with clients, as well as solid coding and engineering skills. The things that break are ALWAYS the things that theres nothing written about in any textbook.
The best skill to test for, is adaptability. How do you handle new challenges you don't have a recipe to solve? How do you communicate with your peers to collaboratively solve the new challenge.
Anyway, I've made enough excuses
(grin!) and it's time for me to step into the lions den and try out your TestDome challenge!
wish me well
:D
best regards,
Alan
Comments
Log-in and 'Comment' service (like & reply) is currently being built. For now, if you leave a comment using the contact us form, I'll manually add it to the comments above.


