On-boarding Tips for WSO2 IAM Team Newbies

Isanka Rajapaksha
4 min readMay 13, 2021

Congratulations on joining WSO2 IAM Team! Your skills and talents will be a great addition to our team and we look forward to your input!

Joining with any new company with an established culture and programming practices can be a daunting experience. As you new to the team, you may have confusions on what are the standard ways and best practices to this thing and this thing etc. Let’s clear all the confusions. Software development is not just about coding, it is about doing things in a standard way. Our team also has own procedures and practices that we’ve been using and improving for years.

I’ve listed out the best practices and some useful tips worth knowing before writing a good piece of code.

Code Quality Tools

A coding standard makes sure that all the developers working on the project are following certain specified guidelines. The code can be easily understood and proper consistency is maintained. Consistency has a positive impact on the quality of the program and one should maintain it while coding.

Every new joiner is very excited to contribute to the product with some interesting codes. But before that, you may integrate CheckStyle and Findbugs plugins to IntelliJ IDEA to improve the quality of the code and to minimize coding errors.

CheckStyle Plugin — WSO2 has created a code style template for apply Best Practices easily. Configure wso2 code style template with the plugin. Your code will be graded on style based on the configurations set up in the plugin. This plugin allows you to easily spot violations so you can avoid losing easy points on your code.

Findbugs plugin — FindBugs is a defect detection tool for Java that uses static analysis to look for more than 200 bug patterns, such as null pointer dereferences, infinite recursive loops, bad uses of the Java libraries.

You can follow up this blog by Sominda Gamage to configure CheckStyle and Findbugs plugins to IntelliJ IDEA.

WSO2 Copyright License

The license header typically describes a project file’s permitted usage and ownership. You have to make sure every file you write includes the WSO2 copyright license. After configuring WSO2 license header to your IntelliJ IDEA project files, you don’t need to worry about more on htis.

Please refer this blog by Sominda Gamage to add and to use WSO2 Copyright License in IntelliJ IDEA.

Remote Debugging WSO2 products

Every new joiner first has to go through the product code base before starting any improvement. Remote debugging would be definitely useful when you understanding the product scenarios with the code base.

Go through this blog by Anuradha Karunarathna and this will help to setup remote debug for WSO2 Identity server.

Best Practices in Coding

If you are someone who is familiar with coding, then the concept of coding standards is nothing new to you. You may be a strong supporter of these guidelines or a freedom fighter who believe that code is a form of expression. Whatever the case may be, it doesn’t hurt to look at some of the best practices when it comes to write a good piece of code.

Comments and documentation

Perhaps one of the first things you learn as a developer is to comment your code. At first it may seem like a waste of time, following the mentality of ‘If they are a developer too — they can understand it’. While it is true some of the time, commenting your code and providing proper documentation will guide the other developers through the algorithm and logic that you implemented. But don’t get carried away and comment every line of code! Obvious code should be left as is.

Consistent Indentation

I assume you already know that you should indent your code. However, it’s also worth noting that it is a good idea to keep your indentation style consistent.

Line Length

In the WSO2 we avoid lines longer than 120 characters since they’re not handled well by many terminals and tools.

Please refer this link for more details on coding standards(comments, package and import statements, wrapping lines, white space, try catch Statements etc) and examples for those.

Contributing to Identity Server

Every software development team has their own processes that that they’ve been using and improving for years. Please refer product repository structure, coding process and code review guidelines documents and get an understanding on the product and processes before write a good piece of code. Prepare yourself for an exciting and thrilling journey filled with code, best practices, and more code.

Happy Coding!

Sign up to discover human stories that deepen your understanding of the world.

Isanka Rajapaksha
Isanka Rajapaksha

Written by Isanka Rajapaksha

Software Engineer | Ufinity Pte Ltd

No responses yet

Write a response