This is a guest post from Vincent Ng. Enjoy.
Dear New Developer,
You have embarked yourself in a tech journey full of opportunities. You will encounter and overcome many obstacles and challenges along your journey. You must make the most of your opportunities and excel in them. Below are nine skills that you can practice to be a collaborative developer.
An ambitious developer has a mindset for problem solving. There are many solutions to solve a problem. You can choose a proposed solution and execute on it. After receiving feedback from your peers and colleagues, you are tasked to update your solution that will fit the needs of both the customer and business. Handling constructive feedback will make you stronger with problem solving techniques.
A good developer is someone who is curious and is interested in building something that will benefit the community. If you lose the instruction manual for a Lego model set, can you build the model based on photos? While you can research online for the instruction manual or visit an auction site to get a used instruction manual, you can challenge yourself by reverse engineering the solution based on your experience. You don’t rely on instructions since you have good instincts.
A reliable developer asks several questions to understand new stories with acceptance criteria. You try to identify any unknown outcomes to avoid future bug reports. It can be daunting to ask for help from senior developers. You can build confidence by researching for solutions and be prepared to ask detailed and specific questions. There are no boring or silly questions if you do not ask them. You can limit their time to 10-15 minutes. Both parties will be happy.
A caring developer shares their experiences to others and helps them grow their careers. While you can be a strong individual contributor at your company, you are not there to fill and make the squares green on the Github profile. A company values a team player who provides knowledge that will help your peers level up and want to learn more about these new topics. You will feel a sense of accomplishment when your peers learn new concepts.
A mentoring developer volunteers his or her time to youngsters, high school, college, or students with non-traditional backgrounds. You do not need to be an expert in everything. Your shared experience and background will help someone who is struggling in areas that you may have struggled before. You can help them succeed by showing them resources and communities that they can join.
A supportive developer who writes updated and detailed documentation is a blessing in disguise. It is an art to write meaningful documentation that engineers and non-engineers can understand. You can practice writing documentation by being a notetaker for meetings. If you worked on some code for old repositories, you can refer to the documentation to give you a refresher on these features. Stale documentation means both product and engineering teams ignored updating documentation.
A flexible developer does not mind refactoring code to make the code reusable and improves the overall product. Code reviews are important to add a safety net if the changes may cause more harm to the product. The experience of rejected code allows you to learn with trial and error approaches.
A talented developer shines their best by building in public and sharing their lessons for others to see their progress. There are many forms to communicate to the public such as blogging, recorded video, live video sessions, or podcasts. You choose the communication type that best fits your personality. You will grow your audience and people will appreciate your contribution to the community.
A community developer has time to contribute their own time to benefit others by participating in hackathons for good or making contributions to open source projects. You learn to work with different people and in teams. You will make a remarkable achievement by building a project together. You can encourage others and help them learn the SDLC and git process.
Now, you know the nine skills to be a collaborative developer. By practicing these skills daily, you will have more opportunities to do good things for the community. You can pay it forward and mentor junior developers using these skills.
Vincent Ng was born and raised in the Bay Area. He graduated with a Bachelor’s degree in CS from SJSU in 2007. Vincent is an ex-IBM intern, ex Accenture employee, and worked in several start-up companies with Avail being his latest. He am a Women in Tech ally. Vincent is also a proud dad of two daughters, Charlotte and Madelyn. They turn 4 and 2 years old this July.
You can connect to him on LinkedIn or follow him on Twitter.