Starting your journey as a developer!

Sailee Renapurkar
6 min readFeb 28, 2021

--

DEVDAY is a monthly informal event organized by Sahaj for developers to share their experiences, ideas, opinions & perspectives about technology. I have attended many of the talks. I was so motivated by the speakers that I definitely had a thought in my mind of giving a talk in the near future. But I didn’t know I would get this opportunity at such a stage in my career. My friend and colleague Kirti and I got an opportunity to be the speakers for Devday in Jan 2021. Initially, we were hesitant as we were not sure what exactly we can talk about with a very limited experience of 1.5 years. At the same time, many of the students had started with their internships at various organizations. We realized that if we had got some guidance/tips basics before starting our journey as a developer, we would have focused on the things ahead then.

So we came up with an idea to give a talk where we discuss some things that we wish we knew before joining as a developer. We prepared for this talk for about a month. The outline, abstract, script, and presentation. Lots of late nights and early mornings to get the best content that will be useful to the freshers out there.

For those who missed the talk, I thought of writing a blog so that it will be helpful for the freshers in their journey ahead.

We joined Sahaj about a year ago. Being a fresher we didn’t have any idea about how things work, how to work on large codebases etc. We went through a program called Gurukul, which gave a kick start to the Journey of being a software developer. We were introduced to some of the best practices followed while project development. After completing Gurukul, we started applying those concepts by working on some of Sahaj’s internal projects that are being used by people here. After working for a significant amount of time, we started getting confident about the work. And the time came when we had to join the client project. It’s been quite a good time now working on these projects. The main intention behind the talk was to give the freshers some ideas/ tips that can help them in their journey. Some things that we wish, we knew before joining as a developer.

Difference between perspectives while working on Academic project and Client projects

We start working on projects in the second or third year. For sure, there is a vast difference in the complexities involved in academic projects vs client projects. But there are some practices if followed while working on academic projects we could have developed the project much better and we would have also learned some of those practices earlier.

ABCs to understand while starting on a new project:

  • Talk to people:

As a new joiner, it is important to understand the company culture and all the practices followed by the team you are working on. Learn about the journey of the people around, their working experiences, etc. We should start interacting and socializing with the team, may it be going for a tea break or playing games during breaks at the office.

  • Ask a lot of questions

Ask, ask, ask. No doubt is a silly doubt. I used to keep questions to myself considering it might be very simple, I can search, or I can see the implementation and figure this out later but asking the questions will help you to understand the business quickly. Never assume anything. Sometimes there might be scenarios where some of the decisions are based on some assumptions and are known only to team members who were part of the team at that point in time and it’s important to talk to the team and understand this instead of assuming.

  • Attentive in Standup

Standup is daily catchup among the team where we give our work update status. It is also known as a daily scrum, scrum meeting.

It includes:

  • What things I have worked on yesterday
  • What is the plan for today?
  • Calling out blockers if any in the quickest and shortest way possible and asking for help if required

Standups are very crucial. It helps me to understand what is going on in the different areas (simultaneous features, infra) of the project.

  • Learn about the business

Regardless of what you do in your organization, your ultimate job is to fix the problems of your customers. So, do what you can to learn about them as much as possible, as early as possible. See if you can listen in on some sales calls or speak directly with customers, so you have a clear understanding of their mindset and needs.

Sometimes it can also be possible that customers are not that clear about what they want. Having direct interaction will help your team to brainstorm and define them. Not only that but this can also help the team to suggest to customers how can they leverage the existing system for new possibilities.

  • Active participation in meetings

It’s understandable that you’ll have a lot to catch up on in a new job and may not have insights and opinions to share right out of the gate. You should aim to strike a balance between listening carefully (which will be extremely important in getting oriented) and speaking up or asking smart questions.

If you have any thoughts feel free to put them in front of the team. Two things can happen. Either you get confidence when you have made the correct statement or else you learn the correct by hearing others’ opinions on your statement. This way your thought process will start evolving
You can note down unknown points and discuss them later with any of your colleagues. Slowly you’ll be able to connect these dots for the unknown points.

Some Tech-tips!

  1. How to approach any problem
    -
    Have enough context
    - Identify unknowns, complexities, dependencies
    - Break down into smaller tasks
    - Solve it on paper first and then convert it to code
    - Timebound the problem
  2. How to deal with blockers:
    -
    Spend some time to find the root cause
    - Don’t fall into an infinite loop to find the cause, ask for help
    -
    Share your learnings via blogs, videos, meetings
  3. Ask the right questions:
    Why is this new feature needed?
    What would happen if …
    How does this feature add value?
    What architectural changes will have to be made?

Some must-haves before starting your journey:

Git is very essential when it comes to working in projects. Most organizations use GIT as their version control system

We should get used to using the command line.

Get used to using an IDE of your choice and its shortcuts.

Get proficient in at least one programming language of your choice. This gives you a general idea of how other languages work.

Join various communities like meetups and LinkedIn and coding forums like CodeChef, hackerrank, Leetcode.

Sometimes things can start getting overwhelming, but focusing on what is required and gradually getting to know all the things works. Kirti and I hope that this blog will help you gain the initial confidence that is required when we start working on projects.

--

--

Sailee Renapurkar
Sailee Renapurkar

Written by Sailee Renapurkar

Solution Consultant At Sahaj Software Solutions Pvt Ltd.

No responses yet