Onboarding Onto A large CodeBase.
In the deferral program, I got the chance to work on a product within a team. Well, that sounds fun but its a lot of dynamics that should carefully be learned for one to be able to deliver value as a team member.
The first day into the program, I was introduced to a repository on GitHub with a shell product to be developed into a fully functional one. The first thing to pop up in my mind was “wow so little time to onboard with new technologies”. These are in theory easier than what I was accustomed to but boy are they strange if you only have like two days to fully understand how they work.
Being EPIC, I rushed to my favorite blogs (not docs because I hate them so non-practical in most cases) and caught up to speed(pulling late nighters). For pure understanding though, I had to get in touch with the rest of the team members to help me iron out the grey areas and this worked fine. The next few days, I found one clue led to the other but mostly team members did a good bail job.
If you were about to exit the reading, stay put because I haven't even told you what the product was. Well, this product is publish-type of web application for authors to get creative and kill the world with their beautiful Ideas. Its called the Authors Haven and in case you are an author check back here in a few weeks for the invite link.
The product packs numerous features that most current world-class apps operate with. Yet this is true, creating it that way requires the developer in this case “moi” to know Python as a language for the back end with a specialty in Django (Django Rest Framework). One should also be able to work with next-gen databases like PostgreSQL for proper persistence of the application’s data. Writing Unittests to constantly check the functionality of features before they're labeled finished.
Due to the limited number of team members but a very complex application in the creation, one is expected to be full stack and this means I must know (which I do by the way) how to work with front end technologies like; HTML5, CSS3, CSS frameworks (Semantic UI, Bootstrap, Materialise) for designing cool looking application skeletons. However, to make this fully functional one needs Javascript, in this case, React.js framework or React Redux.js for fluid front end functionality.
Well in case you want to be in a position to be successful working on this product, you need to learn by doing not just reading documents because programming is practical and probably one will learn faster doing it than just reading about it. Hope it was a nice read thanks for hanging around.