Recently, as the school enrollment was in full swing, some friends asked me in the background and zhihu, I hesitated between development and algorithm, I didn’t know how to choose, they wanted to ask which position is better?

Just before I answered on Zhihu, “For technical posts, is the development job or the algorithm job?” “, so it will be carried over, hoping to give you a little inspiration and help.

Those who know me well may know that I worked as an intern in the algorithm position of Ali Mother in 2015, but I went to a development position of a company by mistake when looking for a job. After doing this for a year, for various reasons, I kind of regretted my choice and managed to switch back to algorithm. So I’ve worked in both positions, so LET’s talk about their weaknesses. Sometimes we don’t know what we want, but often we know what we can’t accept.

Although these two posts are said to be engineers, technical posts, but the work content and nature of the difference is really not a little bit. In the industry, we all have moments of burnout, but the experience and trigger conditions are different. Just to be brief.

First of all, when I do development, I have the following pain points.

Development of article

on call

On call can be understood as waiting for a call at any time, and developers on important projects are usually on call 7 x 24 hours a day.

If there’s a problem online, there’s always a call. Two or three in the morning isn’t impossible, and a lot of times, it’s not necessarily your fault, it’s just that your name is on the head of the xyz project.

I think companies of all sizes have this. When CHATTING with ant’s colleague before, he joked to me that he had become a habit of getting up early in the morning. It seems that the ants still have a lot of traffic at night, and hbase jitter is common. When the hbase jitter occurs, a call is received. There is what barbecue half suddenly online GG, rushed back to the company to check the problem, are not a matter.

Not only on weekdays, but on weekends and holidays. So basically, it is certain to carry a computer, even if it is the New Year home, travel abroad basically also want to take a computer. And according to Murphy’s Law, don’t take any chances, which I’ve done twice. The most dramatic time, on Hong Kong’s Victoria Peak holding a phone to read the code…

What? You were too asleep to hear the call when the line went down?

Emmmm, at least, the leader will say a few words, at worst, maybe you need to prepare your resume.

Large presses to stay up late

** as long as it is an e-commerce company, there is no big push, as long as the big push, there is no don’t stay up late. ** Therefore, it can be simply understood that as long as it is an e-commerce company, there will be late nights.

Big promotion means huge flow, naturally on the stability of the system is a top test. Take double 11 for example, do you think that as long as you prepare more machines on double 11, it will be good? Too Young, we need to do many rounds of simulated flow detection before the real big push comes, how to simulate? Just make a bunch of fake requests and send them to the server to see if the server can handle them. This simulation test is known in the industry as a manometry, also known as a stress test.

Generally speaking, each time at least two rounds of pressure test, because pressure test may lead to system problems, so can not be placed in the peak flow, that is, during the day, only in the dead of night when the pressure test. Well, you see, staying up late is a must.

Even if the two pressure tests are good, the two pressure tests plus the duty of the day, at least each big promotion will need to stay up for three days. Every time stay up late, at least two or three to sleep.

Come on, tell me, how many times a year do you have such a big rush?

Four times, 321, 618, 11.11, 12.12… And the number of times that this promotes greatly still has the trend that increases obviously now.

The concurrent job

One of the worst things to experience at work is concurrency, when you haven’t even finished one thing, or even made a point of it, and then it’s interrupted by something more urgent.

Let’s say you’re looking for a bug, and you’ve just locked down the area of code that probably caused the bug, but you haven’t even checked it out yet, and suddenly the test tells you that she’s found a new bug. Or a product comes to you to talk about a new requirement, or someone comes to you with a question about your system. This constant feeling is the most painful and can be draining in a short period of time.

Of course, this problem is not limited to development positions, but can occur in any position. Development jobs, however, are more likely to do so. Because development is often responsible for one or more systems, a large system may appear a variety of problems on a lot of. And there will be a lot of people using the system asking you questions, which is very easy to do.

Other problems

In addition to the above three points, other egg pain point is also a lot of. But it’s not that serious, so I put it all together.

For example, most corporate documentation is not sound, and it is very easy for development to take on old projects. And a lot of times need to directly read the source code, if the previous engineers code ability is not good, will lead to the code is very difficult to read, like the eye was pricked by a needle.

In addition, the phenomenon of liver deadline is very serious, each product demand will always set a deadline for you. Sometimes all sorts of unexpected things happen and you need to explode to keep up. Whether it’s an online glitch that took two days to fix, or an urgent need that was added at the last minute, it can be overwhelming.

Another point is often repetitive work, add, delete, change and check today, check, add and delete tomorrow. Highly concurrent and distributed when interviewing, curd after going to work. Years of no growth, if it’s a big company, a lot of people work for years without really building a project from scratch.

Sometimes the product or the operation or the boss is not good communication is also a problem. Either you don’t know technology and it’s expensive to communicate, or you’re dumb and aggressive and you pretend to know what you don’t know, and I don’t care what you think. I want what I think.

Algorithm article

SQL boy

A lot of people are attracted by the algorithm post, is that the algorithm post is high, machine learning, artificial intelligence. But in fact, after really engaged in, will find that is not the case at all.

If you’re in a small company and you’re obsessed with data, either the data doesn’t exist, or the platform or tools don’t exist. If you are in a big company, you have the data, the platform, the tools, but you are SQL boy every day. You and business talk about algorithm, business description sky line, first statistics on a version. The boss tells you all day, I want to see this, this and that, you run for me.

You want to say that you can optimize a certain model sometime, but you find that you can’t write all the SQL in your hand. I know a lot about machine learning and deep learning models, but all I have to do is SQL and data.

Difficult to locate problems

The process of doing algorithms is often a process of struggling with yourself.

Because the model is different from the developed code, the results of the functionality implemented by the developed code are clear and the reasons are traceable. But models are not, and often what works well in other people’s scenarios ends up in your mess. Especially the way your boss responds with expectations, it’s hard to explain… There are too many possibilities for the model to perform poorly, maybe the training data is wrong, maybe the features are wrong, maybe the process is buggy, but the boss doesn’t care, they want certain results.

And many people think it is very simple to check the problem, you find a few pieces of data to see, don’t you know? There are some do not understand pretend to understand passers-by, oh you use so so not ok?

In the era of big data, there is only correlation, not causality. Can a few numbers tell the whole story? I drew a few strokes to see if it’s all right. Is it all right? In other words, does a little bit of data mean that this is what’s causing the model to fail? Don’t believe it. If you do, it’s a pit waiting for you.

My biggest headache is when my boss asks me to look into a problem. It’s almost metaphysical. If it’s an obvious problem, fine. And what hurts even more is, maybe everything works, but it just doesn’t work, and you don’t know why, because the neural network is a black box.

Blabbing and blabbing

There are many tricks in the algorithm industry, and people with a bad mentality are likely to fail.

Also because the algorithm is too hot now, a lot of people who don’t know will look up to it. Sometimes that’s a good thing, like when talking to investors about money. But in most cases, not necessarily.

For example, some decision makers will have delusions, will have fantasies, for example, will put forward some slogans they do not believe in. Slogans are not a problem, but the problem is that the targets in the slogans need to be implemented. You may find that you can’t resist the urge to hit someone, but the boss isn’t an idiot, he or she may just be dealing with a higher boss or an investor. It is a bit like the officials in the Opium War, who knew from top to bottom that they could not beat the British, but they had to come up with some way to write a “successful report”, otherwise how could they get promoted and become rich?

There was a time when the number of daily users of the company was decreasing, and the company wanted to use machine learning model to screen a group of money-hungry users and give them a red envelope of 5 yuan. In this way, they will always be active for the sake of the five dollars, which will bring about an increase in daily work, so that they can deal with the boss of the higher level. The logic seems clear and unassailable.

But the question was, at that time, there were three million people living every day. How many red envelopes were given out every day? Only tens of thousands. What do you think we should do? Even if the algorithm doesn’t lose every user, then it can grow? Have you learned the idiom of living beyond one’s means? The boss doesn’t care. You just do it. If you don’t do it well, you’re incompetent. What about this situation?

Again, the problem is so serious that it’s almost instantaneous. Anyway, people don’t know how you do it, and some people brag about it in the interview. When a lot of people are doing it and getting paid for it, and you’re holding the line and being anonymous. It’s hard not to question your beliefs. Are you, or is the world, at fault?

Above, just my opinion, if it is right, please do not take a seat.

In the end, there is no perfect career, and there are always trade-offs. If you can understand what you can tolerate and what you can’t accept, I think you can make choices that you don’t regret.

That’s all for today’s article, and I sincerely wish you all a satisfying job. If you still like today’s content, please join us in a three-way support.

Original link, ask a concern

This article is formatted using MDNICE