This is the weekly magazine I wrote last week. I was busy with my baby yesterday and forgot to post it. Suzhou is trying to return to normal for the third time. The kindergarten plans to start on the 23rd. I hope this time I can end my life of bringing my baby to work at home.
This is a good article written by vgod, a software engineer who grew up in Taiwan, went to MIT to study, and worked in Silicon Valley after graduation. I read some of his blog posts a long time ago, and recently found him writing on Medium via Wild Architects ‘ Newsletter.
In the pursuit of the magical way of programming — the 2022 re-edited version of this long article, he shared his experience and insights of learning programming, which is very worth reading. His recent series “The Training and Growth of Software Engineers” covers various topics such as technical growth, company selection, and career development.
Why some people can do software development after a few months of training and quizzes, while others can also do software development after nearly 10 years of professional training. What is the difference between the two?
The master’s understanding of technology is four-dimensional
I have seen a lot of very powerful engineers in D Club, and their common feature is that their understanding of software systems is “four-dimensional”. If the programming language and framework we use to develop are compared to the “two-dimensional surface” at the top of the entire system, there are actually many layers of abstract interfaces under this surface, just like a thousand-layer cake, layered layer by layer becomes Now everyone sees software that is easy to use and has beautiful graphics.
Great engineers don’t use common programming languages or frameworks, but they use these tools to see what’s going on inside the system several layers down. This mastery of the “depth” of the system is the difference in the first dimension.
The article gives an example of what happens when an address is entered in the browser. This question is also often asked in various interviews, and interviewers like to ask this question to see the depth and breadth of the candidate. This question is very open, we can list a lot of points in breadth, the more experienced people can see more, and the interviewer can also continuously explore the depth of the candidate at a certain point.
This Github repo what-happens-when uses this question to string out various knowledge points, which is worth a look.
Niche is a niche, here refers to programmers who use a niche technology stack. I checked and found that Niche comes from French. The French believe in Catholicism. When building houses, they often cut a small shrine on the outer wall for the Virgin Mary. Although it is small, it has clear boundaries and a hole in it, so it was later introduced to describe a niche market in a large market.
The author went to a small company using Clojure by accident. He worked for 3 years, and then the company decided to switch from Clojure to TypeScript because Clojure was too difficult to recruit. The author thinks that Clojure must be a language that is in decline, thinking about finding a job in the future and returning to the mainstream technology stack.
After a few months he wanted to change jobs, so he started to apply for a job. He found that Clojure has little competition and a good salary, and these companies will not test Leetcode for interviews. It mainly depends on your experience and skills, and they will look carefully. Your Github home page.
Anyway, this is all to say that being a niche programmer is not bad at all. Pay is great, competition is low and the interview processes for the most part very humane. If Clojure ever makes it mainstream, I’ll find a new niche language to specialize in.
This is differentiated competition, perhaps this is a strategy in the introverted talent market. I think it can also be tried in China, because many companies with niche technology stacks allow remote, but the best premise is that English is good enough, because most of the companies adopting niche technology stacks are abroad.
I have interviewed a company that does SEO tools (Ahrefs) before, and all SEO friends should have heard of this company. They are using the niche technology stack OCaml.
I tried to send my resume in 2020, and then I actually received an interview invitation. I guess it was too few people who sent it. The first interview was with the company’s CTO, who was based in Ukraine and whose English accent I didn’t quite understand, so he spoke slowly and patiently explained their company and technical challenges. A small project was left for me later. The needs are very clear, but I can play by myself. The code I wrote at that time is here ocaml-chat .
A long round of interviews followed, with two interviewers, the other being French (most of OCaml’s current enthusiasts are French). In this round, my lack of English has been shown. Because most of the questions are open-ended, my spoken English is not enough to express freely. In addition, I don’t understand French English very well, so communication is still a little difficult.
Although I didn’t have a successful interview in the end, it was a good interview experience and gave me more motivation to improve my English. I think the niche technology stack is a bit fun, and it would be great if you can find a corresponding job.
Tom Lyon tells the story of his joining Sun 40 years ago in this Twitter thread, along with some IT history stories.
He started working in Silicon Valley in 1978, mainly porting Unix to mainframes. He would then go to Berkeley to listen to Bill Joy’s lecture, claiming to be the first to implement the select interface in Unix. Although Unix did not adopt his version in the end, it also made Bill Joy remember him and foreshadowed his entry into Sun later.
When he was looking for a job, he talked to Valid Logic Systems, the first commercial EDA (electronic design automation) company. My first job was also to make EDA tools. At that time, the company I worked for developed it in China and sold it in the United States. It was 2011, and EDA in the United States has become a sunset industry in everyone’s mouth. In recent years, because of being stuck in the neck, a wave of companies that developed their own EDA tools has emerged in China, but it has been a full 40 years.
In 1982, the author went to Sun for an interview. At that time, Bill Joy had joined Sun as a co-founder. Bill Joy gave a name of about 20 people for people to dig, and he was one of them.
His offer at the time was $2,000 a month, with 4-figure stocks. At that time, the annual household income in the United States was about more than 20,000 US dollars. It can be seen that the salary of the IT industry at that time was not as prominent as it is now.
Sun started out as a hardware company, selling workstations and Unix-like systems, but later developed Java. A few years after its creation, Sun began to make a profit quickly and made rapid progress, but the peak was fixed in 2000, when the market value exceeded 200 billion US dollars. When the Internet bubble burst in 2000, the server and workstation-based hardware business took a nosedive. Sun did not seize the opportunity of x86 and was immediately overtaken by Microsoft.
The downfall of Sun Microsystems has some analysis of why Sun suddenly fell:
Sun actually did sell x86-based systems in the 1980s, but concentrated its efforts on Sparc for most of the 90s. In King’s view, Sun treated x86 systems as nice toys, but not platforms that could be used to power a serious corporate data center . Sun did increase its presence in the x86 market in the years following the dot-com bust with AMD- and Intel-based servers, but it seems to have been too little, too late.
It took Sun 18 years from its creation to its peak, and it fell in two or three years. It was acquired by Oracle for $5.6 billion in 2009, which is embarrassing.
The biggest lie of the information age:
You can’t trust your intuition, but you can fully trust the data.
Looking back, almost every good decision i’ve made in my life has been based on instincts:
– who to marry
– where to live
– when to quit and so on.
Yet, the modern world would have us believe we need data for that. Don’t believe it, your intuition knows best.
Many good decisions in life are not quantified by numbers, but by intuition.
The biggest nuisance I had when I was an employee was having to justify all my decisions with data.
Daniel Vassallo, the freelancer I introduced earlier, said that the only one at Amazon who can make decisions with gut feel is Bezos. The literal translation of gut feel is gut feeling, the word is really appropriate, referring to the inner feeling of the body.
It is necessary to quantify the decisions and results of work in numbers, but sometimes it is difficult. I believe that everyone who has worked in a large factory can feel the same.
This article is reprinted from: http://catcoding.me/p/weekly-13/
This site is for inclusion only, and the copyright belongs to the original author.