THORN

2018 Year in Review

年度总结

⚠️ This article is machine-translated from the Chinese original.

What I Did Over the Past Year

What Went Well

For the first half of the past year, I was essentially fully devoted to my graduation project. The topic I chose was “A Location Recommendation System Based on Deep Learning”.

The tech stack was as follows:

  • Frontend application layer: Android + Python
  • Backend application layer: Java Web
  • Algorithm layer: theano

The workload was heavy, and the algorithm models themselves had plenty of difficult points. During the project there were several moments when I was on the verge of breaking down — especially near the end, when I was about to write my thesis and the final step of the model still wasn’t producing the expected results — but I held on through all of them. Here I want to give special thanks to my senior 晓强: every time I hit a bottleneck, talking it through with him would always quickly spark inspiration. Although in the end I narrowly missed the “excellent” grade — seemingly because the scores were capped (every sub-item was an 89, and the total was 89) — I am still glad about my growth and effort over those six months, and I believe more firmly in my technical skills and my ability to learn.

In the second half of this year, I officially became a frontend engineer. My growth in these six months was mainly filling in the gaps of my foundation and broadening my technical scope. Because I lean toward practice-driven learning, some of my fundamental knowledge never formed a system, so during these six months I did a fair amount of gap-filling work. As for broadening my technical scope, I successively got into mini programs, Mpvue, Element, Quill, Electron, Puppeteer, and so on. A small regret, though, is that many of these projects could not be carried on for long, and new projects would bring needs for other new technologies, so the depth of these technologies never reached the level I had hoped for.

Worth mentioning is that over these six months I built a regular daily routine — breakfast on time, morning runs, memorizing vocabulary — which has been my biggest non-technical gain since I started working.

What Didn’t Go Well

In the blink of an eye, I have been working for half a year. To be honest, I am not especially satisfied with my pace of growth. This feeling is probably something only I can understand — the feeling of not having given my all, of knowing deep down that what I am capable of is far more than this. It shows fairly clearly in how I sometimes slack off or run at low efficiency because of my state. The other point is that, for now, I still lack irreplaceable value of my own.

2019: Outlook and Thoughts

In the new year, my technical direction will have three keywords: “React”, “Node”, and “TypeScript”. For React, I will be learning and practicing at the source-code level. Along the way, I will pay more attention to building my ability to read English documentation, which will also pave the way for getting into more cutting-edge frontend technologies. I hope that within this year I can translate at least one technical article.

Besides that, the new year will bring a change of job and a change of home. Rebuilding my daily habits and finding my own best, most productive state of life is another direction that will take effort going forward.

Thoughts on the Value of a Blog

More than once I have wondered what value my blog can bring to others. The answer came when I read 流云诸葛’s A Summary of Browser Caching Knowledge and Its Application — of the thousand-plus articles I read this year, I think it is the best. Before reading it, I had read no fewer than ten articles on the same topic. Yet when I read this piece, I still found myself admiring it sincerely.

Collecting material, tracing documents back to their sources, aggregating content — perhaps that is the value of my blog’s existence. I am not a prolific blogger, but with every article I strive for readers at every level to be able to find something in it that helps them. Before writing a blog post, I habitually read through the related articles of the same kind first, to build a macro understanding of the concept as a whole. I dig into the concept through the documentation, then look back at the articles I have read: which points were made clearly, which could be supplemented, which could be made more concise — and out of that comes a blog post.

A Corner of PWA and A Performance Weapon for JavaScript — Web Worker, published this year, are my attempts in that direction. My hope is that readers who finish my articles come away with 80% or more of the knowledge points from the material I have read.

Going forward, my blog topics will keep this series (“大前端新知”). Meanwhile, over the past six months I leaned on a lot of open-source projects at work, so I will also make time to put together an “开源项目实践踩坑” series. Finally, pieces about growth, about scattered bits of knowledge, or things like reading notes will form a “个人成长” series. The first two series will be updated in sync on my personal blog, 掘金, and CSDN. The last series will be updated only on my personal blog.


The best is yet to come.

Let’s encourage each other.

Comments

Sign in with GitHub to leave a comment. View discussions on GitHub ↗