Novice programmers into the technical team must do 7 things, quickly learn!

Source: Internet
Author: User

Focus on the "lab building" and share a project tutorial every day

Each web developer enters the development team early in his or her career. How to make yourself work more efficiently and be the person the other team members want to collaborate with. Here are 7 skills you need to master, and believe that the following content is also helpful to you who are looking for a job.

Text total: 2340 words

Estimated reading time: 6 minutes

Skill 1: Learn to initiate GitHub pull request & Code review

Unlike working independently, the whole team is responsible for ensuring that the project is high quality, tested, and bug-free code as part of a technical team.

A good technical team will conduct a code review before the code changes to ensure that the code quality meets the requirements. This review is typically done by people who are not involved in writing code, they need to check the proposed code and make progressive changes, and look for possible problems.

Requesting code review before the new Code enters the main branch is called a "pull request," and a good technical team will not allow code without a pull request to enter the project.

Because of the frequent need for code reviews, GitHub provides advanced features that allow teams to easily perform reviews.

The following is an example of a GitHub pull request from a student in the Firehose project:

(Click the picture to enlarge)

You can see how the instructor uses inline code annotation on specific lines of code to help students better organize their code.

Whether you want to contribute to an open source project or work on a technical team, you should have the following skills:

Create a new pull request and submit code changes to the team

Look at other people's code and write down what you think might be overlooked.

Respond to other people's concerns about their code by GitHub platform or code changes

Responding to the feedback of your code is critical to becoming a productive developer. By responding to feedback on GitHub, you can reap a lot and grow into a more powerful developer.

Skill 2: Learn to split problems

Each team member can multiply the number of code, and in order for all the people involved in the project to be rewarded, the big task can be divided into many small tasks of parallel processing.

For example, if you are doing a blackjack game yourself, your task is to achieve the following:

Create a Blackjack Game

If you have a team to build this blackjack game, the same project can be divided into small chunks that each member can execute synchronously.

Create a login page for your Web application

Store e-mail messages for users who have a MailChimp account

Build a deck of cards in your code

Support User Login and exit

Optimize Mobile End Pages

By splitting the task, the team can achieve the final goal in stages.

Even in the area of specialization, most projects are difficult to complete, as additional functionality is often required for existing applications. The list of features that have not been built is estimated to take a year or more to complete.

Because the technical team often handles these tasks, and this is a long-term process, it needs to be step.

Skill 3: Implementation of test-driven (Test-driven) development

Working on a team, you need to have a strong test suite, not to do all of your coding work on your own. This is because projects can accumulate a lot of code, such as 10000 lines or more, and can be very complex. Faced with this code, it is difficult to understand every detail for someone who has not been directly involved in the application coding process before.

Writing tests while building functionality can prevent other team members (or future self) from destroying the application in unpredictable ways.

The entire test suite takes more than 10-20 minutes to run a complex project is a normal phenomenon. Professional Web developers often use the continuous integration tool to help run test suites that automatically test each pull request.

Skill 4: Active communication Avoid merge conflicts (merge conflicts)

Merge conflicts occur when two team members try to make conflicting or conflicting changes. As a team, good communication can help avoid conflict.

Here is a scenario that might cause a merge conflict:

Marco and you are doing the same project (landing page for the Firehose project), at which point the page title is: "Your software career starts here".

If you change the title to "Your software career starts today" and Marco changes to "Start your software career here," you end up with a merge conflict. In short, one of you will not be able to send code changes to GitHub until you have solved the problem.

In this case, if Marco and you can better communicate the issue of the title change, you can avoid this kind of merge conflict altogether. Conflicts are unavoidable in many cases, especially when dealing with complex projects. Learn how to stay calm and communicate actively with other team members, fully understand their thinking process and resolve conflicts and ultimately achieve their goals and objectives, which can only be exercised through a team coding.

Skill 5: Sharing information with meetings

Because communication between technical team members is very important, most teams often hold meetings, commonly known as "stand-ups", or "standing" meetings.

During the meeting, members of the technical team generally share the following information:

What did you do after the last meeting?

What is to be done before the next meeting?

The meeting time is 10-15 minutes and everyone on the team needs to share information in the meeting. To speed up the progress of the meeting, members will focus on the most important issues. By having each member spend 1-2 minutes talking about what he is doing, other team members can help identify potential problems and make the members less likely to take detours.

Skill 6: Provide constructive feedback through pair programming (Pair programming)

Sometimes when you're working on a project, you find yourself dealing with very complex problems. It is necessary to work with another team member at this time.

Work with another teammate to solve the difficult coding problem, which is called pair programming. During pair programming, a member of the team sits behind the keyboard, writing code and "driving" the interaction. The other person will watch the coding process and provide real-time feedback next to him.

Pair programming helps you to improve your ability. Beginners may be afraid to write code in front of others because they will provide feedback based on the code. A collaborative approach to pointing out potential problems in someone else's code is also a skill to learn.

Skill 7: Learn to work in a changing environment

The biggest challenge of working in a technical team is that you need to jump out of the comfort zone and get into an environment where everyone is desperately writing complex code, and can't get crushed in the process.

It's important to work on a team and have a lot of code lines changing rapidly every day, always focusing on the tasks you assign. Regardless of how the code develops, you have to trust your team. You need to constantly update the code to make sure you're using the latest code.

So how will the skills of these technical teams help you get your offer?

There are often questions about teamwork in the technical interview process. The hiring manager is particularly interested in the challenges you face in your team and how you can overcome these challenges. As a developer and technical team member, your answers and experiences can give them a real, valuable reference.

If you are asked to describe the challenges you have experienced in teamwork, at least prove that the hiring manager is interested in you. But if you say that you have never had any problems with cooperation, the person who evaluates you may feel that you are either inexperienced or not telling the truth.

Instead, you introduce specific collaborative experiences, clearly understand the importance of communicating with other team members and how to overcome difficulties in the case of problems, which is very appealing to hiring managers.

You should keep the goals of your team project in mind and focus on learning as much as possible in your group projects.

Author: Ken Mazaika

Translation: Sugarain

Original link: http://blog.thefirehoseproject.com/posts/7-key-skills-youll-develop-working-in-a-technical-team/

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.