Read Between the Lines of Code: A TribalScale Co-op Story

Odianosen Okojie
TribalScale
Published in
7 min readApr 30, 2021
Photo by Joshua Aragon on Unsplash

As I’m wrapping up my co-op term with TribalScale, I thought it was necessary to share some of my perspectives and experiences I’ve accumulated in these four short months working as an Agile Software Engineer. It’s a reminder to myself but also a guide for incoming co-op students. Here are a few lessons I’ve learned which I’ll expand on in this blog:

  • Write it down
  • Programming is hard … kind of
  • Stop apologising for doing your job
  • Put yourself out there
  • Branding, branding, branding
  • Prioritize your mental health

Write it Down

I decided to borrow a friend’s idea and make a daily log of the things I learned during my time with TribalScale.

To me, this was so important because I wanted to be able to remember certain things that happened over the course of my term here. Also, it makes it much easier to write about your work experience at the end of the term — which is super helpful for resumes.

I used OneNote and roughly logged in only the important or noteworthy aspects of the day on the job.

Rough excerpt from my OneNote

Was I consistent? Mostly.

Although I lost some steam near the end of the term, I know I did a decent job logging things in. Before I would have piled on the pressure and self-criticism but I recognize that it just means I have more room for improvement.

Currently, I’m making a work log template in Notion that I’ll post in my Medium bio in the near future. I’m hoping it will make it easier for me and others to easily document their experiences however they feel like.

Programming is Hard… kind of

There’s a common sentiment that is often shared with me: It’s so easy to get a programming job.

It makes sense to me, given all the bootcamps, online courses, and lack of barriers to entry. However, while you may get your foot in the door, the path upwards can be intimidating and gruelling.

Firstly, the amount of tools and softwares you will encounter as a programmer is simply hilarious. From my time here, I learned and used the following to various degrees: HTML, CSS, JSF, React, React Native, Jest, Git, CodeCommit, Bitrise, Docker, PivotalTracker, Jira, Cypress, GraphQL, and Apollo. To think that’s just in a few months working on just two projects.

This doesn’t even show all the coding fundamentals you have to adopt to understand the intricacies of the technologies being employed. The good thing I found is that once I started to grasp the basics, progressing felt less like walking up a skyscraper, and more like cycling up a decent sized hill.

It took me almost a month before I was comfortable and knowledgeable enough to make a Pull Request (PR) on my own. Now I’ve made more than I can count.

I did my best to learn outside of work hours to make tasks easier for me. For example, by teaching myself React, it made it easier to work on React and React Native aspects in the project I was assigned to. In addition, I used this newly found knowledge to develop an online portfolio from scratch. You can view it here:

https://ookojie.github.io/odianosen_portfolio/

Stop apologising for doing your job

It’s so easy to feel like you don’t belong in a position — especially when you’re surrounded by professionals who effortlessly churn through such complex tasks. I found it hard not to feel like an imposter sometimes when it seemed like what should be the simplest things just flew over your head.

That’s the thing though — they’re professionals. You’re not. As a co-op student, your job is primarily to learn. It’s easy to agree now as you’re reading until a suppressed “sorry” slips out when you’re still trying to understand what your colleague is explaining to you.

Imposter syndrome is real and it has a vampiric effect on your morale and subsequently your performance. You have to remember that you can’t be too hard on yourself. If you’re putting in your best — that’s enough.

You are enough.

Put yourself out there

The status quo in development practices at TribalScale heavily involves the Agile method of pair programming (virtually, as of now) — with one person “driving” the actual coding and the other person “navigating” in terms of guidance and reviewing code. This is a great process for less experienced developers to gain a lot of knowledge in a short period of time.

However, you need to remember that while you may observe a Git wizard in action or passively gaining skills in pragmatic TDD (Test Driven Development), you still need to actively throw yourself into the work and not just be content with watching from the sidelines. Your progress rises exponentially when you tackle problems head on in the code as opposed to just watching someone else do it.

Basically, don’t let the partnership degrade itself to a “Watch the Master” situation.

You also shouldn’t limit your sphere to just programming. While it was my primary job to write good quality code, I realised that there was so much more to working here at TribalScale than that. The Product Designers, Project Managers, Directors, QA Engineers, with such interesting jobs and processes in their respective teams that I would not have found out about without talking to them.

Don’t take for granted the network of amazing, highly-skilled people that you could interact with. Being able to learn about their experiences and perspectives and develop new ones with them is a truly underrated part of work. However, this starts from you taking the initiative to consistently put yourself out there.

Don’t let fear rule you

Get out of your head and get over yourself because in reality, a lot of the things we fuss about before taking action don’t really matter:

  • That hangout that you want to have with your co-workers but you never initiate because you’re scared of being perceived as too forward;
  • The issue in the work process that drives you nuts but you hesitate to bring up because you don’t want to create friction with anyone;
  • The ideas that will never see the light of day because you think, for some reason, that people will view them as silly.

One of the principles that is strongly encouraged here at TribalScale is the courage to “fail fast”. And it’s very important to inculcate that mindset in order to take effective action to reach your goals, in the face of fear.

So be human. Acknowledge your feelings of fear, question them, and ultimately push against it by taking a shit-load of sensible risk.

Branding branding branding

People who observe me at first usually get the impression that I’m an introvert. For a long time, I was convinced that I was inadequate or at fault for not being the loudest in the conversation, or not constantly inputting opinions into every topic.

However, I have realised and accepted that it is in my nature to be soft-spoken or to prefer individual interactions to groups sometimes. And that’s not a bad thing! Because I may not talk so much at times, when I do, I can make it count.

Being introverted does not mean being silent

Despite this, what I think matters is being able to reflect on the kind of person you want to be and the kind of impact you aim to have in your environment. This in turn will shape your character development and help you form what many people would call your brand.

I wish that I had taken this approach from the very start of my co-op term. Fortunately, I’m glad that I was able to have stimulating conversations with great minds like Alfie Tham and Matthew Kwong(#ManagerOfTheYear haha) throughout my time here. They helped me to realise that it’s important to be intentional in thinking and in working towards the goals that lead you to the version of yourself you aim to be.

A lot of the time we don’t ask ourselves enough:

“What brand do I want to build?”

It’s not a one time question. And to truly answer it, you must keep in mind that you should never fit yourself into one mould.

Give yourself room to change and grow. Question whether you are making decisions that support or betray your values. Question those values in the first place.

At the end of the day, you need to do some soul searching once in a while and let that vision, decision, and ultimately, that action come from within.

Mental Health Vs. Startup Culture

At TribalScale, the work can be described with all sorts of buzzwords: “dynamic”, “fast-paced”, “demanding” and so on.

However, the thrill of those words tend to mask the relative reduction in structured processes that larger companies are defined by. Wearing many hats in a professional setting sounds cool and you may learn a lot, but when there’s such high pressure to execute and deliver rapidly to market, the tradeoffs become apparent. Taking care of your mental health while thriving in a fast-paced startup climate becomes a balancing act.

I found that startup culture can easily disguise burnout, especially in a virtual setting. It’s easy to continue grinding after your workday ends as this fast-paced work ethic inevitably blends into your evening life — your laptop is always within arm’s reach. Neglecting the breaks that your body and mind need will inevitably lead to burnout.

Perhaps my greatest takeaway from my co-op at a global innovation firm during a pandemic is that nothing is more important than your mental health.

You can’t learn, grow, or live your life if you’re glued to a screen all day.

-Rachel Hammermueller

Start with understanding that a remote co-op is a balancing act — and you can only be successful in your day job if you learn how to put your mental health first.

In true TS fashion, huge huge Kudos to all the people I had the pleasure of working with. It’s been a blast to WFH with all of you; hopefully we can meet under better circumstances one day!

For more information on the core values of TribalScale and how they are reflected in the workplace, please check out Keeping Company Culture Alive Online.

--

--

Odianosen Okojie
TribalScale

Engineer, writer, dreamer with a penchant for adventurous thinking.