Coder Social home page Coder Social logo

technical-assignment-best-practices's Introduction

Technical Assignments Best Practices

What To Do First

As soon as you receive a pre-interview assignment, you should immediately spend one hour on it.

This is to make sure you understand the directions, that the APIs/data sources they provided still work, and to make sure any other incidental things won’t pop up 24 hours before the challenge is due.

Clarify any issues early on and reach out to your point of contact if you have any questions. Do not be afraid to do this.

Managing Expectations

Managing expectations are extremely important. Whether you work for a large enterprise company or as a solo contractor, you always want to agree on the requirements. This allows both parties to understand the scope of the work and avoid (negative) surprises.

The last thing you want is to spend hours or days of work on something irrelevant to the employer.

That means:

  • making sure you understand the instructions and requirements
  • knowing the deadline
  • clarifying any questions you have regarding the technology, functionality, features, etc.

Be aware of any communication delays (e.g. if you send an email on a weekend, you may not get an answer back until the next workday)

Remember to keep it simple!

Try not to waste time making things too “fancy” - or risk not meeting the deadline because you want to add to the solution. It can be easy to spend more time on the challenge than is necessary to pass the round, and you may be doing more harm than good.

Our advice? Complete the challenge as if it were a real client assignment, not a competition. The team might be asking themselves: "Would I be happy to build upon this code/data myself?”

Deadlines

Challenges usually have a deadline and they can range from a few hours to as much as one week. Three to seven days is pretty common.

Employers normally give you a deadline for submitting challenges. If however, they ask you to come up with a deadline, before you reply, spend another hour working on the challenge and think about how long it might take to finish. Double that number.

If the employer doesn’t specify a timeframe/deadline at all, you should suggest one. Avoid ambiguous timelines.

No matter what, do not spend more than seven days on a challenge. If you aren’t satisfied with your solution within seven days, submit what you do have.

Doing the Work

The bulk of your work will involve you reaching flow state and crushing code. When not in flow, you’ll likely watch tutorials, scour Stack Overflow or Cross Validated, read books, and do tons of research.

This isn’t unlike what a typical day would look like in the job of your choice, by the way. In the professional world, your days will often consist of gathering requirements, research/analysis, implementing features/methods, testing, and interacting with people.

You might have questions. We advise you spend some time researching before you fire off a question to your point of contact. If possible, group multiple questions in one message instead of piecemealing them.

Employers will assume the way you work through the challenge is how you’ll work in their real environment. Be diligent, thoughtful, and deliver on time.

Pay Attention to the Details!

Details are critical. Your whole job is paying attention to the details. Missing a semicolon, forgetting to close a quote, using the wrong key to retrieve a map value, all these lead to errors. It behooves you to be meticulous.

Follow the Single Responsibility Principle. Keep your modules, classes, and methods as small as possible.

Make sure you test repeatedly before you submit.

Don’t Cheat

Cheating is never okay.

Don’t copy and paste other people’s code and pass it off as your own.

Employers will find out.

What if You Need More Time?

Ask for it! But don’t wait until the very last minute.

Issues may pop up and require you to delay a submission. Maybe the internet went out in your apartment or Github went down and you couldn’t push your changes. Or maybe you had a family emergency come up.

Things happen.

And that’s okay.

Just make sure you communicate with the employer and alert them right away if something comes up (call or send an email via your phone if need be) to set new expectations around when you will be able to submit the assignment.

Time to Submit

First rule of technical challenges: Always submit on time.

Second rule of technical challenges: Always submit on time!

Other rules:

  • Make sure you’ve tested it twice, thrice, dozens of times before you submit.
  • Make sure your submission satisfies all the minimum requirements

Record It!

If there are a lot of features, elements, or a flow to navigating your app or project, record a video!

Videos are great for showcasing everything you built and adding context behind your choices.

How to Handle Feedback

Sometimes, an employer may provide feedback about your submitted challenge. This feedback can be negative or positive. How you respond is important because it may impact your advancement into future rounds of the interview process.

Do: Reply back with comments about what you appreciated or learned from the feedback. Show that you can not only take constructive criticism, but also apply it to future projects. It would be a good idea to re-submit the challenge with the applied feedback, to show enthusiasm and passion (although this is not required or expected).

Don’t: Become defensive. That can be a big red flag to recruiters/employers. It is important to remember that feedback is not personal, and that being able to receive constructive feedback is an essential part of your professional development and career growth. Don't defend your choice to the employer if they made it clear they thought you went about solving the problem in the wrong way.

A Sample of an Interview Assignment and Presentation

Here's an example of a cybersecurity technical interview/presentation with an employer. In this scenario, the expected answers are non-trivial and derive from best practices and the ability to apply established frameworks of cybersecurity with minimal information. In these types of interviews, candidates receive the assignment in advance, and are often expected to present their findings in front of a panel of interviewers.

The pre-interview assignment

Hello Applicant,

Thanks for taking the time to interview with our team. We integrate Mt. Fuji projects into our hiring process. A Mt. Fuji project is a task that is assigned to a potential candidate to closely mimic the daily tasks required for the job. There is no right or wrong answer for these assignments, rather they are meant to be a conversation starter, and a way to investigate how the candidate would accomplish a complex task. This Mt. Fuji project will test your ability to create an Incident Response Plan and conduct a tabletop exercise to test the effectiveness of that plan.

Directions

Unicron Schwartz, Inc. is an online retailer that sells widgets to consumers. It operates an online storefront hosted in a single AWS region. Internet sales account for 100% of Unicron Schwartz, Inc’s $500M revenue. Any service impact can seriously impact revenue.

Unicron Schwartz, Inc. allows users to login and create profiles that store information such as Name, Address, Phone, and E-mail Address. As an online retailer, the company also accepts credit cards and allows consumers to save card information for the convenience of future purchases.

Create an Incident Response Plan based on this company profile

Details:

The goal here is to see how you can develop an appropriate Incident Response Plan. If there are additional company profile details that you need to complete this plan, you can take the liberty of inventing any additional details needed.

  • Make sure your plan includes any sections you feel relevant for a basis Incident Response Plan as well as anything additional needed to meet the needs of Unicron Schwartz, Inc.
  • Your plan should call out Key Stakeholders as well as Response Team members.
  • Be prepared to present and discuss the plan to a group during your on-site interview. You will also be asked to conduct a tabletop exercise to test the effectiveness of that plan.
  • You will need to make assumptions throughout this process. This is fine and you are expected to take any liberties you feel appropriate. Please take note of your assumptions and be prepared to discuss them.

Please reply back with your plan. After we receive your project, someone from our recruiting team will contact you and schedule a time for an in-person interview.

GOOD LUCK AND HAVE FUN!

Next: Tips for Technical Interview success!

technical-assignment-best-practices's People

Contributors

6enuineco2ch avatar jamesg-flatiron avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jamesg-flatiron

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.