People often say: read your diary, as if in conversation with the past. In the morning on the train with half a year ago to their own conversation, not enough, and began to talk with the public number of their own dialogue. In 2015, I didn’t produce much on my wechat account, but there were plenty of articles worth rereading.

For novice programmers, “How to Choose A Job” reminds you of the importance of being measurable and scalable, and reminds you to choose your industry, boss, and team carefully. The “Programmer Productivity Guide” may help you grow faster, but the “Programmer B Guide” is a total laugh.

As your voice on your team grows, you may need the Tech Manager’s Startup Toolkit to build your team’s tools. Check out “Talk About Engineer Culture” to think about exactly what culture you want to bring to the company and how to “build an exploration-friendly work environment.”

A good software engineer should not be stuck in a language or a technology. Only by daring to explore the unknown world can he have a deeper understanding of the pros and cons of the technology at hand. You might want to read up on “How to Learn a Language” and then patronize “Disruptors’ Games: Programming Languages” and “Software Reflections.” It’s a little homage to “Hackers and Painters” and “Seven Weeks of Seven Languages.” Next up, “Golang 5th Anniversary”, “Elixir: Elixir or All In Name?” “And” Javascript: Machine Language of the century? It goes straight into a specific language. “How to Learn a Language” and “Golang 5th Anniversary” were written by me last year, and add up here. I thought I was also writing articles on Clojure, Haskell, and Rust, and went through the repo where I had placed the articles, only to find drafts. Maybe next year, maybe not.

More important than words are thoughts. “Timeless Charm”, “The Power of Laziness”, “Software Madness – Don’t Go Gentle into that Good Night” all pay homage to functional programming (FP), and now I write javascript myself that can FP, FP. In fact, I should also write pattern matching and recursive at the language level. I’ll leave it for 2016. “Software Design Chatter” is a bit of high-ground nonsense.

As anyone who makes systems knows, sometimes the more constraints, the easier it is to design and develop. Embrace constraints is all about that. Now we are in an old Moore’s Law (CPU/ memory doubling every 18 months, etc.) invalid, the new Moore’s Law (the number of Core doubling every 18 months) in the era, so the ability of software to deal with concurrency is more and more valued, FP natural lovely suitable for concurrency, and Erlang actor model, Clojure’s STM, Golang’s CSP, and javascript’s Event Loop are all great tools for handling concurrency. We know that the asynchrony that comes with concurrency is difficult to deal with. Some are digested at the language level (Erlang, Clojure) and some are resolved by dealing with the idea of asynchrony. “Promise: Give me a promise, I’ll give you a promise “is javascript, and Observable is a universal protocol that you can’t miss:” Talk about FRP and Observable (1) “and” Talk about FRP and Observable (2) “.

As a program ape or siege lion, a species that needs to work hard to find food, it is not only able to write papers and articles with ideas, but also able to go into details and solve problems. “Write good REST apis,” “From a developer’s perspective: Packaging and deployment,” “Making servers run faster is more than switching programming languages,” and “Software Performance Tuning: Data, Or Concept?” All worth reading. Security, of course, is a hot topic: “Network security in application development” and “How to store passwords in the correct posture for Internet projects?” Maybe it’ll wake you up to safety. There are times when life forces you to deal with difficult problems, such as parser, which is hard to get around for most systems. I hope this article “How to Write a Pleasant Little Parser” will help.

I have to say that the last three or five years have been a time when Data Center has moved to the cloud. Instagram’s story of a dozen people supporting hundreds of millions of users makes IT the first choice for new startup teams to put IT in the cloud. We can expect that the industry will be more than happy to see app developers with extensive experience in AWS, Azure, and even Aliyun. “Why don’t you use AWS, or do you need to know something about AWS?” And “Into the World of AWS RE: Invent,” “Insight into IAM and Access Control,” “AWS and IAM Q & A,” “Talk about AWS Lambda and Serverless Architecture,” and “S3: “More than Storage” dissects AWS services bit by bit. These articles may look a little naive in retrospect, but they are a testament to your growth.

Life can not help bumping into a variety of products, if you are a lover of new things, then, in the “product experience: Beepi”, “when the car can drive itself”, “subversive game”, “Botwall: bot Firewall? “And” Soylent, the future of food? And “Soylent Weekly Test Report,” where you may find products and services you like.

Many people are curious about my working life in the United States. Check out “A Thousand Miles”, “Travel South”, “Travel Without Border: Seattle, Portland and more”, “Portland Marathon, a Feast for all” and “Paramount, MGM and Lions Gate”. After reading this book, if you want to know something about how to get the opportunity to work and stay in the United States, serendipity should not be missed.

Of course, in addition to all the articles listed above, my new book, “Tuke Startup,” was officially published in December this year. Interested friends can buy in JINGdong, Amazon, asynchronous community and other channels.

I hope you had a happy, fulfilling and growing 2015. If not, scan these articles, and at least for the last two or three days, you’ll feel happy, fulfilled, and grown! 🙂

Welcome to subscribe to our wechat account programmer_life. Each article strives to be authentic, Beijing time around 12 noon, West time around 8 PM to meet you.