Skip to content

Latest commit

 

History

History
71 lines (48 loc) · 6.74 KB

README.outsourcingworkflow.markdown

File metadata and controls

71 lines (48 loc) · 6.74 KB

Basic WorkFlow

  • Issues are posted to outsourcing master list with its specification, requirement, design and acceptance criteria.
  • Developer picks one of outsourced issue
  • Developer gives a deadline and price
  • Issue will be marked as in progress after we accept the inquiry
  • Developer finishes the task within the timeframe
  • Developer opens a pull request
    • Our engineers review developers code
    • Our engineers may ask for edit/fix
    • Developer fixes comments and issue gets merged
  • Developer gets paid.

Issue Deadline and Pull Request Guidelines

  • You might miss the deadline that you proposed before. That's usually OK within reason.
  • You then may ask for deadline extension. You should do that only once.
  • Koding doesn't have to accept all pull requests.
    • We are providing a slack team channel where developers can ask questions about the issue to our engineers directly.
    • Whenever developer opens a pull request, Koding is responsible to give a comment to that pull request.
    • We recommend you open a pull request with WIP tag as early as you can, so we can course correct you if necessary. With that you can receive an early review, and make sure you are on the right path vs open a big PR at the last day of your proposed timeline which might get rejected, and/or would result in non-payment or require too many corrections.
    • We are going to add acceptance criteria to each of outsourced issues
    • If developer provides all specs but the code is not readable, or confusing, not on-par with coding guidelines:
      • We are going to ask developer to fix them
      • We may extend the deadline if we think it's salvageable.
      • We might reject it.
    • Developer understands that if the task is unfinished, not testable, contains errors not on point, Koding can reject and doesn't have to pay. No partial payments will be made. If the issue was unclear, that task shouldn't be started by the developer. We ask you to clarify all unknowns when you start the task, and our engineers will do all necessary clarification.
    • If unforeseen problems occurred while implementation, please contact the outsourcing manager for extension or extra payment. If we do decide those problems are valid but we no longer want to continue the task, we might then issue a partial or full payment.

Our code style guide is here

Payment Process

Our preferred payment methods are direct bank transfer, if you require another type of payment, please verify with us before you start on any task.

  • Koding can cancel the issue if and only if nobody started to work on it. Otherwise, Koding has to make a full payment to the developer.
  • There will be no partial payment for incomplete jobs
  • If a developer cancels the contract after task is assigned, there is no penalty other than potentially we no longer working with them

We will assign one developer to the issue. If different persons, we will want to make the payment to the PR owner. We won't issue multiple payments, that should be arranged by the PR owner. We are required to receive a W9-form and an invoice from the contractor. As soon as we agreed with developer we will mark that issue as in progress. So other developers can not work with same issue.

Conflict Resolution

If we find ourselves in a conflict situation that you believe your work is of quality and meets the requirements, but we don't believe your work satisfies our requirements, we will not issue a payment and at this time we do not have a conflict resolution standards. You are free to not work with us ever, we understand. We will try our best to make sure your experience is smooth and your questions are answered. Two things, don't start on tasks you think you need to ask a lot of questions to, entire philosophy behind this project is to reduce communications between parties so you get to work and our engineers don't stop their work and answer your questions. In a conflict situation, you can't claim any rights, if we do not want to keep working with you, that's the end of it. If you don't trust our company, don't like the requirements, don't feel confident you can deliver, please don't start the job. We are thinking to find 3 well known independent developers in the future to make a decision in case of a conflict, but we do not have it yet.

Contractor Onboarding

  • We made it really easy for you to work, downtowork.koding.com you will be invited to this team
  • You will have your dev environment ready in 5 mins.
  • We are also providing a slack koding-dev channel to answer all of your questions, you will be treated as a part of our family.

Technologies

Our back-end is 80% Go and 20% NodeJS, front-end is built in KD.js (in-house framework), ReactJS and Flux. We also have command-line tool that is called kd which allows you to sync your remote machine's filetree with your local one to give chance to use Vagrant stack and use your local IDE.

Rates

Estimate high. This is software development, and we want you to feel safe. If you think you can finish the task in 10 hours estimate 15 hours, leave some room for comments, deadline extension etc. If you did finish the task earlier, we won't try to pay you less, you deserve that payment, and you saved us time.

Time to time, some of your work will get rejected, or you will have to spend extra time that won't be compensated, the extra money you made will help you move on quickly to another task and provide you with a safety cushion.

Please feel free to estimate however you think is a fair compensation of your work. We will not look for lowest bidders, we understand that you are an amazing developer and you will do an amazing job. That's our agreement, we want this platform to be fair, transparent and trustworthy. Not a platform where developers are underpaid and overworked. Feel free to bid any amount you think is fair to you, to your experience with some added safety amount. We will pick based on our trust to you and your previous work with us, or with others we can see publicly on Github.

TL;DR We would like to hear your estimated deadline and price. We don't care about the lowest bid. Pricing absolutely depends on you, your experience and your hourly rate. Bid happy, work happily and deliver amazing work.

Pricing of the issue is totally depends on how hard to implement the issue and who is developing it. We will never disclose (unlike other sites) who earns what. We think that's not nice. No one asks us how much money we make. We should be only judged based on how good our work is, not how much money we make. Thus this information will never be made public.