Skip to content

Instantly share code, notes, and snippets.

@SuryaSankar
Last active February 11, 2019 07:22
Show Gist options
  • Save SuryaSankar/489aa9921490bcf9436767ae96658b06 to your computer and use it in GitHub Desktop.
Save SuryaSankar/489aa9921490bcf9436767ae96658b06 to your computer and use it in GitHub Desktop.
Developer at Inkmonk.com - Job Description

You will be building...

A Marketplace for Custom Printed Products.

It is challenging because...

  1. It is a multi-category ecommerce platform with customization services built on top. It requires every product to be treated differently from the customer's POV, while still retaining the platform's ability to treat them as interchangeable entities.

  2. Online printing platforms require sophisticated design tools ( For example, take a look at https://inkmonk.com , zazzle.com or vistaprint.com). Building them requires some seriously good frontend wizardry.

  3. The huge complexity in the nature of the products, their physical specifications, their printing specifications and the ways in which they can combine to determine the price of a given product can cause some serious combinatorial challenges. Simplifying the domain to build a scaleable platform is the challenge

  4. Even without any of the above unique challenges, building for a fast growing ecommerce platform in itself has its inherent challenges - designing interfaces for everyone, scaling from 1000 to 100K to 1M users etc.

You can be...

The Backend Monk

And Manage the data sources and writes APIs which provide clearly defined endpoints for frontend to communicate with.

If you have...

  1. A clean grasp of the Web's building blocks - Client/Server separation of concerns, RESTful architecture along with a clear understanding of the appropriate HTTP verbs, Sessions, Authentication flows, Form building, Security concerns etc
  2. A strong working knowledge of Python.
  3. Experience building complex web apps from the ground up using a web framework - Flask/Django/Rails.

And also maybe...

  1. A basic familiarity with Flask web framework and SQLAlchemy
  2. A Strong understanding of DB schema design and the trade offs involved in writing queries.
  3. Familiarity with data analytics & visualization libraries - Pandas, Matplotlib
  4. Experience in some basic devops tools & frameworks - Managing AWS, log management, CI/CD deployment workflows etc

Or

The Frontend Ninja

And work with the UI designer and the backend engineer and create crisp user interfaces for the platform.

If you have...

  1. A clean grasp of the frontend architecture and DOM fundamentals.
  2. A strong working knowledge of Javascript
  3. Some familiarity with modern UI development concepts like components, stores etc
  4. A basic familiarity with React Framework and some knowledge of Redux
  5. A basic working knowledge of CSS to collaborate better with the designer

And also maybe...

  1. Familiarity with Redux
  2. Familiarity with React Native
  3. Some experience building cross platform apps

We will expect you to be able to...

  1. Draw the system architecture on a white board and explain to the non-technical stakeholders what every block will do
  2. Write APIs which function as a clean black box.
  3. Think through the implications of each choice you're making before sitting down to type the first line of code
  4. Read and understand the source code of the libraries you are using and be able to extend them and build on top of them.
  5. Write libraries/frameworks yourself, which can be used by others and which will be good enough to be branched out as open source projects.
  6. Write code which won't need comments because you have named your functions and variables crisply and clearly.
  7. Still write concise comments which explain your design decisions.
  8. Build complex systems out of smaller blocks without the system collapsing under its own weight.
  9. Prioritize feature delivery over perfection sometimes, when there is a time constraint.

And we will give you...

  1. An environment to try out a lot of audacious ideas.
  2. A team of smart, creative and highly motivated individuals to work with

Now you should...

Send a mail to [email protected], with your resume

And we will...

Get back to you with a very interesting task for you to solve, if we find your profile intriguing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment