New hire expectations... (Am I being unreasonable?)
Posted
by user295841
on Stack Overflow
See other posts from Stack Overflow
or by user295841
Published on 2010-03-17T17:10:49Z
Indexed on
2010/03/17
17:11 UTC
Read the original article
Hit count: 293
I work for a very small custom software shop. We currently consist me and my boss. My boss is an old FoxPro DOS developer and OOP makes him uncomfortable. He is planning on taking a back seat in the next few years to hopefully enjoy a “partial retirement”. I will be taking over the day to day operations and we are now desperately looking for more help.
We tried Monster.com, Dice.com, and others a few years ago when we started our search. We had no success. We have tried outsourcing overseas (total disaster), hiring kids right out of college (mostly a disaster but that’s where I came from), interns (good for them, not so good for us) and hiring laid off “experienced” developers (there was a reason they were laid off).
I have heard hiring practices discussed on podcasts, blogs, etc... and have tried a few. The “Fizz Buzz” test was a good one. One kid looked physically ill before he finally gave up.
I think my problem is that I have grown so much as a developer since I started here that I now have a high standard. I hear/read very intelligent people podcasts and blogs and I know that there are lots of people out there that can do the job. I don’t want to settle for less than a “good” developer.
Perhaps my expectations are unreasonable. I expect any good developer (entry level or experienced) to be billable (at least paying their own wage) in under one month. I expect any good developer to be able to be productive (at least dangerous) in any language or technology with only a few days of research/training. I expect any good developer to be able to take a project from initial customer request to completion with little or no help from others. Am I being unreasonable?
What constitutes a valuable developer?
What should be expected of an entry level developer?
What should be expected of an experienced developer?
I realize that everyone is different but there has to be some sort of expectations standard, right?
I have been giving the test project below to potential canidates to weed them out. Good idea? Too much? Too little?
Please let me know what you think. Thanks.
Project ID: T00001
Description: Order Entry System
Deadline: 1 Week
Scope
The scope of this project is to develop a fully function order entry system. Screen/Form design must be user friendly and
promote efficient data entry and modification. User experience (Navigation, Screen/Form layouts, Look and Feel…) is at
the developer’s discretion. System may be developed using any technologies that conform to the technical and system
requirements.
Deliverables
- Complete source code
- Database setup instructions (Scripts or restorable backup)
- Application installation instructions (Installer or installation procedure)
- Any necessary documentation
Technical Requirements
- Server Platform – Windows XP / Windows Server 2003 / SBS
- Client Platform – Windows XP
- Web Browser (If applicable) – IE 8
- Database – At developer’s discretion (Must be a relational SQL database.)
- Language – At developer’s discretion
- All data must be normalized. (+)
- All data must maintain referential integrity. (++)
- All data must be indexed for optimal performance.
- System must handle concurrency.
System Requirements
- Customer Maintenance
- Customer records must have unique ID.
- Customer data will include Name, Address, Phone, etc.
- User must be able to perform all CRUD (Create, Read, Update, and Delete) operations on the Customer table.
- User must be able to enter a specific Customer ID to edit.
- User must be able to pull up a sortable/queryable search grid/utility to find a customer to edit.
- Validation must be performed prior to database commit.
- Customer record cannot be deleted if the customer has an order in the system. (++)
- Inventory Maintenance
- Part records must have unique ID.
- Part data will include Description, Price, UOM (Unit of Measure), etc.
- User must be able to perform all CRUD operations on the part table.
- User must be able to enter a specific Part ID to edit.
- User must be able to pull up a sortable/queryable search grid/utility to find a part to edit.
- Validation must be performed prior to database commit.
- Part record cannot be deleted if the part has been used in an order. (++)
- Order Entry
- Order records must have a unique auto-incrementing key (Order Number).
- Order data must be split into a header/detail structure. (+)
- Order can contain an infinite number of detail records.
- Order header data will include Order Number, Customer ID (++), Order Date, Order Status (Open/Closed), etc.
- Order detail data will include Part Number (++), Quantity, Price, etc.
- User must be able to perform all CRUD operations on the order tables.
- User must be able to enter a specific Order Number to edit.
- User must be able to pull up a sortable/queryable search grid/utility to find an order to edit.
- User must be able to print an order form from within the order entry form.
- Validation must be performed prior to database commit.
- Reports
- Customer Listing – All Customers in the system.
- Inventory Listing – All parts in the system.
- Open Order Listing – All open orders in system.
- Customer Order Listing – All orders for specific customer.
- All reports must include sorts and filter functions where applicable. Ex. Customer Listing by range of Customer IDs. Open Order Listing by date range.
© Stack Overflow or respective owner