Fresher to Lead Engineer

Aishwary Dhare
7 min readApr 16, 2023

--

Here in this story, I share pointers from my experience for the early stages of a software engineer’s career path.

All the way

The following 3 focuses are standard in-dispensable traits that need to be followed all the way.

Build relationships

Stay ethical and work with integrity. Keep your resolve. Communicate more often with patience and reasoning.

Always end amicably.

Consistently learn

The tech industry is fast, companies are constantly competing to build better products. Devs need to stay aware and it will always require hands-on experience to understand trade-offs and make reasonable and rational choices.

Aim for a T-shaped skillset, deep knowledge of the tools you use, and fair knowledge of all the other alternatives.

Trying a mix of newsletters, attending meetups, and watching the keynote presentations from top companies helps to stay updated.

Staying hands-on should be a natural part of the job or a disciplined weekend hustle.

As a fresher

Go all out — everything, everywhere, all at once

The early career should be about learning and experiencing all kinds of tools and technologies, Dip your toes everywhere to understand frontend, backend, databases, QA tools, cloud providers, and even non-technical areas like design, digital marketing, product and finance. It is often much easier to receive exposure and learn these in small companies.

The engineering abilities will stay vague without having at least a basic understanding of the whole tech and management that goes into a product and a business.

Seek learning opportunities

During the first jobs, the companies with more senior engineer staff are always better for learning and growth compared to any other benefits like WFH, joining bonus, or better pay.

Luckily in tech, bigger compensation always easily follows a higher skillset.

The only risk is not learning enough and falling behind right at the beginning.

Be reliable and approachable

Being reliable and approachable sometimes means working extra hours or picking up unplanned tasks from your manager.

Other times being reliable simply means making sure your work is done well and your manager is promptly informed about it.

Take no shortcuts, hustle

ChatGPT can give you a well-summarised answer or solution for a problem that might have required you to Google and open at least 15 different pages to find. But the additional learnings from those 15 different pages are lost.

Most developer articles and tutorials also talk about their story, alternate approach and tools considerations, and their pros and cons while explaining their solution. Such passive learning keeps you and your decisions reasonable.

All exposure is good exposure

Acquire all knowledge and skills whenever and wherever possible.

In the early days of my career, I recall pushing myself to work for a struggling small company solely because they had recently invested a significant amount of money in digital marketing. My motivation for doing so was to gain insights from their experiences on the effectiveness of various digital marketing strategies.

At another small company, I was able to gain hands-on experience with the tools and processes involved in the UI/UX process when I assisted my designer colleague.

This proved to be immensely beneficial later in my career, whether I was freelancing, running my own tech agency, or working as an engineering manager, as it allowed me to understand the business better and effectively estimate effort, estimate timelines, and work efficiently.

As a Sr Engineer

Take ownership

Take responsibility for the functionality of the system. It can be a microservice or internal libraries or a few specific features of a product.

Assess its maintainability and scalability regularly and keep your manager/architect informed about it.

Discuss often with peers about its improvement and roadmap.

You shall take the technical decisions for it and resist any bad implementation or tech debt towards it.

Build business acumen

Learn about different business metrics investors look for in a company like MRR, ARR, Product-market-fit, CAC, etc.

And learn from various departments about their efforts that go into improving this metric.

Keep health in check, no need to go all-out now

Maybe the early career grind used to be constantly hitting 60 hours work week. This is moving fast if the quality of work is good.

While hard work is undoubtedly beneficial, it is equally important to prioritize and dedicate efforts towards maintaining good health. Do not extend the work hours to the point of missing sleep and meals.

Participate

Ask questions about the system design, choices of tools, UI design, legacy code, or the strategy behind a new feature.

After any presentation from your peer- try to think of any additional explanation you find needful, always try to come up with at least one. This has many benefits.

Seek learning opportunities

Continue being curious and following more experienced engineers like a fresher.

Take no shortcuts, hustle

It is still a long way to go until summarised ChatGPT solutions are good enough.

Going through a bunch of articles and vast documentation to identify your own solution is an essential ability of an architect.

As Lead Dev

Lead your team

Discuss with your manager to have at least one permanent team member in your team.

Set quality benchmarks by examples and conducting hands-on workshops within your team or also along with other teams.

Effective leadership begins with being present, available, and easily approachable for any situation. This can be easier to achieve while working in-office, surrounded by your team members. However, leading while working remotely requires a great deal of discipline, consistency, and formal as well as informal weekly one-to-one meetings with team members, regardless of whether they are brief or extensive.

Align with business KPIs

Understand the key business metrics for the next funding round or the quarterly goals. Discuss as much and understand in thorough detail the strategy of your managers and peers to achieve that.

Prepare tech roadmap

Assess the components of the system you own and of your team members to ensure the capacity and scalability of the system to match the business targets.

Conduct stress tests to ensure the same or research, plan, and prepare a roadmap for the improvements.

Seek impactful projects and measurable outcomes

Seek out opportunities to automate time-consuming tasks or tackle tech debt issues, such as crumbling services or features with constant downtime.

Your manager is typically aware of these challenges and is always open to discussing them with you and providing guidance on how to address them.

And this is the best way to improve business understanding by having first-hand contributions, consistently learning, build trust and credibility for yourself and your team as well. Plus, the resume should also look shiny all the way.

Focus on your team’s growth unconditionally

Help them in all the ways to improve their performance and impact on the company. And if they seem to be progressing faster than you did in their position, it is a good indication of your effective leadership.

Find the right part of the system for them to take ownership. Set monthly targets for their work.

Encourage a healthy off-work lifestyle and ensure no burnout.

Mentor and teach

Create a well-defined growth plan for your team and monitor their progress. Offer mentorship and necessary resources. Allow for ample learning space by reserving work capacity conservatively.

Designing the learning path based on the upcoming projects from the roadmap makes it easier to implement.

Avoid toxicity at work

Chances are that you will be working among bigger teams now, and everyone can’t be kept happy by the company so there will be some bitterness in the air.

In such moments, it is best to stay closed to gossip and never participate. Focus on the well-being of your team.

Discuss your concerns only with your manager, else I recommend switching sooner than later with a clear head.

now EM & beyond

*Bring in those books, and figure out the rest

More about this in another post, another time.

My Fresher to EM summary,

Back in 2012, I was motivated to learn how video games are made. My elder brother in higher secondary taught me Turbo C++ and handed me one of his academic books with few programs & references. Later during my higher secondary term, I expressed interest in becoming a software engineer to my neighbor who worked as a freelance dev and he took me under his wing.

That and a few internships later in 2014 — I knew HTML, CSS, JS, PHP, MySQL, JAVA, Android & SQLite. College didn’t interest me enough to continue and I started seeking a job instead.

Between 2014 & 2021, I worked in various capacities such as full-time employee, part-time employee, contracted freelance engineer, and tech consultant. Through these diverse experiences, I gained a broad range of skills, which later allowed me to work on products with a large user base, thus refining my technical expertise. My project portfolio is diverse, including websites, Android & iOS native apps, IoT solutions, SPA WebApps, crypto exchange, blockchain solutions, numerous B2B & B2C eCommerce products, a SaaS platform, and my own startup focused on building an API testing dev tool.

In 2021, I joined MishiPay as an Engineering Manager and have since been promoted to the Director of Engineering position. We are a retail-tech company bringing the best of online shopping into an in-store experience, like online payments, queue-free self-checkout apps, and Kiosks, product details, reviews, and recommendations. We are hiring 🙂

--

--

Aishwary Dhare

Passionately coding for 10 years | Director of Engineering at MishiPay