It is an absolute delight to be part of the team for CODECOLLAB Cycle 2. I would be sharing my learning journey throughout the CODECOLLAB Track organized by Our Time For Tech, a nonprofit online program that empowers early career and career-changing Women in Tech.
For the next three months, we(a team of five early-career developers) will be building a complex web-application with the guidance of 2 senior engineers. The stack for our application is Rails, React, PostgreSQL and Bootstrap. We plan to share our MVP(Minimum Viable Product) with a community demo in May. Until then, it would be such an honor for you to follow along on my journey with this blog.
I remember the thrill, the Onboarding Tasks/Orientation Mail brought to me as I saw it on the 24th of February. We were instructed to set up the environment for developing the app of which I faced a lot of issues as we are to build a structure for the rest of the project.
It was enlightening for me as I learned how to collaborate effectively using the tool-GitHub. We were also instructed and given a proper walk-through of how to create our first issues, create a pull request(PR), link a pull request to an issue, and assign them to the project board on GitHub. GitHub project board is a new tool I discovered. I appreciate how it makes it easy to see what the team is working on and helps for easy distribution of tasks. We were also given a high-level summary of CodeCollab's goals.
CODECOLLAB’S GOALS FOR EARLY-CAREER/CAREER CHANGING DEVELOPERS
Improving professional team communication and collaboration skills while building software with a team.
Adequate, structured mentorship for early-career devs as they take ownership of a product.
Learning how to interpret client needs, manage requirements, and implementing projects to meet those needs whilst stretching and growing beyond current tech stacks and skillsets.
Learning on understanding and consuming technical documentation.
For the past two to three weeks, point 4 is one that I have found to be so apt and true as I have had to consume and understand technical documentation.
Before our First Sprint Retro and Planning, we(the team of 5) had a first meeting to get to know each other and talk a bit about the business requirements given.
Installing Rails 6, Node JS, Yarn, and PostgreSQL. As I had no experience with Ruby on Rails and I’m on a Windows PC, I ran into environment issues as Ruby on Rails works best in a Linux environment. I had warnings like; “shebang line ending with /r may cause problems”, the need for a different Ruby version and I ran into PostgreSQL-related errors. For some reason, my Windows environment was conflicting with the Ubuntu installed on WSL(Windows Subsystem for Linux). I tried using a virtual machine(VMware) but I still ran into Intel-V issues with my computer. It was frustrating, to say the least as it was moving from solving one bug to another.
However, I felt supported as Arit, one of the senior engineers and founder of Our Time for Tech, helped in reassuring I wasn’t alone, as I felt not on target with the tasks. Coupled with my research of resources on Google/Stack overflow, I was also helped with resources, solutions to solve the problems I faced.
Eventually, I was advised and sent a guide to get Virtual box, downloading Ubuntu in it. I was so joyous as this Virtual box worked with no bugs in setting up my environment.
It makes me glad now that I went through the hassle of setting up my environment, as it helped me to read wider about Ruby on Rails, PostgreSQL, and generally know more about my PC, seeing various possible errors and its solutions. I'm glad it has helped broaden my perspective.
About three weeks of CODECOLLAB have gone by and we are currently in Week 2 as Week 0 was our Orientation week.
During our first Sprint Retro and Planning, the App Shiftwork’s business requirements were discussed. Shiftwork will serve as an online meeting place for shiftwork-type businesses and shift-workers. We were advised then not to think about implementation but to focus on business and user needs, drawing out the MVP.
We planned out what data will be stored in the database and at the end of the meeting, we split the tasks between ourselves.
I appreciate how we split the tasks of creating the issues and communicated effectively.
As a self-taught developer(quote and unquote), who has never worked on a team, I’m learning how Teamwork is such an essential skill that offers endless ways for learning. I am indeed glad to be a part of Our Time for Tech and the CODECOLLAB track.
For this past few weeks, here is what I have learned:
Creating a rationale in the deliberation of what to do before the implementation of an app is good for a developer. It is important to know your why, putting the user into consideration. You’ve to put yourself in the user’s shoes to know if he or she will have a great user experience. I learned this from Cam, my fellow Dev, on the team.
Our goal isn’t to build a perfect, ‘beautiful’ application or stay in our comfort zones. It is more beneficial to focus on functionality than more aesthetics for this project.
Speaking up on time when running into or having issues.
Identifying and managing scope creep. It’s okay to recognize what we cannot build within a certain amount of time. Managing our scope helps us focus and deliver quality software in the time we promised.
Learning something new every day, documenting my journey/little learnings with a notepad, making necessary efforts to be on target with tasks, and knowing that no question/observation is stupid.
I’m looking forward to more learning. Thanks for reading!