Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: GitStart (YC S19) – Remote junior devs working on production PRs
235 points by hzia on Aug 7, 2023 | hide | past | favorite | 192 comments
Hi HN, I’m Hamza from GitStart (https://gitstart.com/). We’re building a service for engineering teams to assign tickets and get back PRs. Here’s a video of how it works: https://www.loom.com/share/61d46a5b07e04b45a51af2a5008ee173

We recruit devs who want to grow from remote countries, to work full-time on these tickets and review each other’s PRs. For tech teams it’s pay as you go, and they only pay if they merge the PRs (we pay our devs a base regardless). GitStart is very personal to me because I struggled myself to start my career as a junior dev. Being born in Pakistan made it super hard to find my first remote job. Things changed with Google Summer of Code, which was the first time I got paid to contribute to a large production codebase.

When I became a staff engineer, I started mentoring junior devs on their solo projects. I then realized what they really needed was production code experience, so I started sending them tickets from my backlog to grow them through code reviews. I also paid them for it. They learned a lot and I got a lot done, which started GitStart.

That’s why, in the description above, we say “devs who want to grow”. This is key to what we do—we are not just a body shop or middleman, and we don’t charge by the hour. We provide useful mentorship to junior devs. We want to be a meaningful part of their career path.

Our thesis (to use that slightly pretentious word) is that the economics work better this way as well. There is a lot of junior dev talent in these countries whose potential will bever be realized by hourly piecework. What’s needed are longer term relationships and work engagements, over the course of which a junior dev can learn and grow on a large production codebase. Much of this has to do with learning the culture of effective tech teams.

On the other side, effective tech teams don’t want hourly piecework either. Clients tell us they love having developers dedicated to their project, becoming more familiar with the code over time. This is the way for value to be maximized on both sides.

A number of commercial open source repos already use us, so you can check out some of the PRs created by GitStart here:

Cal.com: https://github.com/calcom/cal.com/pulls?q=is%3Apr+author%3Ag...

SourceGraph: https://github.com/sourcegraph/sourcegraph/pulls?q=is%3Apr+a...

StoryBooks: https://github.com/storybookjs/storybook/pulls?q=is%3Apr+aut...

Strapi: https://github.com/strapi/strapi/pulls?q=is%3Aclosed+is%3Apr...

Supabase: https://github.com/supabase/supabase/pulls?q=is%3Apr+author%...

Twenty: https://github.com/twentyhq/twenty/pulls?q=is%3Apr+author%3A...

Our main technical challenge has been securing code sharing. One solution was building GitSlice, which enables creating sub-repos that sync with the upstream repo. When GitStart devs create PRs on the platform, GitSlice syncs them upstream while pulling back CI/CD checks and review comments. This enables our devs to contribute with limited codebase access.

To prevent slices from breaking, we verify they run within a docker container, which also enables us to build review environments. Fun fact: we managed to support native iOS and Android codebases by building and running them on appetize.io instead of docker.

There have been countless attempts at this space so we would love to hear your feedback on how we approached this problem or your past experiences working with junior devs in this way. We look forward to a good conversation!




These guys also tried to submit PRs on the Notesnook[0] repository. The PRs are really good but there's no way to talk to the actual developer working behind those PRs. They have a single central account named "gitstart" and all PRs that any of their user works on falls under that account. Of course, we couldn't accept PRs from them because they don't follow DCO[1] i.e., DCO requires that the committer MUST NOT be an organization.

I talked to them about this and they said they'd work on it etc. etc. Not sure if anything has changed in that regard or not.

[0] https://github.com/streetwriters/notesnook

[1] https://developercertificate.org/


> The PRs are really good but there's no way to talk to the actual developer working behind those PRs.

I'd really like an avenue to get into the US market as a remote worker, but am being unfairly treated by this job market. It is a pity as I am both a highly skilled programmer and have nearly a decade of experience. I'd consider this service if it could serve to showcase my skills, but if I am not going to get any credit for doing the work personally, there doesn't seem to be much point to it.


If you are a highly skilled programmer, why not just start contributing to open source repos yourself? You don't need to go through GitStart to get there.

Many companies, including my own and the commercial open source companies mentioned in this post, consider open source contributions a major factor in hiring remote talent.


If you're comfortable sharing, could you elaborate on how a transition from unpaid contributions to some kind of paid work arrangement typically happens.

In your experience, is there usually a more or less deterministic path to a stage where the question of starting to get paid usually comes up? Who initiates it?

The result of this discussion may very well be that the company isn't interested in this kind of relationship for any number of good reasons. But what's important, I think, is for a contributor to be able to have the right expectations coming in. As in:

- Should I join on a purely for fun basis and see where it goes from there, keeping in mind things most likely will stay this way going forward.

- Or if everyone is happy with the quality of code, communication, etc across a number of pull requests, then it's definitely OK and expected to bring up the question of payment/employment.

Thank you.


Often if you send 3 large useful PRS to a corporate open source product you will find an email in your inbox asking to connect.

Send a couple more high quality PRs and you can likely leverage that into a job.


So ”3 large useful PRs” have the same expectancy as connecting with a recruiter on LinkedIn ?


Your public contributions are a showcase of your alleged skills, in most cases.

There is no deterministic way to transition from unpaid to paid. It's just one signal among many that a recruiter or company looking for services would look into.


I don’t think you’re being treated any more unfairly than anyone else trying to break into the US market. It’s simply a case that a decade of experience and being a skilled programmer are not enough to stand out from the crowd.

Depending on your location there may be legal restrictions preventing from US companies hiring you - even through a B2B contract.


Unless there is a strong regulation like HIPAA, I have seen setting up a US based company (through Stripe Atlas) take care of most legal woes.

But ultimately it depends on the motivation of the company itself, and they use all sorts of excuses to not work with non-US staff


Most companies hiring remotely don't have if your 1-person company is US-based or not.

The ones that care to hiring within vetted countries for $reasons usually will not accept exceptions. Notable example is GitHub which has a list of countries they hire from (even though they're owned by MSFT and could hire on the Moon if they wanted).

Having a company is mostly for tax purposes. It makes everything easier. I think the hiring company doesn't care if the contract is done with a business or an individual. Both are usually limited liability and offer no advantage in case of contract breaches.


If you are highly skilled already, it should be very viable to just work with OSS projects directly. For example in Python, the Django & DRF projects are always looking for contributors (though Django can take a long time to land substantial features).

In my experience as a hiring manager it was quite rare to see lots of OSS work in candidates’ GitHub accounts, but I’d absolutely prioritize those that had good work in OSS. (Also worth emphasizing that technical design, collaboration, and documentation are important and underrated, and can also be showcased in an OSS project. If you can demonstrate good communications in an async OSS environment, that would probably reflect well on your ability to contribute as a remote employee.)

All that said I’m not sure that OSS is the best resume builder. For big companies you need to drill LeetCode and system design. Perhaps for startups it is not the worst use of your time.


> For big companies you need to drill LeetCode and system design. Perhaps for startups it is not the worst use of your time.

Exactly. Any hiring manager with a brain and not bound my clueless corporate processes would use OSS contributions are a decent signal for proficiency and social skills.

That means nothing in a big corp though. The hiring panel will never accept a candidate that fails the Leetc0d3 test because that means other panels could do the same and then it all falls apart for them. Status quo and all.


To be fair, it’s a hard optimization problem. If you are trying to remove bias from your hiring process then it is difficult to objectively score things like OSS contributions. (I do agree it’s something most bigcorps could do better.)

As a small company you don’t need to try to remove bias with objective metrics (indeed, “culture fit” and “thinks like me” can be good heuristics for building a small tight-knit and high-performing team) but when you hit the company size where you must introduce multiple layers of management, then fully trusting each line manager’s subjective judgements can lead to very disparate quality and other political/organizational issues.


We currently attribute commits back to every single dev involved in a PR (including reviewers) as co-authors. We also actively work with our customers to allow devs to mention their contributions in their CV publicly. And you can always reach out to them directly if they have an open position (especially mentioning your experience working with them through GitStart)

What would be an ideal way to attribute the hard work back to the devs in our case?


> Of course, we couldn't accept PRs from them because they don't follow DCO[1] i.e., DCO requires that the committer MUST NOT be an organization.

I read the certificate. It isn't long:

    Developer Certificate of Origin
    Version 1.1

    Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

    Everyone is permitted to copy and distribute verbatim copies of this
    license document, but changing it is not allowed.

    Developer's Certificate of Origin 1.1
    
    By making a contribution to this project, I certify that:
    
    (a) The contribution was created in whole or in part by me and I
        have the right to submit it under the open source license
        indicated in the file; or
    
    (b) The contribution is based upon previous work that, to the best
        of my knowledge, is covered under an appropriate open source
        license and I have the right under that license to submit that
        work with modifications, whether created in whole or in part
        by me, under the same open source license (unless I am
        permitted to submit under a different license), as indicated
        in the file; or
    
    (c) The contribution was provided directly to me by some other
        person who certified (a), (b) or (c) and I have not modified
        it.
    
    (d) I understand and agree that this project and the contribution
        are public and that a record of the contribution (including all
        personal information I submit with it, including my sign-off) is
        maintained indefinitely and may be redistributed consistent with
        this project or the open source license(s) involved.
Where does this require that the submitter not be an organization? Even if you're fully committed to that idea, the obvious approach would appear to be:

(1) GitStart releases their patch under the open source license of the project's choice.

(2) An employee of GitStart submits it, in their official capacity, to the project, asserting under clause (b) that the contribution is based on (consists entirely of) previous work that is covered under an appropriate license.


That's a weird document. It seems that it actually wants the submitter to certify that either A & B are true, or C is, and that D is acceptable. But it lists them like you must accept all 4, but all A & C can't both be true at the same time.


Yes, it's malformed. There is no expectation that (a) and (c) can be simultaneously satisfied, since they are linked by a chain of "or"s. But it seems clear that the intent of the document is that you're supposed to certify two things:

   I. At least one of (a), (b), (c) is true.

  II. I understand and agree as specified in (d).
In other words, (d) is not parallel to (a), (b), and (c) -- it's a drafting mistake to put it in the same sequence of clauses.


It is on our roadmap to properly integrate DCO on the platform, as its a hard blocker for all repos under the linux foundation. We already add each devs that touches the PR internally as co-author now

The problem lies in the definition that “committer most NOT be an organization” which would require us to do a full review of our legal contract with devs so that this condition is upheld properly


What's the point of DCO? Really don't understand why you would want to cripple yourself with that.


It's a lot easier to trust an individual than it is to trust an entire organization which is effectively trusting every individual who may have access at that org at any given time.

We often think of orgs as these big trusty things but honestly they are just groups of individuals, and it's harder to trust N individuals than it is to trust one individual, especially when the N is opaque and unbounded.

What they should do is co-sign the PRs/commits so it's the worker's personal account + the GitStart account. Then the workers are actually building a git repertoire for themselves which puts them a step closer to independence. That might go too much against the exploiting cheap labor theme that seems to be lurking in the dark here though. That said, I would love to be pleasantly surprised if GitStart is OK with co-signing commits alongside accounts directly in the control of their workers. Would definitely be based, doubt it will happen.


What do you mean by co-signing? We currently do attribute the work using "Co-authored-by:" in the commit message. I'm not sure if there's any other/better way to do it.

On top of that, we are thinking about developer profile you can share as a part of your resume. I'd love to hear some suggestions on what you think we should include in it.


I retract my previous statement! If you're already doing the Co-authored-by, that is fantastic, then their names are clickable on GitHub, and the developers themselves will be able to directly interact through their own GitHub accounts if they are @'ed by the customer. This is great. Definitely advertise that aspect.

In general my advice is this is one of those gray area markets where it is extremely easy to exploit workers, so you should do everything humanly possible to make sure that:

a) workers in this program are progressing with the goal being they can eventually "graduate" to the point where a middle-man is not required. This won't be possible across the board but an evil version of this startup would be designed to keep workers in this situation as long as possible, so just don't be that.

b) Allow customers who want to direct hire specific workers to do so seamlessly and don't do hefty referral fees that are enough to stop a lean startup from being able to pull the trigger. I've personally witnessed startups unable to pull the trigger in such situations because they can't afford to "buy the person out" of whatever referral company owns them. Don't be like that. If you absolutely must do a referral fee, structure it so they at least get back the money in credits with your program or something.

c) Treat workers like the assets they are -- each worker that eventually gets a job through your program becomes a marketing asset that will drive referrals from their home country when they eventually find success and tell their friends how they succeeded. Make sure you have created a positive enough experience for them that they will actually recommend you and dear god give them referral fees when they send you someone.

That's my free advice


Your advice is spot on, and why we wanted to build a better than the current status quo!

a) we already have a sizeable alumni who have gone through GitStart over time, with many still in touch. We are in works to bring them all together in discord

b) there is no current restriction or even referral feel for both devs and companies to work with each other. The only thing we ask is for devs to either be full time on the platform or work with them directly and pause GitStart

c) good people recommend more good people! And we have a program where as alumni they get free credits for their own companies (over 5 have launched their company and used those free credits)

We currently do not have a referral program for alumni to recommend devs (it is there for currently active devs) but that’s a great idea to roll out!


"Co-authored-by" cannot be validated. Well, no commit can without signing (and there are issues even withthat).


How do you sign multiple devs on a commit though? Would it be a joint PGP key signed by all keys of all devs that helped with the PR?


You can't.


I think this is a cool idea worth exploring.

At a lot of jobs I've dealt with using contractors, there was an internal concern that people external "didn't care" enough. How do you plan on addressing this concern?

It's a system that will depend a lot on trust, and it may be difficult to build that with companies whos DNA does not lend them to trust outsiders AT ALL let alone let them come in and muck with production level code (letting juniors do it!)

I'm playing devils advocate, like I said I think your idea is cool and worth exploring. Not enough companies invest in juniors to grow them into their full potential, and I commend you for this effort. Good luck.


> At a lot of jobs I've dealt with using contractors, there was an internal concern that people external "didn't care" enough. How do you plan on addressing this concern?

That’s correct. Either you are a full time employee, or you get second-class culture even if you are part of internal slack. It’s very hard to get external contractors to be excited when they dont get the swag / on-sites and share the culture.

Which is why we want to have devs belong first class citizens in the GitStart Community, and join all hands / game nights and learn from others. And our integrations push through PRs and all the updates to engineering teams.


> It’s very hard to get external contractors to be excited when they dont get the swag / on-sites and share the culture.

It’s not the lack of swag or on-sites. Companies usually outsource to cut costs, so there’s your problem. Also, I’m not convinced there’s correlation between being “excited” about a company and producing good quality results.


I agree with you that one does not have to be excited to ship production quality results.

I was previously referring to the 'external "didn't care" enough' which is generally true, and IMO not an inherently bad thing on its own

But I am not sure outsourcing to cut costs is happening as much now than a few years ago. The entire outsourcing tech market is shrinking, as most teams prefer to keep devs in-house than to outsource it away.


I'm surprised to hear that. In my recent experience in the NYC area, many places are cutting full time staff and augmenting with contractors.


I just moved to NYC so this sounds scary! How big of a trend would you say it is?


I gave up a high-end consultancy job because I felt like I had no ownership. But I know others at that job who love that they can help lots of different orgs. I think this mindset is just one you either have or don't have.


I think we can see to Hacktoberfest as a comparison to this "let external junior devs to deal with backlog" idea. And this project gives the same fear and worries of that "chase for the cheapest PR to get my reward"-logic as that which Hacktoberfest encourages.

While GitStart pays their developers, that alone could encourage better habits, I fear it could also enable this chasing reward mentality harder, setting the juniors up for failure, as well as frustrating the customer with having to deny and review multiple low-quailty PRs.

How is this avoided? This seems heavily at risk to cause more headache than help.


In the early days, we used to pay devs for every PR. That in-fact caused the issue you mentioned where devs would start chasing rewards. Now, devs are paid as a base either way, with light incentives if the PRs are merged with low review cycles and good ratings.

To prevent “Hacktoberfest” style PRs, we have a strong peer review system internally along with QA. Which is the reason why most of the above open source projects have found it a lot easier to merge GitStart PRs than the PRs by juniors posted directly

I do wonder though how we this problem can be solved for all junior devs contributing to OSS


> At a lot of jobs I've dealt with using contractors, there was an internal concern that people external "didn't care" enough. How do you plan on addressing this concern?

From my experience hiring, both full-time employees and contractors can not care; it felt more about the individual's character than their employment status.


Good point!

Also some cultures also show far less care than others (despite feeling the same way)

A lot of my Asian friends do not pro-actively jump into slack to not look stupid, but the moment you get on a pairing call with them the perception changes quickly as they are not as shy in a smaller group.


Hi, I'm one of the main maintainer of Twenty and we have onboarded Gitstart on our codebase a few weeks ago. I can give a feedback on our collaboration so far:

1) Code quality is good, I would compare it to a very good junior engineer (I suspect some senior engineers are reviewing the code before shipping it!). We are reviewing all PRs and it usually takes 1 or 2 round of feedbacks before merge.

2) Gitstart developers are very reactive on pull-requests, their response time is not a bottleneck

3) You will need to be very accurate about your features. I think Gitstart direclty makes sense for open-source projects as this is part of the culture to discuss everything on issues, to share resources (figmas, specs, technical vision). If your company already has a culture of documenting most of the knowledge async, this should be a good fit.


Appreciate the feedback and for trying it out!

You are spot on that GitStart works really well for teams that have a culture or a strong intention of doing that


The fact that it's using devs from 'remote countries' says to me they want to pay low wages. If this project paid market wages and was for devs worldwide who met minimum qualifications, I'd think it was cool. As it stands now, it just comes across as borderline exploitation.


I think you're looking at it with malice in mind. I see it as more of a "Lets get work to remote countries that typically wouldn't and show people that they can be quality developers"


I don't think you have to have malice in mind to see it in that way. It's more like: This is a company, and they have to make money. And it isn't a far leap to assume the margins come from exploiting the mismatch between value of labor across countries borders.


I don't have a dog in this fight, but is it really "exploiting" if both sides are happy? Remote devs are getting paid where they may not have in the past, and customers are getting code written up to a standard that is acceptable to them, while paying less than they might otherwise.


> I don't have a dog in this fight, but is it really "exploiting" if both sides are happy?

I recall a study in which monkeys were given the same food for X days. They switched it up and replaced one monkey's food with something else, of an equal amount. It created frustration in the monkey that didn't get the different food, even though he was happy when he got the same thing.

I think this is really close to "ignorance is bliss". The ignorance of how bad you're getting screwed doesn't mean you're getting screwed any less.


You can frame 'getting helped less than the ideal' as 'getting screwed', but it doesn't change the fact that the baseline is 'not getting helped at all'. If you say 'you have to pay them American market wages or not at all', and they say 'okay, guess we won't hire them at all', who has this ultimatum helped?

https://laneless.substack.com/p/the-copenhagen-interpretatio...


Thanks for linking to that article. While it is indeed thoughtful, I'm not swayed by "the lesser of two bad options" being an argument for supporting paying people less for "exposure" to opportunity. Incremental improvement can look beneficial, until it isn't. I don't consider being able to get an expensive taxi as better as having no taxi -- a poor person can't access the taxi in any case to begin with.

This sort of ethics is almost shame-oriented, with a subtle "You should be appreciative you got anything" undercurrent in its view of the world. Does that mean we should only put the bare minimum of human consideration into our business offerings? That's how we got such destructive capitalist practices.

If humans cannot do business that is equitable to all parties, it shouldn't be happening. If that means some rich people can't access a service because it's not scalable yet or a tech firm has to hire developers to get code written, so be it. I can't get whatever I want, or justify getting it by swindling others. Why should a company?

There seems to be this in-built value in modern society that it's okay to totally screw somebody if you fit into some business-accepted guard-rails. Please note that business ethics are an oxymoron.


> If humans cannot do business that is equitable to all parties, it shouldn't be happening.

Again, how is the state of it not happening better than the state of it happening inequitably?

> There seems to be this in-built value in modern society that it's okay to totally screw somebody if you fit into some business-accepted guard-rails.

Again, why would you call it 'screwing' someone to offer an opportunity they can decline, that is a net improvement but not the greatest thing you could possibly offer? Per the first section of that article, what kind of sense does it make to assign blame for someone's negative situation to the first person to try to help them?

Who are these judgments actually helping, and how?


> why would you call it 'screwing' someone to offer an opportunity they can decline, that is a net improvement but not the greatest thing you could possibly offer?

It drives down the value of the work. Short term it may be better for the person who needs the money but what would actually be better is if that person was compensated fairly.


afaik gitstart pays above market in the local economies, but there’s always room to improve of course. however it’s hard to pay everyone the market rate of american companies.

the developers are typically folks who wouldn’t be able to get a remote job otherwise due to universities not being globally recognized or english is not super fluent. many developers grow a lot during their time at gitstart and eventually move on to getting jobs at places like Google, Amazon too. they support any developer to grow (there’s a team dedicated to figure out growth paths for each developer on the platform)

disclaimer: i used to work at gitstart


A low wage in the market is a market wage. I'm not sure where you get "exploitation" from this.


Market wages are set by supply & demand. If somebody to agrees to a "low wage" and there's no coercion or deception involved, it's a market wage, by definition.


What are market wages? Even in my country which qualifies as one of the most modern countries in the world the wages are really low compared to the US.


> wages are really low compared to the US.

Now consider that most US developers are under-paid


I'm confused about the pricing. The pricing page shows this PR as an example of a "small" PR of 15 "credits". I have a hard time agreeing that this change is worth $150: https://github.com/calcom/cal.com/pull/8218/files

When seeing $10/credit, I thought a PR this small would be just one or two credits. I'd totally pay $150 to fix 10-15 such small bugs, but only one? Am I missing something?


Did you go through the PR discussion though?

In this particular case there was technical discovery on a non-trivial approach to patch an npm package (which didn't work out)

But above aside, one can get a lot more milage out of GitStart if small fixes are bundled together. As that means all of them share the cost of QA (across devices), bundled code review and less context switch overhead.


How much (out of that $150 e.g.) does the developer get and how much does GitStart keep?


This is the crux of the issue.

The whole product disenfranchises upcoming junior devs of their potential earnings and credit for their efforts. "I built and shipped product X which generated Y revenue for company Z" read better than "I worked on a series of PRs across many different products with little insight to the product as a whole or much say in the technical direction".

This sort of thing will likely reduce number of devs that move on from junior to senior long term and put people off of joining the industry overall.


To be honest, I didn't until now. The first six comments are automated, and I stopped scrolling fairly quickly. My bad, and I'll quietly be mad at the state of the GitHub PR "discussion" tab that has just too much spam in it.

I'm glad you wrote your last paragraph! I did wonder how much of the credits cost was just overhead as the costs of small/medium/large are fairly close to each other. It makes sense to me.


GitHub PR detail view is a hot mess. The entire page is endlessly long, with very poor signal to noise ratio

We are very tempted to re-build that experience on the dashboard(at-least for our PRs), but I hope someone can launch a simple dashboard a better UX to replace the current PR detail view


> In this particular case there was technical discovery on a non-trivial approach to patch an npm package (which didn't work out)

You can see that this PR took a while to get merged (~2 months) with multiple iterations as shown here https://reviews.gitsense.com/insights/github?bq=8218%2Bpull-...

Full Disclosure: This is my tool


A Silicon Valley developer on $200,000 costs $100/hour in salary alone.

When your employer onboards new hires, do they have a commit merged into main in their first 90 minutes with the company?

Software development is an expensive business, and some companies are used to paying this much and more. The no-fix-no-fee pricing model would also command a premium over hourly work.


But they're not offering Silicon Valley developers, the comparison is moot.


No, but to clients accustomed to paying Silicon Valley prices $150 isn't too bad, if the tickets get closed.

If you look on sites like Upwork, even developers from poor countries often cost $30+ per hour.


I appreciate the intent here, but these are the immediate issues that leap to mind:

* "Do work, but get paid only if we use it" feels potentially exploitative. You do mention a "base pay" rate but I wonder how it compares to the "merged PR" rate?

* Code quality and adherence to internal code standards is challenging for external contributions. Open source projects, of course, are already used to this, so it's not surprising to see that's where the bulk of your current customer base lives; it's more difficult to see how this would work with other types of organization -- I'd be concerned that I'm spending more time in code review and such than I'd gain in contributed lines of code.

* The whole setup seems to fit in an uncomfortable middle ground between just hiring an offshore developer directly or through a traditional outsourcing firm, on the one hand; and hourly piecework on the other. The only advantage I see to this sort of arrangement on the hiring end compared to regular old long-contract outsourcing is that I don't have to pay for work I don't end up using, but that circles me right back to the "exploitative" part.


> "Do work, but get paid only if we use it" feels potentially exploitative. You do mention a "base pay" rate but I wonder how it compares to the "merged PR" rate?

90% of compensation for devs is base and does not depend on the “merge PR” rate (which is in-fact 95%)

> * Code quality and adherence to internal code standards is challenging for external contributions

> The whole setup seems to fit in an uncomfortable middle ground

Majority of our customers are in-fact private and not OSS. We can unfortunately only share the latter. But it is targeted towards engineering teams that have already started to invest into DevEx and building tooling to make contribution easier We do help to set that up if customers sign up on the Team or Enterprise plan as a first sprint to add all these guardrails in place.

I agree that junior devs today are heavily exploited by existing freelance and outsourcing platforms where it's a race to the cheapest contractor in the market. For teams who want to freelance, we are not a good fit (and most likely more expensive). Where we do shine is an in-house team that does not have the bandwidth to hand-hold each external contractor one by one to become productive. And with that focus, our devs get to enjoy a fixed base stipend, career ladder internally to grow and successfully joining our customers and / or larger corps like Meta, Google and so on


OK! Those are good and reasonable answers, I appreciate the response!


I don't get some of the negative comments. We run an open source project with a very long backlog and I came across Gitstart as I was looking for ways to accelerate development. We started working with them recently and overall I'm very happy with the service. At first the quality of PRs wasn't great, but it is still better than the average open source contribution, and it's improving everyday as they gain knowledge of our codebase and expectations. As a remote team that is just starting a new project, it would have been hard for us to onboard and train a junior developer today. Using Gitstart fills a gap for tasks that we can easily delegate, typically something that's already done in a similar way in the code base. That way our team can focus on more challenging problems.

(Note: I was not asked to post this)


Two observations.

- This does not work beyond OSS projects. This is literally a compliance leaders nightmare. I just don't know who is touching the code, how and where ahead of time, no background checks etc.

- Secondly, this feels like a nice way to "growth hack" you Github stars and fake some metrics for VCs. Your pitchdeck can 100s of contributors and 1000s of stars without really creating much value.


Currently most of dev bounty platforms do start with OSS, but we only started doing that last year.

Because of that, 90% of users of our commercial usage today is still close-source, and biggest customer base are from heavily regulated industries like insurance, finance, and even commercial banking, with 2 of them having > $15B each under management.

Now, as you pointed out, we had to implement and background checks, audit logs and have direct full-time relationship with devs through our subsidiaries.

But what made the biggest difference was our security tooling like GitSlice, which along with dev environments cuts down majority of risk exposure.

I would be really curious why you think something like this wont work for private repos?


There can be two reason why it is working.

- They might be running shadow IT

- Security and compliance is not their priority.

Since you have implemented BG and other controls. My follow up question is are these devs in that case EOR or contractors whose payroll is processed via you. Your org starts to look like deel, remote or midsource.

The whole PR assigning to junior devs feels gimmicky, no?

However, there are two problem statements you are solving. I agree with the first premise, remote junior devs will get better opportunities and confidence when they do this exercise. I think the second part of value generation, I think risk is too high for a closed source org.


We enable EOR + BR + MDM setup on the enterprise plan. Plus, MDM is usually gimmicky given most devs for these clients work in a virtual environment anyways (so the code never leaves their infrastructure).

IMO if we fail as a company, it will be far more likely because of inability to deliver high quality PRs instead of inability to get through compliance.


I imagine that it only works for the typical type of work that gets outsourced anyways-- very tightly scoped work in codebases that don't actually require deep integration with production systems or anything all that critical.

I have yet to have a super positive experience with the quality of work of offshore contractors either internally hired or via an external consulting company.


Do you think outsourcing (“gets outsourced anyways”) still happens for most tech teams? IMO, just like you mentioned, teams are so scared of outsourcing that this happens less and less.

I agree that this works for well scoped tickets that only depend on the code and testable on a staging environment. Anything outside of that needs in-house devs (or contractors) to get done.


I like the aspiration to grow engineers — it’s a laudable, and worthy, goal.

But I also feel there is a little bit of a pandora’s box here.

The model you’re creating here is more structured ‘gig economy’ path for software dev. Sure, you’ve got things like UpWork, and other freelance products, but the purchasers (e.g., business) are effectively taking a risky bet on the work which can tamper commitment to purchasing work that way.

But with ‘no merge, no fee’ could create a very strange dynamic where companies will opportunistically throw work over the wall and create bounty-like dynamics. I don’t know if this is particularly bad for the purchaser, but for the seller that could lead to some challenges overtime (race to the bottom etc)


No merge no fee was really there to guarantee quality and bootstrap trust. We take the hit and pay the devs either way.

If it is abused we would take action to intervene but hasn’t happened yet. When it does happen (< 5%), it’s really good learning feedback for devs

But would you reckon there is another way to solve the power imbalance problem?


I am trying to apply as a developer but I'm getting an "Invalid Format" error: https://developers.gitstart.com/welcome

On this page. The error is coming from your GraphQL backend:

{ "errors": [ { "message": "has invalid format", "path": [ "createDeveloperProfile" ] } ], "data": { "createDeveloperProfile": null } }


Hey! Part of the team here.

Thanks for the report. Turns out it was one of the Falsehoods Programmers Believe About Names[0] we'll deploy the fix in a moment.

[0] https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...


Good response.


and it's fixed. ;)


thanks for the heads up! We are fixing it right now


> A number of commercial open source repos already use us

Worth acknowledging that GitStart has, at least in the past, submitted PRs to open source projects unsolicited in an attempt to bolster their reputation.

We found their PRs to be of extremely rough quality - exactly what you would expect from junior offshore developers - and it took up a non-trivial amount of our time to deal with the contributions and get them into a state where they could be merged. We would also often find 10+ email addresses associated with a single one-line change commit, which I found quite odd.

While I/we encourage contributions from developers of all levels, it felt super iffy that we were investing in coaching the junior developers of the YC/VC-backed startup, only for them to use us for cred.

In the end I believe we blocked GitStart from our repo.


I am really sorry you had a bad experience. As a bit of background, we started OSS contributions initially as a way for new devs who were ramping up to grow on open source repos. We learned a lot, and from feedback, we took that away and for the last few months OSS contributions are now on par quality as commercial ones.

I remember your case personally and reached out to you over email to apologize at that time last year. If there is anything else did wrong, please let us know


> We would also often find 10+ email addresses associated with a single one-line change commit, which I found quite odd.

To be charitable: could have been that the commit started off big and complex, getting modified and reviewed by several people over time... before one person finally figured out how to simplify it down to one line — and so then they rebase-squashed it down to just that line, rather than polluting your commit history with all the intervening nonsense.


I want to point that rought code is expected from junior developers in general, not only "offshore" devs.

It is sad that developers from global south usually have to perform at a much higher level than their peers at the north, just because unfounded prejudices.


The junior level is often magnified due to lack of English proficiency.


What does their English proficiency have to do with their level? You realize your reply validates OP's comment. You're being prejudice and assume that all juniors are non-native English speakers.


It’s hard to give someone critical feedback that is kind, effective, and respectful when using Google Translate.


Of course not. It’s just been ages since I hired any “junior” developers from the west. I can also sort of expect them to have gotten a standard university education. I sort of feel that a lot of developers from the global south have been literally plucked off the street, given a 2 week intro to programming, and were then put on client projects.

I’ve seen great developers from basically everywhere, but the vast majority is garbage (at least at first).


"Global South" that's a new one :) There's quite a lot of countries in the Southern Hemisphere ...


That term goes back to the 90s


Its used in a bunch of Che Guevara's writings from the 60's


What is your project?


"Your backlog is someone else's opportunity" is great line but I fear I would get tons of messy un-usable stuff that isn't really of any value to me. I wonder if you should pair this with like teaching and I should get the PR + some cash to review it?


You are right. Most teams in-fact dont hire junior devs for the fear of spending too long to review their PRs and hand-hold devs.

We have been able to eliminate a lot of un-usable PRs by having a very strong internal peer review and QA process. So PRs almost certainly works, and code review goes through at-least 2 separate reviewers

TBH, I think adding teachers that grow devs entirely through reviews is a great idea. We currently do give internal training and guidelines for reviewing PRs, but havnt gone that far yet.


I’m curious why it took you guys so long to do a Launch HN considering you are from YC S19 — a batch from 4 years ago?!

Is GitStart a significant pivot from what you started with?


GitStart is one of those services that are "too good to be true". Getting customers or devs to sign up was easy, so we never really did a launch.

The harder part was getting the system to work (aka ship solid PRs while delivering a good growth path for juniors).

Most of the time was spent building a ton of in-house tech (especially around security, dev environments, review environments and so on)

We are now in a better position to automatically onboarding engineering teams (and later this year do the same for devs to sign up and start to ship PRs on the platform)


Probably less demand for remote outsourcing back in 2019 as today, post-pandemic


It was a day and night difference during and post-pandemic. I used to get on calls to try to explain the value of writing tickets and creating PRs for reasonable sized teams (many orgs were trunk based). That discussion doesnt happen often anymore!

I wonder if companies will double down on full remote or this will revert back slightly.


Here's some insights for PRs created within the last 120 days for the mentioned repos.

88 PRs created: https://reviews.gitsense.com/insights/github?p=days-open&q=a...

70 merged: https://reviews.gitsense.com/insights/github?p=days-open&q=a...

7 rejected: (closed/not merged) https://reviews.gitsense.com/insights/github?p=days-open&q=a...

Interesting take away is, the merge rate is quite high, but since we can assume these PRs were created for a reason, can we also say 7 not being merged is also bad?

Full Disclosure: This is my tool


Love the analysis! Usually the closed number is higher because there are still many edge cases where PRs get closed outside of bad code. E.g bug already fixed in master, follow up PR, PRs merging into a larger one and so on

I think basic NLP on the PR decision may be able to automatically differentiate them


Thanks for the info. Would you say PRs that have been open for a long time (28+ days with no activity) is due to priority changes?

https://reviews.gitsense.com/insights/github?p=days-open&q=a...


Quite a few are due to priority changes over time. We are thinking to automatically close PRs when there is no activity for > 14 days.


IMO this doesn't help solve backlog problems, it just means paying the (non-headcount) costs of a junior dev while not even making people investment that will make it worth it later.

In general, jr devs are net-negative. (If they're not, they're not junior! promote them!). They are an investment, they are learning and growing. It will take a senior longer to review, mentor, and coach them to a PR that the senior could've gone straight to that same PR. The whole point is that eventually you've grown another senior dev who will return big multiples on their compensation.

This sounds like you're just going to be spending sr dev time reviewing and rejecting, to have de minimis backlog items (there's a reason they're in the backlog and not prioritized) fixed, and you're not even growing a senior dev, which is the whole point.

Plus, IME most companies carry so much cultural context that being exposed to it for exactly 1 ticket + not having inside people to ask questions means this will be an uphill battle.


Completely agree on jr devs being net-negative! The cost however is far more than the PR itself (onboarding, fixing their environment, helping understand how react hooks work and so on).

With GitStart, we take everything else away entirely (dev envs, preview links, mentorship, trainings etc), with strong processes to make sure PRs are heavily reviewed internally with solid QA before its pushed upstream. I think this drastically reduces cost of working with juniors to the point that its “profitable”

Right now it’s not for everyone, especially for companies where there not enough motivation internally to craft good tickets or having enough backlog thats critical enough to make use of GitStart.

Now everything aside, we actually have seen cases where devs internally grow within, apply to our customers and become full time hires! We dont bind our devs at all to join our customers directly and instead celebrate it when it happens!


I mentioned it as a footnote, but:

"Plus, IME most companies carry so much cultural context that being exposed to it for exactly 1 ticket + not having inside people to ask questions means this will be an uphill battle."

I'm curious as to how you make this work when I'd imagine even a simple ticket for anywhere I've worked would go something like this: "first learn our monorepo, then learn how all the internal testing tooling works, and oops your PR is going to touch our in-house/NIH'd migration system. Also you can't just rename this db column, let me explain our db replication strategy (which you can't touch or observe since no way would a non-employee have any of our AWS access, even for dev). oh and Jim (haha good ole jim, he wrote like 40% of the code and then got fired after 2 years because he told the CTO to go fuck himself) wrote that code in a rush in the before times so it's creaky, try not to ever touch or look at it, so work around it in the app code even if you might otherwise want to change it" and so on and so on.

(I also find learning all this stuff - the NIH systems, the stack, who the Jim is this time around and what code he wrote, etc - is like 85% of the part of spinning up at a new company and it takes like 6 months of fireside campfire stories to pick up enough of the lore)

It sounds like a shop like this would basically mean devs are eternally in that "doesn't know about Jim's code yet" stage.


Best comment so far! Everyone has been Jim at-least once before.

You are right, it will never replace good old Jim (or a backend dev). What it can do instead is to accelerate the devs. What if Jim created tickets to add a GitHub action to run linting on every PR, update and refactor existing code based on a new formatting rule, add more unit test cases? Basically utilize GitStart as a way to accelerate on tickets that may not be worth his time, but accelerate everyone else.

On a go to market comment, we are laser focused first to target frontend teams, particularly where as long as you have API docs (Swagger, GraphQL), and a staging environment (or we help create one) devs can go a long way without shared context.


Ah good point w.r.t. the frontend focus and having documentation for your internet-facing API (even if it's not "public" per se). So they could probably test it against the prod API without needing to do arcane deploy or dev environment stuff. I was mostly thinking of backend dev. (stereotypical backend dev behavior I suppose).


"I know our process diagram for ISO9001 says we do all that fancy stuff, but actually when we release we tell Bob down the corrider who has an Excel macro that pulls all the code from Git, builds and deploys it. It comes out a bit different every time!"


And to keep memory usage under control, we restart the non-deterministic service every 2 days because we were too scrapy to clean up memory after using it.

Jim said we will add more bugs fixing it so we believe him.


"We got it approved by calling it Chaos Engineering."


Yeah, that's exactly the reason why junior positions in my niche are almost non-existent. Everybody wants to have seniors or at least regulars, but a junior just means problems for everyone. And you can't be sure they will stay once they learn enough.


A bit OT but I was curious about

> One solution was building GitSlice, which enables creating sub-repos that sync with the upstream repo. When GitStart devs create PRs on the platform, GitSlice syncs them upstream while pulling back CI/CD checks and review comments. This enables our devs to contribute with limited codebase access.

Is this an internal tool or something you also make (or plan to make) available? We have this problem too at Ritza (a technical writing agency), where often our customers have a mono-repo with a docs/ subfolder that we need access too. Currently we solve this with some custom bash scripts and cron to sync just a subfolder to an internal copy, but is far from perfect and still involves some manual cherry-picking.


You can potentially use CopyBara https://github.com/google/copybara

We go much further than CopyBara by syncing CI / CD pipelines, syncing review comments and so on.

We are considering launching GitSlice as product on its own. If you are interested, email me and I can keep you updated when its ready to test (hamza [at] gitstart [dot] com)


>Your backlog is someone else's opportunity

Yeah, I don’t care.

I don’t mean to be harsh, but if I have to justify spending my company’s money on this, this is definitely not something I’m going to say. This isn’t charity, and I’m looking for quality code.


I think thats reasonable. Mission aside, this is only going to work if you get solid PRs that are easy to merge. Even with no cost if no merge, there is still a high opportunity cost if your team reviews a PR and doesn't merge it.

Which is why we actively monitor review cycles as our biggest metric internally to make sure quality is solid across all active repos.


I understand, but my point is that your landing page should focus on just that, value for money. All the other stuff is nice, but it’s not going to sell. It might actually be detrimental.


Agreed ... the service itself has to hold ground on its own.

Thats why on our landing page, the focus is on the service itself with some mission interleaved. Would you reckon it's the right balance?


I would respectfully disagree.

You gotta look at this from your customers’ perspective. All they care about is that using your service means quality work for less cost. The more you talk about other things, the more they’re going to question the quality of the work they get in return. So even though it’s a noble goal, I wouldn’t mention it at all to customers.

Where I would emphasize it is where you onboard devs to your platform, since they care about their own personal grown. Or when you hire people for your company, since people like working for a good cause. Or maybe if you’re trying to score some grant. Perhaps even some investors care, depends on the person.

But customers? Nah. They have other problems to worry about.


Have you noticed any interest in this for non-junior devs? As I rusty, old Ruby on Rails developer, I'd love to be able to be hired for single features.


We get this request often and personally I would love see this happen! I know quite a few senior devs who want to contribute reviewing PRs or contribute in the tech stacks they love with no strings attached.

The reason we have not done that is because we get all devs to commit full time on the platform, and thats a deal breaker for senior devs. Part time doesnt work well for juniors to reasonable grow on the platform, but I can defn see that working for seniors.

Curiously, how you do see your normal day look like if you could something like GitStart on the side as a part time senior?


As a contractor I like having a really flexible schedule and sometimes that means I have an extra half day available here and there. Sometimes my family is out of town or I'm out of town alone and I have extra capacity during nights and weekends that I would enjoy building a feature.

Also, I go through periods where I only want to work 8-16 hours a week, but even most contract work I find is full time.

So really for me this would allow for more liquidity in my contract work.


For me as a mid-level rust and senior typescript dev, I already run my own contracts so this would be a nice way to do some work in between bigger contracts.

I would probably not do it for the money (cant imagine it would pay 150USD/h), but mostly to keep exposure to new codebases, ideas, challenges.

I think you should target this offering at people that already do contracting at first, though I think I would miss the opportunity to talk with the team. It is hard to make big changes (expected of senior folks) without design meetings and coordination.


I’d be interested in this as well! To answer your question, I imagine a list of tasks available to work on which I can pick up tasks from whenever I have time.


Perhaps you might be interested in Algora https://algora.io/ ?

I came across them on HN about 2 weeks ago [1] and they serve the needs of COSS (commercial open source software) projects but they seem to be bootstrapped unlike GitStart.

1: https://news.ycombinator.com/item?id=36834686


I see more interest on this than I expected!

In the last month, we have rejected quite a few tickets that may have been easily tackled by a senior dev. Including technical documentation for infra, K8S, CLI agents to collect runtime traces, fixing flaky E2E tests and so on.

Hola at me if you are interested! (email in bio)


If you do tackle this, hopefully you’ll make it easy for (senior) devs to dip in, similar to Algora https://algora.io/.

They had their Show HN about 4 months ago: Show HN: Algora – Paid open-source contributions https://news.ycombinator.com/item?id=35412226


The business model makes perfect sense to me. This is essentially a modernized version of what most big companies are already doing to shore up engineering needs at low cost (they will go to some overseas consulting company and say "hey we need X devs with Y skills, we can pay them Z per hour. project will last T months.").


Wow I love the idea, thanks for making this and congrats on the launch.

From the comments I read I can tell the receiving devs can easily become grumpy if things are not as they want to the semi-colon.

A few ideas to solve that problem.

1. Have an internal team of experienced devs who make CRs and onboard the team of juniors on a new projects. From my experience, after a couple mistakes or misfit code, juniors adapt themselves, learn and end-up doing perfectly well.

2. When you submit a PR, submit a process with it (in a readme of some sort) with instructions on how the receiving devs should proceed with the PR. If they are not happy with it, maybe they can just say "not happy with it" and you take on yourself to figure out why. That sort of instructions. The last thing you want is them complaining they spend more time on it than simply coding it.

Im pretty sure the management of the human interface here is key because the only way this can work is if you've got off-the-charts feedbacks. You need processes for that (you probably do already).


You are totally right about human interface management. For software engineers, that bar is really high as devs by default engage in a ton of tools for their day to day work to convert tickets to PRs

And also agree about engineering teams being super nitpicky. We recently rolled out a change to suggest tickets to add linting / formatting tools automatically based on nitpick comments https://gitstart.com/changelog/ticket-suggestions-private-be...

However, I am very curious about the approach of pushing out process with every PR. Would that come as form of a PR description?


Would that come as form of a PR description?

Yes. Always the same though (maybe with some variants you write over time). I think the best might be to guide the receiving party so they act exactly like you want.

Example:

"Hello nice to meet you. We are a bunch of junior devs learning to make production code. We'd appreciate if you'd read our PR. However, if at first glance it doesnt look at all like something you'd merge, please simply send us a "nope" and we'll figure out why ourselves with the help of our mentors. Our goal is for you not to spend time on totally off-road PRs.

However if the PR is interesting to you, please proceed like you always do.

You can always reach us via [some form url that's automatically generated for that PR]"

Something like that that someone who can write and think has writen.

Take control at every step to prevent the receiving party to roam freely with the PR so to speak (unless it's decently good), because they might gonna go left and right - and south otherwise. They'll attack you on superficial thing. Make them a smooth funnel so they dont have to talk to nobody to move forward.

That's what came to mind.

P.s. or send them a url they follow entirely.

1. Read the PR in 15 min and come back here

2. How do you like it at first glance? A) very much, it's merged already, B) it's okay but I have feedbacks, C) not at all what we need sorry.

Etc.


I love this! We can make it even easier to ask for emoji reaction to the PR description instead of a comment to make it 2 click to take action

And build an experience that guides them through the PR instead of getting distracted by nit picks. I we can only go so much with GitHub UX (bar chrome extension), so we may just have to rebuild the entire thing in our dashboard.

Currently we include a loom video on every PR (if its a frontend PR) along with a unique link to our dashboard to review / approve credit budgets. But we should double down to give a potentially better PR review experience and take over the experience in the long term


Amazing. Glad this inspires you.

Another idea, maybe your PR is just a hook with no code initially, and then once the process is done via your UI, the final PR is shipped out - or the initial PR is patched.

We can make it even easier to ask for emoji reaction to the PR description instead of a comment to make it 2 click to take action

Absolutely, this is an entire experience to rethink. If they love the experience, boom, the way I see it, you made it. Because when you think about it, you are changing things (very) deeply. Everyone ever wanted the backlog to be outsourced. I used to say, "if only we had fucking debugguers" ; to take on those nasty bugs that are essentially just a nuisance for the bottom line of business.

However it's gota be a procress for it to work. Brogrammers are just gonna mess the thing up.

I was thinking, maybe have a link in the PR for a receiving programmer to take on the PR, and then, use emails to get the programmer in the dashboard at key moments (brainstorming here, can only guess the details of how your thing work). With a dashbard for management (probably you have that already).

Think Jira, agile, process, industrialization, linkedin skill, etc. Cause the way I see it, you cant do it if you dont do it with deep integration. Otherwise human will freak out a thousand ways. Maybe have 3 different PRs for one task, the engineer can quickly browse. I know it sounds crazy but you know how this works: work from the customer and backward. Wouldnt you love to have 3 PRs you can browse and say: combine this and that and this and we good. Just throwing ideas out.

Really love that startup your working on. It goes beyond what the eye can see. Companies are bad at managing software development, they always were. They dont understand they need engineers - and technicians. They cant tell the difference, they only see programmers. With your stuff, one can imagine a future where they understand that (theyd hire engineers internally, and have technicians outsourced). I dont know. Im dreaming and halucinating at the same time, but seems to me it goes in the right direction.


Let me expand on the 3 PRs idea cause I explained it badly.

If I receive one PR and its not good then my dopamine system is gonna say: it's a fail. GitStart you failed me and now Im gonna have to tell my sociopatic boss that the PR was no good for such and such and such reasons. Awful experience.

If I get 3 PRs, chances are, one is gonna be good and then they never was a single fail. Or if none is good but a combination of them could be, again, way way less of a fail for the dopamine system. "GitStart, it rocks".

I think the key idea is definitely to ship a PR with no code. You redefine the whole freaking house.


Internally we are expanding ways in which we draft multiple PRs initially when new devs onboard and send the one with the best peer review approval

We could infant send all the draft PRs upstream. And as a senior dev upstream, you review and merge the approach that works best

It would be offensive for most in-house teams to try to give our duplicated work, but universities and bootcamps get students to learn by doing the same thing in parallel anyways


I see.

May I be brutally honest with you? I mean this to try of being of some help (how many times I wished people would just tell me what they trully think, I cant count).

I think you are trying to do two things here.

Most developers are mediocre and always will be. They just cant be autonomous like that. Growing and nurturing talented junior devs is a whole problem in itself. It's chaotic. You could but then sell him to the client once you have one that working good with a client. And again, you wont be clearing a backlog, you are recruiting and nurturing a junior dev for a client.

On the other side, there is the clearing the backlog problem for which you can use mediocre programmers. They dont need to be juniors. They just need to be able to clear a task decently well once in a while. This however can scale big. Think about how coding is trending toward AI-generated code. Most of the menial tasks and bugs and unit tests could be done by less than good programmers as long as you have the UX/UI to paliate the fact they arent autonomous. And of course some of them would learn the craft doing just that, get plenty of stars on your platform and then get properly hired for 100k a year.

I clearly dont have your experience on the subject, Im just sharing my 2cs based on my experience. My instinct would tell me to focus on the client need to clear the backlog, without adding more human management. But only you know what it's worth.


I appreciate the candid honestly! Even though we are aiming to become a career accelerator for junior devs, not everyone is going to graduate right away. For some, just a few months of experience is enough but for others it can take years.

But at the end of the day, success for both devs and engineering teams (aka clients) on our platform depend on the PRs shipped. Which is why we focus all of our energy on the PR lifecycle. All key metrics driven from PRs (review cycles, time to merge, merge rate and so on).

By keeping laser focus to complete a PR, both parties win. Which is why we optimize for that first, and on top of that build further ways for junior devs to grow and teams to accelerate their velocity.

So if we need to add more human management to ship better PRs we do that. But later if solving a client need can enable them to write better tickets (which will facilitate better PRs) then we shift our focus to that.


... without being told you're poluting the old one.


> We recruit devs who want to grow _from remote countries_

This sounds odd. Why just from "remote countries"?

Is it because they can be paid less than in not so remote countries?

Are you going to ensure that if someone from the UK hires such a service, the worker performing it will be paid at least the UK minimum wage for the time spent?

I have a feeling this is just another way to get cheap labour.


> I have a feeling this is just another way to get cheap labour.

You make it sound like it’s a Bad Thing (TM). The apprentices that sign up for this gain real world experience that’s hard to come by locally and get paid for it.

This kind of extended apprenticeship is valuable as they can go on to land remote jobs that pay them better than their local market.

Perhaps they could have worded that more clearly as: “we recruit devs . . . from low-income countries with English as their official language”

This is how they are able to make the economics work.

EDIT:

https://www.pullrequest.com/ is a comparable service (where you involve “outsiders” with your codebase) except they use senior devs rather than junior devs. Of course senior devs are more farther along in their careers so it is clear you are paying for their experience.


This is a bad thing for devs in much of the world. It is trying to replace them with cheaper overseas ones.


I suppose you're technically correct about this being a "bad thing" for us personally in the short term. But why should there be a moat? If devs elsewhere can indeed do the same quality of work, why should our salaries be kept artificially high?

Stretching this to the limit, it would be a "good thing" for me if there was a law saying that I specifically should be paid more than all others of equal skill, but (even if I could somehow lobby to legislate that) I think I would prefer to compete on my own merits rather than artificial limitations.


> why should our salaries be kept artificially high?

Because why would anyone in the west invest in education if employers are going to look for talent overseas where it is relatively cheap? Take on that student debt only to find you'll have poor chance repaying it, because the available jobs won't provide for the living you were looking for.

This is essentially "dumping".


School prices in the West have made no sense in decades. If I can learn equally well in the East and have access to the same job prospects (and that's the question), why not sign up for their programs?


Because with the things going that way you won't be able to make a good living should you decide to return home and for many people that would sound like a bad investment anyway.


People have been saying this about outsourcing for nearly 2 decades now.

Particularly after the publication of The World is Flat [1].

1: https://en.wikipedia.org/wiki/The_World_Is_Flat


> The apprentices that sign up for this gain real world experience that’s hard to come by locally and get paid for it.

It has a great potential for widening the social divide. Here in the UK it is illegal to hire an apprentice without at least paying them a minimum wage. The reason is that before the change, the apprenticeships were snapped up by people from wealthy background who could afford to work for "experience" or "exposure". This created a bubble, where at certain jobs you wouldn't see anyone from disadvantaged background working there, because those people had to take on jobs that weren't aligned with their interests, simply because they were poor and couldn't afford an apprenticeship. Now, the minimum wage thing is still not ideal, because in certain areas that's not enough, especially where you have a large family to support, but it is better than nothing.


I've seen evidence of this exploitation first hand by a friend in Ghana.

A UK based, official Google Cloud partner was offering him £2.50 per hour gross for a DevOps position. Yes, £2.50.

I didn't believe it until he forwarded me their official offer letter.


How is this exploitation? Did anyone force him to sign this contract?

I'm from a rather poor country, and when I was starting in my career I would absolutely love to earn $10/hour. In fact that would be a dream salary for me. $2.5 is not great, but it's about what I earned in my first job (and my country may not be rich, but it's still way richer than Ghana).

So I'm not sure what's wrong with that. Can our friend earn more locally? Great, they should reject the offer.


To me that seems like the explicit value proposition. Here is cheap on demand labour to deal with all the low value tasks you have in your backlog.


In my experience this almost always turns to be a false economy.


I also just feel weird about "remote countries" as a term. No particular country is defined by being "remote" (except maybe oceanic island nations), just like no person can be a "diverse individual".


This is a really cool project. I am surprised I never heard of it despite having looked at repos for Cal.com and Strapi personally.

I have been working with overseas dev teams for the past 3 years, particularly in China.

If you are interested in getting developers based in China, you can reach out to me and we can have a chat.


How was your experience recruiting and working with dev teams based out of China? And how do you enforce foreign contracts from aboard (or draft local ones with a sub within China?)

We already have customers and a subsidiary based out of Hong Kong, and it will not be a stretch to scale those customers further from devs within China.


I have worked with 4 different modes:

- HQ in China (Singapore office where I work, as a subsidiary), the contractors sign contract with a contracting firm and the contracting firm sign the contract with HQ (This is called 人力外包 "manpower outsourcing")

- HQ in China, HQ set up subsidiary in China for managing contractors, the contractors sign contract with subsidiary directly and are de facto employees of HQ except there is no official contract between them (This is called 内部/子公司外包 "internal/subsidiary outsourcing")

- HQ in Singapore, set up subsidiary in China (need to have someone with Chinese citizenship to make it smooth), contractors sign contract with Chinese subsidiary.

- Freelance arrangement where the contractor sign a freelance arrangement with company directly. The jurisdiction and validity of the contract may be quite blur so it relies on good working relationship and trust.

In my opinion, there is a large pool of talented developers based in China and the main obstacles for them to get a remote job are international bank account, language barrier and the great firewall.

If you can overcome the 3 issues then you have access to some really good developers across all levels.


This site only allows Google OAuth Signup/Signin. I would prefer email+password+verification_link combo.

And there's no way to edit the "cover letter" and they don't even ask for resume.

A simple "You are on the waiting list!" page is shown.


We already have email+password+verification_link combo for client dashboard, and we are soon bringing it to our developer dashboard soon! (along with a brand new dev focused website)

Unfortunately the developer waiting list is quite long so it may be a while before we get back to you. But we are scaling quickly to fix that later this year.


Something about promising high quality production code while also emphasizing the growth of junior engineers feels inverted.

I love working with earlier career engineers but their code isn't known to always be very high quality. How does that work on GitStart?


Yes it does feel inverted and rightfully so. Because of that, juniors are net-negative by default which surprises most teams when they hire junior devs for the first time.

We are not fully there yet, but you can see from the Open Source PRs above that its good enough that this can make an in-house team more productive than the default.

Biggest part that makes it work are enabling multiple devs to review each other, solid QA and dev environments to reduce hand-holding and a community to grow and learn from.

Larger corps like Google already have this infra setup, but most teams cant afford to build it internally.


Looking at some of the examples of closed PR's I'm seeing tests that meet the bare minimum but don't actually test features/components in a meaningful way. For example I saw one that checks if giving a value to the suffix or prefix prop will make that value appear in the DOM, but it doesn't actually test if the suffix comes after the main content.

It got merged so clearly the devs find value in the work but I wouldn't call that production ready.


I would guess they have their own senior engineers doing code review on the backend before the client sees the code


We used to for many years at the beginning, and over time started to try a few things to reduce it over time

We first got the more experienced junior on the repo review others. Later on, we started to enable multiple devs to work on the same PR initially, review each other and best one sent back

And with GitSlice, we have been able to take very large codebases and slice it to a smaller repo that is much easier for juniors to work on.

So now we get teachers and seniors to train juniors, but they are not in the loop of the PR execution anymore.


How has the process of adopting tickets been for you? Do they often require significant rewrite/additional context? As at least everywhere I have worked, the backlog is full of single sentence context free bugs that are obvious to the product owner and anyone who has worked there for a while, but are useless to anyone new.

For example, in my first job, I was tasked with greying out a button after it had been clicked. Trivial and generic task. But I was paired with a brand new senior to do the work and we spent a day trying to find the correct button (being new and wanting to seem useful, we didn't want to ask).


It's the main topic for majority of my calls with engineering teams using GitStart (Other than convincing them at times to add auto formatting, linting and basic guardrails to your codebase lol)

It got a lot better with covid which started the wave of remote work and teams started to care about writing tickets for the first time.

Currently we solve it with ticket templates, but we are now doubling down on using AI to help craft and improve ticketing writing. It’s still under private beta, but will be live for everyone soon https://gitstart.com/changelog/tickets-by-chat


> teams started to care about writing tickets for the first time.

Do you mean your team? Because this would be an absolutely ludicrous thing to state generally.

> using AI to help craft and improve ticketing writing.

Right so speaking of AI, how do you plan to keep up with github copilot and how can customers be sure that you're not just using copilot under the hood?


From reading the blog:

> Neo led the round alongside Microsoft CTO Kevin Scott, Google VP Parisa Tabriz, Andela founder Iyinola Aboyeji, Uber CEO Dara Khosrowshahi, Instagram VP Maria Zhang, Circle CTO Li Fan and VP Yongsheng Wu, Robinhood VP Surabhi Gupta, Quora CEO Adam D’Angelo, GitHub technical advisor Omoju Miller, Gigster founder Debo Olaosebikan, BloomTech founder Austen Allred, Replit CEO Amjad Masad, Airbnb co-founder Nate Blecharczyk, Mike Schroepfer and others.

I wouldn't exactly call this list unremarkable


This list might just barely meet your expectations, if you squint a bit.


We had some gitstart PRs against Cypress. The code and quality was generally fine. It was mostly low value issues getting fixed, where having a highly paid senior engineer fix just doesn't make sense.

I think the quality of the PRs was fine, I cannot say much about the business model / pricing since we got them for free (out of nowhere - they just started making PRs - much appreciated!)


Who maintains the code written by those remote junior devs? If the answer is: the team that owns the project, then effectively, these remote junior devs are producing legacy code the moment they finish their job. If the answer is: the remote junior devs, then that implies you need to hire them again for that... so what's stopping you then from hiring junior devs full-time at all?


> what's stopping you then from hiring junior devs full-time at all?

There is nothing stopping devs from getting recruited directly, in-fact we want that to happen! Its a major success story for us when devs get hired, ideally back to our customers :)


We have seen that GitStart works best when its meant to accelerate an in-house team, instead of being a member of your team.

As a result, the end team that uses GitStart has full ownership of all code that gets merged.

However you can assign future bug fixes and maintenance work back to GitStart.


i would say it should be the engineer who was owning the initial issue, and then reviewed/ merged the PR to own the code. it should be them on gitblame anyways as a co-author once a gitstart PR is merged

i would think gitstart as an extension to engineers themselves instead of working in silo

disclaimer: i used to work at gitstart


This is a pretty interesting idea, especially for companies that have come out of the growth phase and operate as more or less open source projects.

I suppose that the need for this comes out of the fact that.. we've written a ton of code that needs to be maintained at this point. It's not interesting work, but it's busy work that's still important.


Definitely a cool idea. I could see some places we might be able to use it, especially on our open source projects.


Thank you! Feel free to email me (in bio) to try it out on the open source projects, especially if its related to postgres :)


Could you tell approximate time in wait list?

BTW, I could write code, so your page "You're on the waiting list!" will show approximate time.

I could understand, if you don't want to show number of people in wait list, but simple algorithm could forecast and show approx days to wait.

Thank you!


This is brilliant. You focus on JavaScript / Typescript? Or can also handle other things?


We’ve only automated onboarding for JS/TS, but support more, like most JS/TS frameworks (React, Node, Vue), Django,

We have automated on-boarding flow only for JS / TS, but we in-fact support 15 tech stacks including React Native, .Net, Native Mobile & Django

Mobile is our largest tech stack after JS / TS because we were able to build review environment for mobile apps that make it drastically easier for junior devs to review and QA their PR before its pushed upstream without having the actual native device.


I absolutely love this and will be using it as an employer. This is just so cool. Bravo


Your "get started" page is completely broken on my pixel phone.

I can see image on the left, but the form on the right is offscreen and I think you disabled scrolling so there is no way to get to it.

I had to look at this page on the desktop to learn about that form.


Thanks for letting us know! We'll try to get this fixed soon or at least direct users to a desktop view.

For now, it's best to sign up from a desktop, as the onboarding flow requires connecting GitHub and specifying repos, so this is not very convenient from mobile right now.


How do you guys see this scenario: Medium/small companies start to use GitStart as a cheaper way of hiring developers, making it hard to devs on GitStart to get long term jobs


GitStart only takes care of well scoped tickets in backlog and finishes them at the PR stage. There is so much more to do including:

technical architecture, API design, breaking down large projects, infrastructure and so on.

All of the above require senior in-house talent. So we want to become the best place for juniors to grow and enable them to join companies to lead the above initiatives.

I do not see a way where we will reduce the need for senior positions.


We tried basically the same idea as startup and ended it because developers didn't care to make money. Tax-side was quite complicated as well.


Any lessons to share other than that?


This is like the 2nd coming of Pullrequest.com


My personal take is that the highest level of trust lies with the in-house team. If thats broken, you need to restructure the team until trust is established again.

I am really skeptical about a service (like pullrequest.com) where external reviewers come in to gate-keep internal PRs. It can work like CI / CD checks (e.g pentesting, SonarCube). But its next to impossible to truly suggest changes that make a difference without knowing the context.

At GitStart, we have tried hard to make sure we are accelerate and empower the in-house teams, instead of shrinking them or trying to replace their need.


what happens with these gig-economy type models.

eventually you will have devs gaming the system by working on multiple tasks from multiple outsourcers (like multi-apping for food delivery)

then the quality of the work declines. rejection rate increases. then the base salary will have to go down or become entirely task based.


The pricing is confusing, what's a "Credit"?


Its our own measure to incorporate PR size, technical complexity, repo complexity and a few other factors

Essentially it allows us to give standardise pricing for similar PRs regardless of time spent on them.

Would it be more useful if we launch a calculator where you can input those variables and get back a credit estimate?


Yes or sliders in pricing


Solution in search of a problem


Brilliant! godspeed! (y)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: