When writing before relatively more along with some, just saw their own, contact with the channel sorted out once to write up. In the later revision process, I gradually felt that these things looked quite a lot, but the writing was very shallow and did not touch the essence.

Some students may think, you earn a pocket money have what essence can tell 🤷🏻♂️, do not learn those from the media installed. That’s what I thought at first, but when I thought about it more, I realized there was a logic behind it.

First, let’s look at our topic, how programmers earn pocket money gracefully. It has two focuses, one is “pocket money” and the other is “elegance”.

“Pocket money” means it’s a “side job” and we have a day job. What is a “side hustle”? It is something we squeeze out of our busy work and life time to do. So what is most valuable to “earn pocket money”? It’s our time slice.

Why do you say so? As for an enterprise, it has enough resources to allocate and can increase the available time slice in batches by hiring people. But for our “sideline” business, energy and resources are very limited. A side business already earns very little, and if you have to hire someone, each person will have less to share, and there is a risk that you will not be able to make ends meet. Additional person is much, go up communication also need cost.

Therefore, IN my opinion, for earning pocket money, time slice is the most limited and most difficult resource to expand in the whole link, so we should plan earning pocket money with scarce resources as the core.

The so-called “elegant” means that we should not only make money, but also earn it easily, not more tiring than working. This needs to pay attention to the way and method. This involves “time slice optimization”.

Time slice optimization · 1. Increase revenue per unit of time

There are two ways of thinking about “time slice optimization”. The first is to increase revenue per hour.

The logic is simple: since the number of time slices is hard to increase, the more money you make per slice of time, the more revenue you get. When we’re outsourcing, for example, we can go to a better employer.

switch

The first idea is to do overseas outsourcing. Because labor costs are much more expensive in foreign countries than in China, and our costs are lower than those of foreign developers, there is a price difference. If we control this price difference, we can make more money.

Of course, to do foreign business requires that we have the ability to communicate through foreign languages, if you do not have, you can give up this market; Or try using welfare words.

From outsourcing ❌ to secondary development ⭕️

However, before establishing its own industry reputation, outsourcing is always faced with the red sea of price war, and there is always someone whose time is less valuable than yours. And outsourcing is an open demand, if you really want to do a fine job of employers’ needs, the breadth of the technology stack requirements are quite high. In addition, good outsourcing projects are often not completely open bidding, but through the industry or friends recommended.

There is a way to mitigate this. We narrowed the scope of development to a niche market and made money doing secondary development for standardized open source products.

This is not a new idea, it was given to Discuz a long time ago! Do secondary development to make money. But we can broaden our thinking, for example, from domestic projects to internationally renowned projects.

That would solve most of the problems of going to sea. Where would the users come from? Open source community. How to prove yourself? Write several high-quality open source plug-ins for demo. How to get high returns? Not many people write plug-ins specifically for a project.

Switch to a more time-slice friendly business model

On the other hand, if we can control how we sell time slices, we can increase revenue per hour through better business models.

For example, when I was teaching classes, many students asked me, “Why don’t you do one-on-one quality classes?” or “Why don’t you do live streaming?”

If you think about it in terms of time slice theory, you’ll see why. If we do one to one, although this customer may give me a relatively high yield. But my time slice can only be spent on this one client. And if it’s one to many, from a probability point of view, my profit margin is much, much higher. Even if the revenue from a single customer is small, it adds up for many people.

The same goes for live classes, which consume our time slices every time. The recording class only takes one recording, and then we don’t have to consume any more time. So in terms of utilization rate alone, recording is a better way.

This is only efficiency in terms of patterns, and does not necessarily match specific examples. There may also be cases where live broadcasting is very profitable and no one watches it at all. I mean, the live stream can still carry goods.

At present, many course platforms also use live broadcasting to attract new students. The so-called live broadcasting courses here are actually advertisements in disguise, which are used to solve marketing problems. It is a completely different logic.

Time slice optimization · Second, improve efficiency per unit time

Improve efficiency through automation

Then another optimization direction is to improve the efficiency per unit time. That is to say, I only have a little time. I used to be able to finish one function in an hour, but now I find a new way to finish ten functions in an hour, which is the improvement of efficiency.

Of course, it’s actually hard to force yourself to be more productive by increasing your willpower. The best we can do is make sure we’re doing these things with as few distractions as possible and not lose productivity, which is pretty good. It’s very hard to multiply human productivity.

Fortunately, we programmers do work that can be done in part by machines. So we can introduce automation to improve efficiency.

A specific example is code generators. Not something big enough to generate an entire project’s code at once, but something that can quickly generate snippets of code from templates we wrote ourselves. For example, metatoy, which I showed earlier, is a snippet generator that can be configured with a GUI.

Of course, you can also directly use the script generation, the effect is not bad. Once the most time-consuming part of daily development is written as a template, a lot of time can be saved later.

Improve efficiency through AI

Code templates can only solve relatively rigid rules, but with recent advances in ARTIFICIAL intelligence, many inefficient manual operations can now be handed over to AI in certain scenarios.

For the Yangtze River with low AI accuracy, we can also deal with it through human-machine combination. For example, the image classification, before we spent 10 hours of manual, now the AI only takes 10 minutes, but there are 20% of the classification is wrong. So we can go through it again. It’ll probably take about two hours. Even so, it increased efficiency fivefold.

There are a lot of qualities of AI capabilities that have recently been offered in the form of interfaces. For example, those who are familiar with my Microblog know that I often use speech synthesis and recognition services to improve content production efficiency.

For example, Slide Sauce, which I posted earlier, can read the speaker’s notes in PPT and directly generate videos. This greatly improves the productivity of video content. The article you are looking at was also recorded by telegraphy at a rate of more than one hundred words per minute and then revised twice.

Recently saw a good service, is also the use of dachang open AI interface implementation. It is a vlog automatic subtitling service for we-media, which can generate subtitles and suppress them in a few minutes as long as a video is uploaded.

If the service is reliable enough, we can automate the service and deliver it directly to the end user. If the service is not reliable enough, we can put it in the middle of the original process to improve efficiency.

For example, the same code generation technology, if we make it code generation for non-technical people, if the service is not very reliable, the end result may not be very good. But the same quality of interface might look good if we made it a developer-oriented code completion and suggestion widget in an editing environment.

Improve efficiency through crowdsourcing and outsourcing

Another way to increase time per unit is crowdsourcing. Strictly speaking, in crowdsourcing we’ve already given the task away. But considering that when we crowdsource, it still takes a lot of time to manage, and we still expend energy, it makes sense to view it as an improvement in time slice efficiency.

To describe it in a familiar form, we have a bunch of new worker nodes to do work, but we control the factory and manager ourselves, so we still need to monitor and schedule at any time.

Crowdsourcing what kind of work is tricky, by the way. First, we need to allocate reasonable tasks for different workers. If it is a part-time student, it is suitable to assign some primary tasks similar to text sorting work, and then add code after doing a good job. If you are an experienced engineer, you can assign a separate microservice or control to minimize the coupling and dependencies between tasks.

While monitoring and scheduling tasks can be exhausting, it’s worth trying to break through the time slice ceiling.

At the same time, we can see from this, directly selling time slice is actually at the bottom of the whole chain, earning the thinnest bit of profit. So let’s take a step back from the time slice here, and look at it from the perspective of assets, earning pocket money.

Read the book here → github.com/easychen/ho…