An Unconventional Path to Becoming a Software Engineer: Shafee’s Story

|

I dropped out of high school in late 2013, and college in early 2020. As a first-generation American, son of Bangladeshi immigrants, dropping out was not a straightforward venture to pursue. My parents wanted the best for me, like a lot of parents. To them, the best was a college degree and a successful career. They worked hard most of their adult life to make schooling easy for my brother and I. But somewhere along the line I had to make a decision for myself, asking the question: am I working on my own dream?

After a lot of soul searching, I concluded that I would find an alternative way to pursue my ambitions, without the need for a college degree. I didn’t realize it then, but taking that step–the step to direct my life the way I saw fit–was the hardest part in my journey to tech so far. And it may be for you as well.

In late 2020, I took the leap to become a software engineer. I wanted to solve real problems in a world where technology encompassed everything. I applied to a selective part-time fellowship at a non-profit organization called The Knowledge House, focusing on learning full stack web development and secured a spot in it. Within my first month, I learned a programming language called JavaScript. I also participated in my first ever hackathon for a major US bank in which my team ended up winning first place against a pool of almost 200 participants. We created a project in under 48 hours. A lot of the participants were college students in prestigious universities. Winning that hackathon reassured me that it may not matter what credentials one has. Rather, what proved important was the ability to work in a team and communicating effectively. A little fun also goes a long way as well, as my teammates and I stayed up late in the night on Discord, taking a break from coding to watch chef Gordon Ramsay yelling at disastrous food dishes.

Why an Apprenticeship Made Sense For Me

Now that I had some experience programming upon graduating the coding fellowship, how do I actually apply what I’ve learned in the workplace? The whole point was to get a job, after all.

That’s when Multiverse opened the door for me. In late 2021, I was hired as a Software Engineering Apprentice at ClassPass through Multiverse. At the time of posting this blog, I’ve spent four months as an apprentice. It has been an amazing journey full of challenges, surprises, and coffee. For me, an apprenticeship provided an environment to learn, apply what I learned in real time, make mistakes, grow, and shadow people way better than me at my craft (and get paid in the process).

What I’ve Learned So Far

For future Multiverse apprentices and those looking to apply, I’ll share a few insights on what I’ve learned on the job so far.

  1. You don’t have to be a coding rockstar as an apprentice. Have some foundation in one programming language–preferably JavaScript–then get 1% better each day.
  2. Imposter syndrome may happen, and it’s normal! Know that imposter syndrome may hit you once you’re in your role. Remind yourself that you are new and you’re there to learn. Take things day by day. After speaking to a handful of senior engineers, many of them said imposter syndrome never really goes away - it just gets a lot more manageable over time.
  3. Talk to your Multiverse Coach and take advantage of your apprenticeship community. Share your wins, your challenges, and get their advice on things you’re not sure about. Talk to other apprentices as well. Getting a different perspective can be a real game changer when you’re stuck. Remember that you have a team that’s going to be there to help you. Don’t try to do everything alone.
  4. Be patient! Starting out at your new job, you’ll enter meetings and not understand a single word being said, and that’s perfectly normal as a new person on the team. Trust me, it won’t be like that forever. The dots will connect over time.
  5. Keep being curious. If some of your learning comes from online courses, that’s absolutely fine. But change it up sometimes. Put some lofi music on, and read an entire documentation tutorial on a new library or framework you’ve never worked with before. See how that fares. You might like it, and it could save a lot more time in the future.
  6. Aim to be a better problem solver. You’ll find that in the company you’re working for, the codebases are huge! Getting a ticket/task to do can seem overwhelming when you’re looking at a mountain of code. Don’t sweat it - instead, see how you can break down the problem at hand, and you’ll likely find that maybe in a project with 1,000 folders, the task only involves a few files or ten lines. Breaking bigger problems into smaller ones is a habit engineers do well. Consider this quote by René Descartes: “Divide each difficulty into as many parts as is feasible and necessary to resolve it.”
  7. It’s okay to be overwhelmed. If you do ever feel overwhelmed, reach out to your manager and/or coach and talk to them about it. There's no shame in admitting it.
  8. Have fun! Don’t take things too seriously, and get some healthy laughter in! Wherever you go in life, even if you’re scared and unsure, go to it with cheer. As Herman Melville said in Moby Dick, “I know not all that may be coming, but be it what it will, I'll go to it laughing.”

  1. Imposter syndrome may happen, and it’s normal! Know that imposter syndrome may hit you once you’re in your role. Remind yourself that you are new and you’re there to learn. Take things day by day. After speaking to a handful of senior engineers, many of them said imposter syndrome never really goes away - it just gets a lot more manageable over time.
  1. Talk to your Multiverse Coach and take advantage of your apprenticeship community. Share your wins, your challenges, and get their advice on things you’re not sure about. Talk to other apprentices as well. Getting a different perspective can be a real game changer when you’re stuck. Remember that you have a team that’s going to be there to help you. Don’t try to do everything alone.
  1. Be patient! Starting out at your new job, you’ll enter meetings and not understand a single word being said, and that’s perfectly normal as a new person on the team. Trust me, it won’t be like that forever. The dots will connect over time.
  1. Keep being curious. If some of your learning comes from online courses, that’s absolutely fine. But change it up sometimes. Put some lofi music on, and read an entire documentation tutorial on a new library or framework you’ve never worked with before. See how that fares. You might like it, and it could save a lot more time in the future.
  1. Aim to be a better problem solver. You’ll find that in the company you’re working for, the codebases are huge! Getting a ticket/task to do can seem overwhelming when you’re looking at a mountain of code. Don’t sweat it - instead, see how you can break down the problem at hand, and you’ll likely find that maybe in a project with 1,000 folders, the task only involves a few files or ten lines. Breaking bigger problems into smaller ones is a habit engineers do well. Consider this quote by René Descartes: “Divide each difficulty into as many parts as is feasible and necessary to resolve it.”
  1. It’s okay to be overwhelmed. If you do ever feel overwhelmed, reach out to your manager and/or coach and talk to them about it. There's no shame in admitting it.
  1. Have fun! Don’t take things too seriously, and get some healthy laughter in! Wherever you go in life, even if you’re scared and unsure, go to it with cheer. As Herman Melville said in Moby Dick, “I know not all that may be coming, but be it what it will, I'll go to it laughing.”

The Case For a Different Pathway

The path of software engineering is not about destinations since technology is always changing. For me, being an apprentice means I can continually apply what I learn and also be consistently challenged by real world projects my company faces. If school isn’t right for you, there are so many other pathways to a career in software engineering. I encourage you to set realistic goals and keep learning even after accomplishing them.

Multiverse logo

Read more posts by this author