cool hit counter Will you still be writing code after 40?_Intefrankly

Will you still be writing code after 40?


This is an experience sharing article written by a developer who is over 40 years old and lists some of his experiences as a software developer for almost 20 years. Many parts of reading this will make you wish you had understood it right then and there, so it is highly recommended that both newbies and veterans read this one.

It's a long story, and it starts in 1997. It was a nostalgic time (FF7 was released, Microsoft took a stake in Apple, the Titanic movie was released), and it was the author's first year as a software developer. His first job was working in ASP and using EditPlus on Microsoft's platform. Over a decade later, the author has held six jobs, including being fired twice, published two books, and engaged in a number of speaking engagements. He has compiled some of his tips for young developers (or those who aspire to make software development a lifelong career), listed below.

1. Forget The Hype (forget the hype and craze for programming languages and architectures)

Quite a few new languages and technologies come and go, and the author is not telling you not to learn new things, but not to panic or give up on yourself because there are too many new things. Keep drilling down on what you're currently studying, and you can pick a few projects each year that you're interested in learning more about.

[On the contrary, I myself].Various back-end and front-end languages come and go, I spend my time studying. Python( will last), Ruby,Scala( will last) together with Golang( will last)。 Through the use of Golang More time to understand the system architecture and face problems directly, Make writing code more fun。

2. Choose Your Galaxy Wisely

To maintain the meaning of the original, I'll use the word galaxy. This means that you should be careful about the technologies you study and work with, for example, the Microsoft family (general: .Net, C# ....) or the Apple family (Objective C++, Swift ... ). Choose your favorite galaxy carefully, as that will affect your future development.

[On the flip side, myself]: the last ten years have been mostly for the Microsoft galaxy, and now it's mostly the Ubuntu galaxy on the back end, with various back-end programming languages being my main focus at the moment, and of course Docker-related technologies.

3. Learn About Software History (learn about the history of various software)

The author believes that if you like a programming language, an architecture, you need to get a good understanding of its origins and story.

[in contrast to myself]: if I like Golang, for example, I should be aware of some of the following issues.

Who invented Golang?

Ans: Co-drafted by three internal Google gods, Robert Griesemer, Ken Thompson (co-inventor of C) and Rob Pike (co-inventor of UTF-8), in 2007 within Google.

What is the main problem he solves? Why couldn't you do it before?

Ans: According to the first Golang Talk

The reasons are.

● Go fast!

● Make programming fun again.

● The world is changing, but the system language hasn't changed in a decade.

:: System languages often take too long to compile.

Why it couldn't be done before: (it couldn't be done on the old programming language)

Adding a new function library is not a step in the right direction.

The whole architecture needs to be rethought to develop a new programming language.

What is the current state of the art on this technology?

Ans: Golang is currently 1.6.2 (2016/05/03) and supports HTTP2 and the suite is available on mobile through gomobile.

4. Keep on Learning! )

Whatever new technologies or programming languages you like, you should keep learning them, and it is recommended that.

Learn a new programming language each year.

Read six books a year. (The authors recommend Peopleware, The Psychology of Software Programming, Facts and Fallacies of Software Engineering, Agile!: The Good, the Hype and the Ugly, and Rework with Geekonomics, all good books. )

[On the contrary, I myself].

Programming languages section: 2014 (Ruby, Scala) 2015 (Go, Swift).

The reading part: I don't read more than six books per year, but I have read a lot of papers and have been on some MOOCs.

5. Teach (instruct others)

What is meant over here is not necessarily a classroom session, you can write a blog to explain the new things you are learning, because teaching is the best way to learn.

[On the flip side, myself]: luckily blogging never stops, and personally I think the process of writing blogs allows me to constantly review the parts I understand and figure out all the details (hopefully!). ), but would still like to be able to coach others more (like meetup or talk).

6. Workplaces Suck

Don't go expecting software companies to give you any career plan, instead many companies will consider you as another kind of laborer and will only put you in the position you are good at, so there are also articles about software companies turning into sweatshops. The authors also argue that open seating is one of the worst designs (using the word "cancer") for software workers who need highly cerebral work. And as for the work assignments, the author also suggests that you should have a good understanding of what each task entails. If you have any questions, you should bring them up for discussion. It's not good to blindly follow something you don't understand, and you should resist authority or leave your job at all costs.

[On the contrary, I myself]. I've always been interested in any” unreasonable” The task assignments will all have an opinion, Even the constant protests。( Of course it could all end badly!) But if that's the reason for not bringing up, So what do we have left??

7. Know Your Worth (know the market value of your self)

This one is for everyone to fully understand their market rate (aka salary), according to this article usually a software engineer should be able to create ten times the value of his own salary grade. In fact it may be much more than that, so the author suggests that we be brave and go for more pay, even you can make your pay grade public so that more people know if you are undervalued (or overrated) anyone who (thinks they) have your same abilities should get the same deal.

[In contrast to myself]: It's a really hard thing to do, and the easiest thing to reduce after staying in a company for a long time is the rate of salary increase. This thing still has to be studied hard to make yourself more marketable. At the same time we need to constantly examine whether we can create ten times the value of our salary ourselves.

8. Send The Elevator Down (accept any advice with an open mind)

My reading on this side may be different from the author's original. He did mention the advantages of color and race, but I was thinking of your position, where you may hear a lot of advice (or criticism) from minions or juniors. Don't be quick to try to refute or resist, but after a full understanding, perhaps be honest that your opinion may have a blind spot, and even apologize and quickly fix it if necessary. As many books have mentioned, "You must hire an employee who is better than you so that you can leave things to him and you do the tasks yourself that require a greater vision. 」

[On the contrary, I myself]. After participating in the community, Most likely to feel this way: So many admirable juniors., Everyone has a vast and clear knowledge。 We don't need to deny it., Not to mention the need to pick on or criticize, We have to be humble enough to accept and absorb, Be our own sustenance。

9. LLVM (a free software project, a compiler infrastructure, written in C++)

The authors believe that LLVM will be the next major galaxy for the information industry, and there are already many programming languages that support LLVM. So the authors suggest that we can spend some time to understand and perhaps learn the relevant programming language.

[On the flip side]: although I've learned both Python and Swift, they're not yet one of my most hands-on programming languages. This one part I will keep in mind and study.

10. Follow Your Gut (trust your gut)

NET would lead the way for the next few years, and by the launch of the iPhone in 2007, the author knew that his technology would be the trend for the next few years.

Of course, this is the author's intuition. But you should also fully trust your intuition and work hard to pursue and learn from it.

[On the flip side, myself]: I started learning many different programming languages in 2014: Python, Ruby, Objective C, Java, Swift, Scala, and Rust. Finally, I learned Golang, which I intuitively believe will be one of the most important programming languages for the Server-side (or Service-side), so I will try to learn it.

11. APIs Are King

It's important to have a good API design, not only for communication between server and client, but also for good software quality. It is also suggested that chunky is better than chatty (simply put: don't break up the API so lean that the API call needs to go back and forth quite a few times. )

The authors also recommend not relying too heavily on REST and not looking at socket.io, ZeroMQ, RabbitMQ or Erlang. And should also start setting up their own bots.

[On the contrary, I myself]. No thought., originally chunky design guidelines are surprisingly better in some situations than chatty better, That's something to learn.。 I have my own bot set up to help me with the nitty gritty of daily server maintenance。

12. Fight Complexity (simplifying the complex)

Always approach everything with the KISS principle ("Keep it short and simple"), and there are a number of tools that can help you make design simple when faced with difficult or responsible tasks.

[On the contrary, I myself]. I've always thought that the more capable a person can be, The more you can explain complex things in a simple way, Or write it as a simple piece of code to implement, This is an ability we all have to keep learning。

Conclusion

"Age will never be an issue, as long as your heart keeps pushing you to keep writing code and keep making new things, you'll always be young. 」

This is the conclusion the author gives us, and he also wants us to keep a young heart and keep learning. We won't know what's coming, but he wants us all to remember those spirits and move forward with a smile.

Excerpt from inside


Recommended>>
1、ICE Summit 2018 hosted by NUS and organized by Bplus is coming up
2、Introduction to gobox
3、Xichuan County Xichuan County held a meeting on network security and information work
4、Which brand of parking meter handheld is the best
5、Go to Advanced Real Name if youve done the Viacom Exchange

    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号