Code First Girls Nanodegree Series: Top 3 Soft Skills I Learned

Code First Girls Nanodegree Series: Top 3 Soft Skills I Learned

The second article in the series - stay tuned for more!

·

7 min read

Welcome back to my second article of the CFG Nanodegree blog series. If you haven't already, please check out my first blog which introduces the series and what the CFG Nanodegree is here.

Many consider intensive Bootcamps like the Nanodegree to focus on quickly acquiring hard programming skills. However, there is so much more you learn from this environment. In this article, I highlight and elaborate on the top 3 soft skills that I learned during my time on the CFG Nanodegree:

  • Time Management
  • Collaboration
  • Technical Communication

Time Management

Evening classes

The Nanodegree is highlighted as suitable for full-time employees and students with evening classes from 18:30-20:30, which are hosted on Zoom. In my experience, classes usually give about 5 minutes for everyone to join before starting. Classes are recorded to watch again for revision and those that can't make it or have connection issues. They were usually up within a couple of hours of the class ending. Sometimes the classes ended early and a few times they ended a bit later due to questions or extra tips from our tutors.

With there being 4 2-hour classes a week, totalling 8 hours a week, there was a distinct need not to fall behind as once you do, it is difficult to find the time to catch up. For example, I worked full-time during the course and missed a few classes when I needed to work overtime into the evening. I dreaded this happening on a Monday as the classes are structured to be incremental, building upon each other as we learn more and more advanced concepts. Missing a Monday meant I would be unlikely to fully keep up with the rest of the classes that week, building on foundational content learned in the Monday evening class.

Therefore, time management really became a key skill to hone quickly in order to make the most of the course and resources available.

Balancing work and a social life

In order to manage your time well for such an intense course, you need to learn how to balance your work and social life with your studies. Throughout any career, there will always be an element of personal development with a need to study alongside work and socialising, so balancing commitments is always a great skill to improve.

However, particularly careers in the field of technology require a firm grasp of current advancements. It is safe to say we all know just how fast the tech industry changes, so this is no easy feat!

How to Improve

I suggest taking 15 minutes every day to read articles, even just headlines of key tech news across the world on your chosen topic, e.g. Robotics, AI, Web Dev, or a specific language like Python or Javascript. This means you are first to know of any key advancements in the field such as innovative AI company DeepMind making its first profit and any major updated to a language you may code in. I suggest also carving out a set time each week to spend an hour tinkering with any new relevant software features or researching key articles you've found that week in more depth. This type of information will be invaluable when preparing for job interviews and networking.

Collaboration

Github & version control

If you have completed any other CFG 8-week short course before, you will be aware that the final assessment is a group project. The Nanodegree is no exception with the final group project being a key part of the final grade, accounting for 40%. Groups were to be no less than 4 and no more than 6 so the workload could be quite evenly spread between team members.

I used the term "collaboration" instead of "teamwork" as collaboration is really what these projects need you to do. Everyone has different schedules so you can't necessarily all meet together at once, but you should all be comfortable adapting and collaborating with your team members.

Nothing proves this more than Github version control. Generally, the idea is that you will all code parts separately or possibly in pairs. In order to submit you need to merge and commit the file changes to the main branch of your group Github repository. Essentially, doing this process right ensures you don't overwrite or delete anyone's code, only adding in the edits or additions.

I recommend this video, which helped me to understand the basics of Github.

Communication

As you can imagine, communication is vital for projects and this kind of version control to be successful. Especially with courses being virtual or at least mainly virtual for the foreseeable future, it is important to get this right with your team members. You also need to remember that everyone on the course has different commitments outside of the course and may not be able to put as much time in as they would like to. I highly recommend each of you making time constraints clear to your team from the start. This creates an atmosphere of understanding straight away and reduces the possibility of any hostility between members of the same team.

Remember the group projects are not a competition within or between teams!

Having experience working in virtual teams and with a range of cultures, my advice is to aim for explicit communication. Having things in writing, like a summary of group meetings is also a great way to ensure everyone agrees on what has been discussed and what the next steps are.

How To Improve

This skill is vital to understanding how you may be expected to work within a team at work. Personally, I would increase the importance of collaboration within a tech role compared to others due to the nature of some software used such as Github. Having evidence via a group project like this allows you to show a firm grasp of version control and minimise the likelihood you will cause any issues working directly on project code for work.

Another way to prove good collaboration skills would be to build in public where you can and contribute to Open Source projects. October is a great time to start with a wealth of resources and guides for beginners via the Hacktoberfest event.

Technical Communication

Tech vs non-tech

Building on my advice for general communication, I found my skills for more specific technical communication challenged and radically improved over the 12 weeks.

Before I say how I want to clarify the distinction between general and technical communication. Technical communication does not have to refer to programming discussions. It is a key part of any role in any industry and can be anything from creating or updating documentation for a workflow or process (technical writing) to simplifying instructions on how to access a feature of a website. I like to think of it as when you need to simplify a more complex set of actions, steps or concepts. Being skilled in this is a great asset to any field, but with the pace of technology, it is all the more important and therefore impressive to potential employers if you can easily demonstrate this.

I felt the Nanodegree challenged my technical communication skills as the classes were virtual. Each of us had to be that much more expressive and outspoken than in an in-person setting to get clarification on anything, ask a question or get help with your code.

How to Improve

  1. Look at the documentation for the coding languages you use and how they simplify sometimes complex instructions in a concise way.
  2. Read other people's articles like here on Hashnode! I find it fascinating to see how different people portray and explain key concepts. I did this when I felt I needed to better understand the SOLID programming principle for our Python classes. I found snippets from a few different articles that solidified it for me.
  3. Test it out! Try and explain what you are coding to your close family and friends. It really challenges how much you really understand yourself and maybe poses a few questions or directions you hadn't thought of yet!

This Series

That's it for the second article of my Nanodegree series. I hope you learned something and found my tips useful, but there's more!

Below shows where we have gotten up to so far:

If there is anything not listed here you would like covered. Please let me know!

The next post will be about key resources I wish I knew of earlier.

Did you find this article valuable?

Support CodedByKayla by becoming a sponsor. Any amount is appreciated!