
VSCode allows programmers to easily share what is going on in their editor with other programmers and allows them to synchronize another coder's editor with their own editor, live. Both programmers are able to place a cursor in the files that they are working on and they can both manipulate the code in the vein of Google Docs collaboration. They are also able to toggle a feature to follow each other's cursors and this allows them to jump from file to file with the other programmer. This feature could be combined with audio and video sharing to create a plug-in service that allows you to summon another programmer to help whenever you need assistance. Simply press a button and have it automatically connect an expert programmer to help you with the file that you're working on in seconds.

We could look at the statistics of the programmer and look at the current file that you're on, and we could find a programmer who has the most experience with that programming language and that type of file. So for example, you might be working on a mix.exs file in Elixir and we could find a programmer who has the most experience configuring an Elixir project based on that file type.

One of the more important aspects of this to prevent it from being like UpWork is removing the component of users being discerning because that is what causes them to hesitate and not find somebody that they want. We need to make sure that they are quickly and automatically paired up with somebody within seconds. A startup like this had existed many years ago in the past, however the issue with it was that you had to set up your appointments and discern the programmer that you wanted to work with far in advance. This loses the advantage of being frustrated or stuck in the moment, or having a deadline that you need to get the work done for, and having to wait for the appointment. When you have to wait and discern the programmer that you wanna work with this causes a lot of hesitation, and greatly reduces your desire to use the service. It also means that to service can not be used under a stressful deadline or time crunch, when it is most needed.

We could match programmers up with a user review system, similar to Uber's driver ratings. Where you tend to only get matched up with five star programmers. That way, regardless of whether you get a bad programmer or not, your chances of getting a good programmer that you're happy with are going to be very high. That would also be increased by the fact that the programmer has been matched up to your target programming language and matched on the file name or the type of work that is being done.
We might also want to have some sort of medallions or badges given out that indicate the values that we're looking for in programmers. So for example if the programmer spends a lot of time trying to find alternative solutions, or gets hung up on re-factoring for too long, then the programmer probably should not get as good of a rating.
Pricing should be statically tiered like Uber Black or Uber Select. We cannot have programmers dictating their own pricing, or that will cause selection issues and matching issues for getting a programmer. This will make the software clunky like UpWork.
We would charge by the minute to make the service more approachable. This would make it so that even if you do not have a lot of money to spend on pair programming you still might think that a problem could be solvable in 15 minutes and would perhaps want to have a programmer take a look at it at $2/minute. This means it would only cost $30.00 for a 15 minute issue or to have a 15 minute conversation -- well within the reach of most people doing programming work. This would even be affordable for students who are learning to program. In the event that the problem isn't solved in the 15 minutes allotted, it is not a huge stretch to extend that time to 30 minutes. I could see a student learner thinking to themselves, "Well, this is almost done! If I pay $60 instead of $30, I can get my problem solved completely. I am getting my programming problem solved for less than the cost of a video game!"
In the event that only experts are available, we could introduce something like surge pricing. My initial thoughts on pricing tiers could be that we charge $1/minute which would make a programmer $60 an hour. Converted to salary that would provide a programmer with $124k per year. An upper tier might be $1.50-$2.00/minute which would correlate to a salary of $187k-$249k.

I could easily envision a website to market this product that targets businesses. Some companies may be very secretive and untrusting of other programmers looking at their code, one aspect of the marketing site we can show is that all programmers are signed under a unified NDA and we have other measures in place to make it a safe and inviting experience. This would deliver tremendous value to companies, as they would be able to hire more junior developers and have seniors available on demand. They could pay for senior work by the minute for exactly the time that is needed instead of hiring a senior engineer full-time. We could also offer some sort of corporate package, or target companies directly. This could make a lot of sense for them. While some companies might be very secretive, there are plenty of other companies that would be happy to do this and it could be a lifesaver for them.
Another amazing thing about this service for companies is that you can get experts in tools that your company isn't particularly skilled in, but that you might need help in when you're in a pinch. For example you could have a database expert help you with scaling a database when you get stuck. Or you could have a DevOps expert help with a problematic Kubernetes cluster if you were experiencing an odd error. Or you could debug Argo if you are experiencing a cryptic issue that you cannot solve.

Another thing that we could do that could be great for marketing as well would be to have some sort of hiring badge that a programmer who runs an open source repository might put on their repository page. The open source maintainer could sign up to be hired to only solve problems that have to do with the particular library that they maintain, and this could be provided for a premium rate. This could offer an amazing alternative to making a living in the open source world. Currently open source developers can only rely on donations, but this could be a high paying job that they could do to support their passion projects while still having the time to actively maintain them. This would also expose them to use cases and perspectives on their open source libraries that they otherwise might not have considered and allow them to talk to their users directly. Another great aspect of this business model is that we can utilize a lot of the marketing rhetoric that Uber put in its hiring material for drivers. So we could talk about the fact that you get to work from home and set your own hours.

To make a start up like this work in the beginning when we might have an issue matching up demand with supply we can easily solve the supply side by ensuring that we have two programmers that have very versatile experience across technologies, and we could have one work a day shift and another work a night shift so that we could have 24/7 coverage. This would remove any supply problems and we would instead have a waiting list if there was too much demand. In the case of too much demand, we would simply need to hire additional developers. Having too much demand is a great problem that demonstrates the value of our service.
Finally, in terms of rates, we could also have a discounted rate, maybe $0.75/minute in the event that we do not have any decent experts in a particular field. So for example if the programmer needed help with the Ruby programming language and the only programmers that we had were Java programmers, we could probably say that we do not have any Ruby developers available at this time but that we have programmers from other fields that could be comfortable talking through the problem with you at a discounted rate.
In order to help push the customer to book the discounted rate, we could also have a pop-up that espouses the benefits of working even with non-expert programmers. We could display fun facts like, "Even programmers unfamiliar with your language tend to be able to solve problems over 86% of the time." We could also rate programmers based on their ability to solve unknown problems and only pair them up with programmers that have the highest change of doing so. Another way that we could make this better would be to rate each programmer on their experience and comfort with given technologies. We can have a ranking system for their knowledge of certain tools and programming languages.
Our core revenue model could be based on charging a percentage of the total billing. For example 25 cents/minute. As an example, with 20 active sessions running only from 9am-5pm EST, we would generate $624k per year in annual revenue and $2.4m in developer payouts.
This idea would be easily investable in the technology sector, because there is currently a talent shortage for programmers in general, and an even larger shortage for senior developers. This is also a pain point that is extremely familiar to investors.
There are over 4.9 million VSCode users, and according to several sources, there are atleast 20 million active professional software developers worldwide. Additionally, there are over 45 million users on GitHub with over 100 million code repositories as of 2020.
We could eventually extend this platform to support other subject matter and professions. It would obviously be highly valuable to be able to, for example, summon a structural engineer to discuss an idea that is floating around the team. But the issue with other professions is that, with programmers, we are taking advantage of the rich data that we can get from their code editors to match them up with the appropriate programmer and have a good matchup system. With other professions, we do not necessarily have the best ability to match them up with the correct structural engineer or mechanical engineer.
Allowing match ups to be more discerning or allowign users to be selective is the death song of this business. Giving people options without automatically matching them up causes additional cognitive burden, and allows biases (be it age related, racial, or otherwise), second-guessing, and faulty thinking to take control of their selection and ultimately does more harm to themselves and the community in general. Not being able to summon a professional quickly and on demand would dramatically hinder the benefits and productivity of this app.
When you are able to summon an expert instantly without much thought, you gain a new superpower in a sense.
IDC, Worldwide Developer Census, 2018: Part-Time Developers Lead the Expansion of the Global Developer Population, 2018.
IDC estimates there were 22.30 million software developers in the world at the outset of 2018," said Arnal Dayaratna, research director, Software Development at IDC. "IDC estimates that 11.65 million are full-time developers, 6.35 million are part-time developers, and 4.30 million are nonprofessional developers. The Asia/Pacific region accounts for 10.24 million of the world's developers, while the EMEA and Americas regions represent 7.01 million and 5.05 million, respectively. Notably, China and India are responsible for 32.62% of the world's total developer population.
GeekWire, Do a majority of Google developers use Visual Studio Code?, 2019.
“Visual Studio Code and Visual Studio were the two most popular development environments globally, per Stack Overflow’s yearly developer survey, representing answers from >100k developers,” a representative from Microsoft’s public relations agency said in a statement. “Various teams at Google are using Visual Studio Code extensively in a number of projects, including Chrome, Angular and more. Visual Studio Code has more than 4.9 million monthly active users and is the most popular editor for Go developers, according to the Go 2017 survey.”
If you think this note resonated, be it positive or negative, send me a direct message on Twitter or an email and we can talk.