When hackathon encounters full-stack engineers and hackathon encounters

Source: Internet
Author: User

When hackathon encounters full-stack engineers and hackathon encounters
On February 24, April 17, he participated in the HackAthon24 hackathon organized by Sina Weibo platform architecture. I think it's the first time I 've participated in this type of technical activity. I feel novel and passionate. In fact, I feel that the back-end engineers have little advantage in this innovation competition. Fortunately, @ Zhao Qing-Q never gave up. I accepted me enthusiastically and finally had the opportunity to participate.

I once mentioned when chatting with our predecessors that hackathon should have originated from some small activities on FaceBook. Every Friday afternoon, engineers who are not busy with development tasks will get together, drink beer, eat snacks, and get themselves high. Then everyone will brainstorm and speak freely, spoof the code of others, the architecture of some projects of the company, and the challenge to the code or architecture of others, and come up with the solution or implementation that you think is appropriate, shows an exceptionally open technical atmosphere. Certainly, this kind of routine, the fierce collision of open discussions, is very helpful for improving the architecture and code quality of the company's projects and improving the engineer's own level. Later, it gradually evolved into an activity. within the specified 24 hours, engineers formed a team to complete an independent project, which could be completely irrelevant to the company's business, it's just to realize your imagination. This activity frees engineers from their daily heavy development tasks and applies some technologies that are not used in their daily work to implement some interesting and interesting things.

Therefore, our comos team officially selected the project "a living tree" for this purpose. Besides Tong Ge @ Tian Feng haoyue, both bigbigant @ Zhao Qing-Q and I are not professional front-end engineers, it is also impossible for us to use the 2d engine cocos2d-js applied in the "a living tree" in front-end development work. In the week before the competition, due to the tight schedule of the Department's work, there was no time or opportunity to prepare for the competition in advance. So that on the day of the competition to see the official documents of the cocos2d-js (and the document is also very shi), the site to consult with Brother js syntax and other related issues, in JavaScript, such as day object month counting from 0... The development of the first half of the paragraph is still very happy, and the progress is also quite slow, so that I planned to go to the hotel to open a small time room for a while at around 12 o'clock, the final result is that I was not sleeping for a moment and kept in the code. Although I have already stepped into the ranks of the Thirty-Year-Old Uncle, I found myself physically healthy and can work together with the fresh meat who just graduated ~




"A living tree" is a kind of H5 development games implemented by js engine cocos2d-js. It belongs to its own completely personalized tree in a virtual world. Imagine a tree sprout, grow, bloom, and fallen leaves based on historical weather data. In order to fully display the weather and seasonal changes and the growth of trees, we have considered and designed many algorithms and will not go into details here. For details, see http://blog.sina.com.cn/s/blog_794d4b390102vmjn.html. At the end of the demonstration, we roughly completed our ideas at the beginning.




In fact, through this competition, I want to talk about the concept of "full-stack engineers" that were very popular in the technical circle some time ago. Some people think that "full-stack engineers" are a way for evil capitalism to further exploit poor labor code farmers. They have an engineer to do front-end, back-end, and test, design and so on should be divided into several people's work, of course, this is actually a joke. However, in today's society with increasingly refined division of labor, "full-stack engineers" have indeed been challenged by many people. However, from the actual example, in emerging Internet companies like FaceBook, project personnel tend to be a small team of several people, and the engineer's responsibilities are not only the same as coding, unlike companies like Microsoft, it does not have a single project with an independent testing department of 50 people. Similar to a small team, this project organization method is indeed very efficient in actual work. Why?

Generally, our technical staff may have two types of titles when printing business cards. One is Programmer and the other is Engineer. Although the general feeling is that there is no essential difference in the nature of the two types of titles, I think they are slightly different. Programmer encoding. It is code-oriented. It is only responsible for the code and does not care about anything other than coding, such as whether the requirements are correct, testing, and continuous integration. Engineers are problem-oriented and work to solve any project-related problems. They are not only concerned with the quality and appearance of code writing, but also have detailed documents, appropriate training and considerate gadgets that facilitate integration testing, and even learning business-related knowledge, in order to better understand the needs and put forward constructive comments on the needs. A problem-oriented engineer will not learn and use a new technology to quickly solve the current problem, A problem-oriented engineer will not try to understand the basic technical knowledge of other fields because he wants to know whether he is a front-end or backend engineer. On the other hand, my status in my daily work may not only be my own, but also a common problem for most backend engineers. The front-end work may be relatively simple, and the latter-end work is very high. However, I have heard of several front-end technology trainings by Tong Ge and learned that the current development of smart machines, multiple terminals, and other front-end technologies is changing with each passing day, today, many fields that we previously thought were simple and have nothing to do with are no longer what we thought we would have been. They are all evolving with the development of the times. Because I am also a person with a certain degree of code cleanliness, the past code is indeed loved and recognized by supervisors and leaders, and I think it can already write code that meets industrial application requirements. But in fact, most of them are in a quiet environment. No one is too busy or time-consuming, and they fully understand the tools they are using, finally, it was completed after several iterations. Then, just as a kung fu master got on to the battlefield, without the calm and one-click Cutting Strength of the usual martial arts, one face, one head came down, will the habits you have accumulated in the past become the shackles of your survival? Similarly, in a 24-hour hackathon, there are no conditions for you to design your architecture calmly, and there is no chance for you to fully familiarize yourself with the tools you are using, without time, let you debug it slowly, and even let go of common handy tools, and let go of your computer, can I still write a perfect code that I have read? If a person determines that he wants to go on the technical path, he must keep moving forward and update his knowledge system. With the growth of experience, experience will accumulate constantly, but the corresponding will become more conservative. This may be a natural and inevitable law, think about how we look at old people when we were young ~ Therefore, we must be good at breaking the barriers we have set for ourselves, embrace new technologies and new things more openly, and try to communicate with new engineers. This is probably the most important practice for middle-aged engineers.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.