Since our source code is stored on Github, you need a Github handle to contribute. There are two options:
$ git config --global user.name <YOUR NAME>
$ git config --global user.email <YOUR WORK EMAIL>
This way, you build your personal Github profile while doing commit on behalf of the company.
We also recommend you to update your Git config locally as follows, see why here:
git config --global pull.rebase true
git config --global fetch.prune true
git config --global diff.colorMoved zebra
Every team member has their preference but we generally use VSCode. Please also install a prettier plugin to make sure the code you write in any project is well formatted.
Software engineering is much more than writing good code. Ultimately, software should help a company achieve its goals and make money, both from new and existing sources. If it doesn’t do that, it’s not fulfilling its purpose. When software developers understand the business better, they can ask “why” more often. They can question the requirements and design to understand where the project fits into the business’ overall goals. With this knowledge, they can make informed decisions about the product based on data. By being more engaged, developers can earn the client’s trust, take more ownership, and hopefully create a successful product. Here are some key traits of product-minded engineers:
Imagine a situation where 60% of users are on small laptops, but the development team uses 4K retina screens. And they discovered that the content they had developed was too big for the average user’s smaller screens and was forcing them to scroll.
Understanding the user base in this scenario can lead to better product development. Knowing how users interact with a product can help developers push back on client requests or suggest better resource usage. Software engineers should also regularly review user analytics to understand the audience and their behaviors. Tools like Google Analytics and error reporting help with this.
We maintain flask-react-template and react-native-template to bootstrap new applications for web and mobile respectively. We recommend you to make sure you understand the templates, and more importantly “why” behind the architecture decision made. These two videos would give a basic overview:
We encourage you to raise your PR daily, push your changes, once you are done for the day, a PR on Github to merge these changes against the master/main branch. In general, we recommend you to make sure you follow below guidelines: