Flexiple Logo
  1. Home
  2. Blogs
  3. Tech Interviews
  4. Kishan Thesiya, Senior Software Engineer at Curefit

Kishan Thesiya, Senior Software Engineer at Curefit

Author image

Ekta Singh

Content Marketer

Published on Fri May 17 2024

Introduction

Hi Kishan, would love to know a bit about your professional background. 

Hi, I'm Kishan! I'm a senior software developer at Curefit, and have been here for almost 3 years now. I focus mainly on the backend systems.

Before cure. fit, I worked at Goldman Sachs, also as a backend developer. In total, I've got about four and a half years of experience under my belt. 

I graduated from DA-IICT in Gandhinagar back in 2019. Since then, I've been working in the tech industry.

Outside of work, I'm a big tech enthusiast. I love exploring new technologies and staying on top of the latest trends. I'm also into the stock market and investing. I find it fascinating and spend a good chunk of my time learning about it.

Day in the life of a software engineer

What does a typical day look like for you as a software engineer? 

We've got a five-day work-from-office setup, and I usually prefer going in. My day starts around 9:30 or 10 AM. The first couple hours are for focused work on my daily tasks and ongoing projects.

As a senior backend developer, my time is split into a few main areas:
50% meetings
30% designing, code reviews, etc.
20% coding and implementation

For the first 30 minutes, I check and reply to emails. Then, I focus on implementation work for the next two hours. In the afternoon, I have meetings like stand-ups, sprint planning, design discussions, and code reviews. That takes up a couple of hours.

If I have time at the end of the day or feel like doing something light in the evening, I'll spend it coding and finishing up any remaining tasks.

I usually work 8 to 10 hours, but most days I finish up at 8. And that's a typical day in a nutshell for me!

What’s your mantra to get quality work done daily? 

My mantra is simple - if I have a lot on my mind, I write it down. I keep a to-do list on my MacBook.

While reviewing emails in the morning, I note down things I need to do, tasks I'm blocked on, and discussions I need to have. Then I prioritize based on importance and urgency.

Time management is key. I split my day into focused work time and time for meetings, discussions, and other activities. This keeps me organized and ensures I allocate enough time for each part of my work. Nothing fancy I know, but it works great for me!

Tech stack 

With so many new tools popping up in the tech world every day, it can be hard to keep track! Can you tell us some specific tools that you swear by? Give us a peek into your tech stack.

1. Hardware Setup 

For hardware, I keep it simple. I work on my MacBook and don't really need any external monitors. Just my laptop and a pair of headphones do the trick. 

The MacBook's trackpad is great, so I don't use an external keyboard or mouse either. It's a pretty minimalistic setup.

2. Software

A) Go-to browser

For browsing, Google Chrome is my go-to for both web surfing and work stuff.

B) Core work and coding tools

For production-level coding and work projects, I use dedicated IDEs. IntelliJ is my choice for Java and WebStorm is for Node.js. I've got them set up just the way I like.

I use different plugins to make my work easier. Some help with code commits and version control using Git. Recently, I've been using GitHub Copilot a lot. It works with IntelliJ and WebStorm and has made a big difference in handling small coding tasks. It saves me a lot of time and effort.

C) Favorite programming language

I use different languages depending on the project. For personal projects and prototypes, I prefer Python. However, for work, Java is my main language. If Java isn't the best fit, I'll switch to TypeScript or Python. I adapt based on the project.

Big companies vs startups

I noticed you've worked in both big companies (Goldman Sachs) and startups (Curefit). Firstly, can you tell me your preference between the two? 

I prefer startups right now. Learning is my priority, and I don't mind putting in long hours. So startups are my choice at this stage.

How would you compare startups with big companies? 

When comparing startups and big companies like Goldman Sachs, it depends a lot on the team you're on. 

Big corporations, especially in finance and US-based companies, have lots of processes. Things move slowly, and you might need ten approvals to get something done. Managers often can't make decisions on their own. In such environments, it can be harder to feel a sense of ownership and see your individual impact. The skills you need depend on your specific role. Teams are bigger and more separate, so collaboration can be harder. Culture varies a lot between teams, but they usually have more resources and support.

Startups are different. You experiment more and move fast. If something doesn't work, you pivot quickly. You have to think like you're running your own business. It's all about ownership.

You'll need a wide range of skills and be ready to jump in on different tasks. Communication is also super important, especially when talking to non-tech teams. Teams are small and everyone works closely together. The culture is usually pretty consistent too.

What are the key qualities of someone who would be a perfect fit for a startup versus big tech?

I think this is quite difficult to generalize -  it depends on what you're looking for in your career. 

Startups are great for taking on a lot of responsibility, seeing your impact, and learning fast. Big tech is better for stability, specialized roles, and having lots of resources. 

I’d say think about your goals and how you like to work first before deciding which route to take.

Navigating a new tech role

Since we're on the topic of getting into tech, I'd love to hear your top tips for someone navigating their first 12 months in a role. Let's break it down into three parts: the ideal 1-month, 3-month, and 6 to 12-month period.

1. First month

It's all about intense learning. You're getting up to speed on new tools and tech while trying to get your day-to-day tasks done. The goal is to become fully capable of delivering your assigned work.

2. Next 3 months

It's a rigorous work phase. You're hitting deadlines and delivering high-quality work to build trust with your team. Start engaging with other teams to understand what they're working on. Join their on-call meetings to get a feel for the issues they face. Build knowledge in different tech areas, even if they're not your direct responsibility. Focus on creating a culture of collaboration. 

3. 6-12 months

As you hit the 6-12 month mark, the focus shifts a bit. You're consistently delivering high-quality work on time. You're building trust and collaborating with other teams. Management feels confident giving you tasks outside your usual domain. You're focusing more on problem-solving and system design. You're figuring out solutions and implementations independently.
You might start managing and mentoring junior developers. 

Here, I’d say - identify potential future problems, propose solutions, and drive improvements. 

If you had to give a KPI to know that you’ve succeeded in each of these phases, what would those be?

1. First month

Completing all your assigned tasks on time
Showing you've got a solid grasp of new tools and tech

2. The next 3 months

Delivering high-quality projects that impress
Building trust with your peers and managers
Really understanding what other teams are working on and their challenges

3. 6-12 months

Confidently tackling tasks outside your usual scope
Effectively managing and mentoring junior developers 
Identifying and proposing solutions to potential issues
Driving initiatives that make a real impact on the business

At the end of someone’s first year, what should their pitch to the manager be to ensure a successful appraisal, considering the KPIs you've mentioned?

First things first - clearly communicate your expectations to your manager - they should know what's on your mind. Understand what they expect from you at this point in your career and what you need to do to earn that promotion.

Once you've got that sorted, it's pretty simple - just work on what you need to do. But keep in mind, that it depends a lot on team dynamics and what the company is focused on.

It definitely helps to have that conversation with your manager, even if they say an appraisal is not possible this year. In that case, find out why and what you can do to make it happen in the next six months.

Upskilling in Tech 

So you’ve been in the industry for almost 5 years now - I’m sure you must have picked up new skills during this time. Can you tell me what was the motivation for upskilling and how did you go about it? 

1. Motivation

I'm always down to pick up new skills, whether it's something needed for my job or just a topic that piques my interest. If we need to use a new tech at work, I'll get up to speed on it. 

I also get exposed to cool new ideas through our weekly tech talks. Whenever something catches my eye, like blockchain or AI. I'll spend time researching it, even if it's not directly related to my daily work. I'm naturally curious - if something intrigues me, I want to explore it further. As for how I decide what to learn, I try to keep an ear to the ground on what's hot in tech. If people start talking about the latest thing in tech, that's usually my cue to start reading up. 

2. Learning Approach

For learning, I prefer books when I'm really into a topic. They give me the right balance of depth and accessibility. If I'm pressed for time, I'll start with some articles, and grab a book later if the topic really grabs me. Not a huge fan of learning through videos unless I'm prepping for interviews.

The time I spend learning depends on my current interests. Some weekends, if a topic has me hooked, I might spend 5-6 hours a day just reading info about it. Other times, I can go weeks without any dedicated study sessions. 

As for note-taking, I don't have a rigid system. If I read something interesting, I'll try to find real examples or go deeper into the nitty-gritty. If I'm genuinely interested, the important stuff will stick.

3. Practical Applications

While a lot of my learning isn't directly job-related, I'll apply new skills whenever a project calls for it. I also work with side projects here and there to put my skills to use in different contexts. Not every project pans out, but it's still good practice. Learning about blockchain was more out of personal interest. But you never know what could come in handy down the road!

Qualities of 10x engineers

I'm sure you've come across your fair share of engineers often labeled as '10x engineers' in your career. What do you think sets these folks apart? Tell us qualities you believe contribute to someone being considered a '10x engineer'?

First off, they really know the product inside and out. They're not just techies, they also get the business side and what the users need. This big-picture view helps them make smart calls.

Another big thing is how they take charge. These engineers don't just do their job - they treat the whole project like it's their own. If something needs to be done, they step up and make it happen, even if it's not technically their responsibility.

And they're also killer communicators. They can take complex tech stuff and explain it in plain language. To them, keeping everyone in the loop is as important as their coding skills.

At the end of the day, the true 10x engineers aren't just brilliant programmers. They blend tech skills with business savvy and strong people skills. That's what makes them stand out, in my experience.

What advice would you give someone to become a 10x engineer?

Upskilling is always important - but that's just the basic foundation. Beyond that, there are a few other key things that can help you stand out.

A big one is really understanding your product and organization inside out. Don't just focus on your own little piece. Take the time to talk to people, learn about what everyone else is doing, and see the bigger picture. That gives you the context to make more strategic, impactful decisions.

And related to that, it's important to be proactive and take initiative. Don't be afraid to step up, even if something's not technically your job. Volunteer for new projects. Ask lots of questions. Don't worry about making mistakes. That curiosity and willingness to dive in is so valuable!

When it comes to the tech stack, I think it's about finding the right balance. You definitely want to become an expert in the core stack your company uses. But you should also make time to stay on top of emerging tech. Take time to read, experiment, and understand why certain new tools or languages are gaining traction.

How do you think companies can retain these engineers?

Retaining top engineering talent is a big challenge for companies. High-performing engineers want chances to learn and grow. If the work gets too routine, they look for new challenges. 

Just offering more money isn't enough. They want to learn new things and improve their skills. Company culture is also really important. They prefer a collaborative, drama-free environment where they can focus on their work. 

Companies that keep their best engineers create an environment where they can thrive. This means giving them important projects, teaching them new things, and making sure they feel respected and supported. It's not easy, but it's really important. Companies that do this well stay competitive in the long run.

Negotiating salaries in tech 

Negotiating salaries can be very tricky. Can you share what’s your typical approach to it? 

1. Research

When it comes to figuring out the right salary number, I generally try to tap into my personal network. I'll reach out to folks I know who are working at the company I'm targeting. They can give me the inside scoop on typical pay ranges, company culture, and what they look for in candidates. That kind of on-the-ground intel is invaluable.

2. Factors to consider

A) Experience

If I have 5+ years of deep, specialized technical skills, I know I'm in a stronger position than a newer engineer. The market is hungry for that kind of seasoned talent right now.

B) Current CTC

I also always look closely at my current compensation as a baseline. Companies will use that to anchor their offer, so big jumps can be tough to justify. You have to be realistic there.

C) Value

I assess the value I can bring to the table. For example, startups are often looking for someone who can make a big impact. If I can convincingly demonstrate that, I know I have more negotiating power.

Based on your experience, how do you typically determine when it's time to wrap up negotiations and accept an offer?

I think it's a delicate balance. A lot comes down to how much I really want the role and the company. If it's somewhere I have a genuine passion for the work, that can change the equation a bit. I may be willing to compromise a little more on the salary if the overall opportunity is a great fit.

The long-term perspective is key too. Sometimes optimizing for the short-term number isn't the best move. You have to think about how this role and company could help your career in the long run.

I make sure I know my bottom line and understand the company's constraints. Then, I find the right balance through respectful, thoughtful negotiation. I don't want to leave money on the table, but I also can't risk losing the offer I really want. It's an art, for sure.

Other than salary, what are the typical things that can be negotiated?

Joining or retention bonuses, equity (like ESOPs or RSUs), and even job titles can sometimes be negotiable, depending on your leverage.

However, salary is usually the main focus.

Assessing job offers: Beyond salary

How do you assess multiple job offers beyond just the CTC?  

My priority is finding a role where I can grow as an engineer, and learn skills that will benefit me in the long run. The work itself matters the most to me.

For example, if I have the chance to be a founding engineer at a startup, that's incredibly appealing. The hands-on experience of building products from scratch is invaluable. Similarly, if I can join a more established company but be part of a new initiative or product team where I can take on a lot of responsibility - that's also super attractive.

Beyond just the work itself, I also do a deep dive researching the company. I look at the backgrounds and caliber of the tech leadership, as well as the existing engineers. Is this an organization that's innovating and pushing boundaries? Or is it more stagnant? That context is key.

I also consider factors like the company's industry, mission, and products, and whether they align with my values and interests. If it's not something I'm passionate about, even with great compensation, I probably wouldn't enjoy the work.

Location is a consideration, but like I said, not the top one. I usually prefer an office-based setup because remote work isn't always ideal for my learning and growth. 

Assessing job offers: Promotion vs new job

At some point, you or someone you know might have an offer for a new role outside your current company or a promotion internally. How would you decide between the two? 

1. Role and Responsibilities

If your motivation is to learn and grow, a promotion at your current company may not be the answer. They might just give you more money, but the work itself may not change much or provide new challenges.

2. Pay Cut for Better Culture

If the culture isn’t great - in that case, it may be worth exploring other opportunities, even if it means taking a slight pay cut. The right cultural fit and ability to learn can be more valuable in the long run.

3. Product

When looking externally, the product you'll be working on is a big factor. Try to find something that truly aligns with your interests. 

4. Internal Relations

Within your current company, you could also consider switching to a different team with more appealing work and dynamics, even if the role itself doesn't change drastically. I think the decision comes down to what will best accelerate your long-term career growth - whether that's a promotion, a lateral move internally, or jumping to a new company. Understanding your priorities is key.

Avoiding burnout and maintaining work-life balance

Given that you’ve spent a long time in this fast-paced industry - what strategies do you recommend for avoiding burnout and maintaining a healthy work-life balance?

1. Signs of burnout

The key symptom for me is when tasks that were previously easy suddenly start feeling much tougher and draining more effort. It's an odd feeling since I'm not working any harder, but the work just seems to weigh on me more.

I also notice signs like unexpected factors causing delays and frustration - things that are out of my control. And poor planning where a lot gets crammed in at the last minute is another red flag.

2. Avoiding burnout

Maintaining a solid work-life balance is crucial for me. Spending quality time with friends and family, as well as pursuing hobbies and physical activities, are essential outlets. Things like going to the gym, watching movies, listening to music, and going for walks help me recharge.

If I'm feeling burnt out, I strongly believe in being transparent with my manager. They may be able to help me reprioritize my workload or identify tasks that could be handled by someone else. Open dialogue is key.

3. Recovering from a burnout

When I've experienced burnout, I've found that proper rest and sleep are essential. It’s important to reflect on what went wrong and how to avoid repeating those mistakes in the future.

I also suggest having an open conversation with your manager to understand the root causes and map out a better plan going forward. Their insight can be invaluable.

I've found that simply disconnecting, relaxing, and then thoughtfully reflecting on the situation tends to be the best path to recovery for me.

The key throughout is maintaining that balance between work demands and personal well-being. It's an ongoing process, but being proactive and communicative can make a big difference. 

Related Blogs

Browse Flexiple's talent pool

Explore our network of top tech talent. Find the perfect match for your dream team.