I’m in the process of applying for my first web dev job. Some of the companies I apply to want me to do coding projects as part of the interview process. I’m skeptical of this. The companies asking me to complete coding assignments are companies that I haven’t even had a phone interview with or spoken to. They respond to my application with a copy and paste email telling me to complete a coding assignment and a file attached with the specs.
I’m reluctant to devote hours of my time working on a coding assignment for a company I haven’t even spoken to yet. I’m wary that I’ll waste my time on an assignment that a human being on the other end is never even going to look at. I’m sure they send this email to 75 other people.
Am I wrong for being reluctant? For people already in the industry: What’s your personal view on completing coding assignments for companies you haven’t even met or spoken with?
Here’s the spec they sent me for reference:
Construct an interface for displaying a simple table, represented as a CSV file. During your in-person interview, we will provide a CSV file for you to demonstrate your code. It will conform to the following specifications: (i) the first row contains only titles, as strings; (ii) all other rows contain numerical or text data; and (iii) columns are homogeneous (i.e., not mixed numerical and text data). The interface should be as user-friendly, efficient, and intuitive as possible.
Support the following functionality:
The table may have lots of rows, so provide either pagination or scrolling; it does not have lots of columns. Next to each row or data, display the original row number (with the header counting as row 0).
Preserving rows, allow for the table to be sorted (by a variety of methods of your choice) by a particular column; sorting methods should be appropriate for the column type.
Preserving rows, allow for the table to be filtered (by a variety of methods of your choice) by a particular column; filtering methods should be appropriate for the column type. Text filtering should include at least one wildcard-based (i.e. , pattern matching) option.
Allow for multiple filters to be applied at once, but the interface need not allow for multiple-column sorting.
Display (in any manner) summary statistics for a selected column including, but not limited to count and range; for numerical columns, also display sum, arithmetic mean, and any other interesting statistics of your choice.
When hovering over a particular cell, identify its row number in the current display. When hovering over column names, identify the the column type and which filtering or sorting methods are currently being applied to the column.
Allow for columns to be reordered, and to be added to or removed from the display. Also, augment the interface with any graphical visualizations you find interesting, useful, or appropriate.