Introduction

My name is Shritesh Bhattarai. I am a Senior Software Engineer at Remix Labs building a visual programming platform. I live in San Francisco but grew up in Kathmandu, Nepal. My interests include travelling, playing video games, listening to heavy-metal music and gluten-free cooking.

Software Development Fellow

career options

I was always interested in computers and programming since my childhood. I used to spend most of my waking hours in front of the QBasic help manual trying out all the different functions and making animated pictures with code. Later, it was making videogames with C++ or websites with PHP. Programming was my hobby and passion and studying computer science was a no-brainer. I joined the computer science program at Tennessee Tech university with a focus on Software Development and Scientific Applications. There I found my love for programming languages and paradigms, which I now work on at my job. My career path is fairly unique as I have worked at my own companies for most of my career. I also got my current role because of my open-source software contributions.

1
Software Developer/Engineer
2
Front-End Developer
3
Back-End Developer
4
Full Stack Developer
5
QA Engineer/Tester
6
Data Scientist

Software Development Fellow

 skills

What are the main hard skills you use on a daily basis in your current job?

1
Programming Language Proficiency

Every software job will require you to have proficiency in one or more programming languages that you work with. At my current role, I work with Rust, Go, Swift, Dart, OCaml, Elm and JavaScript. I learned many on my own, working on various projects and some on the job.

2
Systems Design and Patterns

Software eventually grows and a good design helps keep it maintainable. There is a vast literature on this topic and well-established patterns but only a few are used at a time depending on the task at hand. Also, knowledge of when to use such patterns comes with experience.

3
Debugging

More than writing code, you will be debugging why your code doesn’t work as expected. Debugging is both an art and science. Knowledge of how to use debuggers, whether in an IDE, a standalone debugger and from backtraces is essential to scale up as a software developer.

4
5

What are the main soft skills you use on a daily basis in your current job?

1
Asynchronous Communication

Our team is distributed all over the world across different time zones. We meet face-to-face for a daily virtual standup and all the work happens in the form of written communication. I think this is already becoming the norm everywhere else after the COVID-19 pandemic. Clear articulation and meeting the reader where they are at is even more essential for someone in a field as abstract as software development.

2
Task Management

As an organization with a flat structure without managers, it is crucial to self-organize and prioritize the task to work on. I regularly consult with the rest of the team if there are any blockers or high-priority tasks for the product.  I personally am a fan of sticky notes on my desktop.


3
Systems Thinking

Most software systems are built of different components that work together. Understanding their relationships and the outcome of a change in one component over another and as a whole is extremely important.

4
5

Shritesh

’s personal path

Tell us about your personal journey in

Software Development Fellow

:

My personal path is a story of me unintentionally working on things that someone found useful. After high school, two friends and I started an online feature magazine which got featured by a news channel. Their upper management then asked us to work on their web strategy and infrastructure and required us to incorporate a company so that we could get paid. It later grew into a thriving design agency that celebrated its 9th anniversary last month. Similarly, I had run a web development workshop in college for a student club and was later approached by someone who was looking for a web developer for his new business idea. We started a company together, raised capital and worked together for five years on a product with thousands of customers. In the meantime, I was actively contributing to an open-source software community on the side. When the startup ultimately shut down, I tweeted that I was looking for a job and my current employer reached out to me because they knew of my open-source work. I met with the team, loved what they were building and joined the same week.

What would you tell your younger you regarding building your current career?

I would tell my younger self to surround myself with more than just programmers. My biggest growth has been when I’m working with someone with complementary mindset and skills. Similarly, I should have worked with open-source communities earlier. The entire industry runs on OSS, and with communities like GitHub and HuggingFace, it is the easiest way to build your skills and career and put yourself out there. It even looks good on your resume.

Shritesh Bhattarai

Shritesh Bhattarai

Software Development Fellow
Open Avenues Foundation
Open Avenues Foundation
Shritesh is a Senior Software Engineer at Remix Labs where he works on programming platforms and tooling.
More like this
More like this