Technical challenges for programmers in entrepreneurial teams

Source: Internet
Author: User

Many people have asked me a similar question: as a technician working in a startup team (or a small company), there are no technical challenges and I feel that I cannot exercise. What should I do?
Indeed, in the Internet field, the websites of entrepreneurial teams or small companies are usually not large in size, or at least start from an early age. The user visits cannot be compared with those of large websites. From this perspective, many small and medium-sized websites do not yet face these "severe challenges" such as high concurrency, high traffic, and high availability ". In addition, the functional positions of the team are not even as complete as those of large companies, and the number of people in the configuration management team is even larger than that of the entire company, it seems that when a small team is working on technology, it's easy to say hello. Is it really necessary to be arrogant?
The first thing to note is that in a bigger company, the most indispensable thing is to solve complex technical resources, but interestingly, in fact, a very small number of engineers are encountering technical "Challenges". Most engineers are doing relatively well-regulated tasks. Some people may not believe it, but you need to know that after the team has a certain scale, many technical personnel will form path dependencies, when you encounter a slightly more complex problem, you can consult senior colleagues who often give up the opportunity to solve the problem by themselves. In some cases, even they do not dare to take risks, how many challenges do you think this situation poses to them?
We have talked about complex technologies. In the past, there were some mysteries about website architecture design, large-scale clusters, massive data processing, and other topics. However, in the past few years, the information provided by related technical articles has become more comprehensive and open. It is no exaggeration to say that the technology for building general large websites is, you can obtain all the details through public technical information. Of course, with this, you have a blueprint, and you need to control the specific construction. Don't get me wrong. I'm not saying that tech people in the entrepreneurial team will not encounter technical difficulties. What if they really encounter technical obstacles that cannot be overcome at present? My answer is: Turn to the community and use the wisdom of the group. Compared with the resources owned by the technical teams of large closed companies, this is more vast space. Note: solving the problem is not the last step. We need to gradually cultivate the ability to solve the problem. If Jin Yong's novels contain the spirit of the North Ming dynasty, he must be good at serving himself.
Some people regard challenges as what they want to do. Some people regard challenges as a kind of vision. imagine things that have not been done. In my opinion, the real challenge lies in the fact that you do not want to do, do not want to change, or do not do well at present.

 You can do more challenging tasks in a startup team:

  Refactor your own codeIf you are a developer, you can always remember how to improve your code quality. To make yourself a better technical person, refactoring may be a handy task and can actually improve your abilities. With good code as the basis, it is possible to face greater system pressure at any time. Remember that small websites may develop into large websites. What technicians need is to prepare your code, yourself, and your team in advance.

  Automate daily workSome people say that the radish is too fast to clean up, and the team needs to do everything. How can I have time to reconstruct it? So, can we automate things that need to be repeated daily as much as possible, such as daily release automation? Can the testing work be automated? Can security checks be automated? With these prerequisites, you must have enough time to do what you want.

  Good Development habitsDeveloping good development habits in a team will save you time and effort. For example, if you have a lack of awareness about the use of version tools and even SVN, it is hard to imagine what kind of situation will happen during collaborative development by the team. Do not complain that the team's colleagues do not have good habits. Maybe they are in need of your help... use your actions to drive them. By the way, do you usually write comments for the code?

  Improve your productsComplexity is not necessarily the biggest competitiveness, but meticulous and exquisite sometimes make it more competitive. Many technical staff finally find that they have done a lot of features and products that are not important to users, while the most important products are less than improved. This may not be a fault of others. If you have enough understanding of products and businesses, you may drive the team to avoid detours and do more correctly.

  Improve resource usageCan I use less hardware to support the access volume supported by several machines? Are these solutions scalable? Is it verifiable? Unfortunately, I see that most small teams have even lower hardware utilization than some large teams. If inefficient code and redundant product functions are not changed, the resource utilization rate may be relatively low.

  Resource planning capabilityWhen the team is small, it is not difficult to collect information about the entire product architecture and the entire website architecture. This makes it easier to establish a global concept. Pay attention to analyzing the evolution of the overall architecture. Based on your understanding, you can anticipate future problems step by step. This is a rare opportunity to exercise yourself. By the way, have you painted architecture for your website?

  Keep learning enthusiasmI have mentioned the richness of technical resources on the network. Can you learn and absorb these technical experiences persistently? Have you developed the ability to assess the maturity of a certain technology? What, cannot I learn? The problem is that large companies also need to make trade-offs in terms of technology. More often, they are using more appropriate technologies rather than seemingly more "advanced" technologies.

This list can certainly be longer, at least it should include improvements in communication skills, passing on skills to others, shaping technological influence... it seems like a few simple things. In fact, in large companies with large teams, I think the challenges are similar. I'm not sure which one is more difficult for you to do. But if you can do all of this well, you may just look back. The so-called challenges are already a cloud.
In the end, you cannot change yourself by the environment. If you want to change yourself, the biggest benefit to you is (of course, the challenge is also great). Changing the environment will make you more painful. If you want. In addition, in a small team, your improvements will be directly reflected in the overall team. Don't forget that you are part of this team. The smaller the team, the more influence you have. When the team grows, isn't it just the time when you have more functions? From the perspective of economics, although the team is small, the per capita output may not be inferior to the members of those large teams. It's just better than a watch, but it's not as much as a plane. One day, many technical people will be proud to work in small teams.
 The challenge is not across the river, just in front of you.

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.