Introduction
Hi Amalan, would love to know a bit about your professional background.
Hi, I’m Amalan! I've been working as a full-stack software and data engineer for around six years now, since 2018. But my journey in coding and building things started way back in college. So, if I think about it, I've been in this field for almost a decade.
The main reason I was drawn to tech and software is the ability to build great things and solve interesting problems. I've always been inclined towards problem-solving, whether it's coding, puzzles, or anything that challenges me. I wouldn't say I'm the greatest problem-solver out there, but I have an affinity for it because you get tangible results. And that motivates me – knowing that I'm doing something right and accomplishing tasks.
What I love about this field is the constant innovation and exciting new developments happening all the time. It's an ever-evolving landscape, and my goal has been to use my skills and learnings to build great products and solve interesting problems.
I started my career in industrial engineering and then co-founded a startup with friends – an online platform for learning dance. We scaled it up, got acquired, and I worked as the Head of Data there. It was a fantastic experience, building really interesting and great things.
Day in the life of a software engineer
- What does a typical day look like for you as a software engineer?
As a data engineer, my days often start with sprint planning where we align priorities from the business, product team, and leadership.
The organization has certain goals for the quarter or year that get broken down into sprints and assigned tasks. For example, our current goal is to build a data abstraction layer – a middleware that separates APIs from the database. This is for security and privacy, so end-users don't directly access the database. To achieve this, we first need to extract all existing database references and move them to this new layer.
So my day usually goes like this: I come in, check the list of tasks assigned to me or our small team, and prioritize what needs to be done that day. Sometimes I even identify and take on additional tasks myself if they align with our end goal. Being accountable and responsible for your work is important.
- How much time do you spend coding vs in meetings?
In terms of meetings, we have short daily standup calls of around 15-30 minutes to discuss blockers and get quick updates. Then there are weekly retros and grooming sessions, each around an hour, to review progress, discuss improvements, and prepare for the next week's tasks.
The actual coding and development work takes up around 90% of my time, while meetings are just 10%.
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
I find using a Mac super convenient because you can have multiple desktops and just swipe through everything. My best investment has been my MacBook Air M1 - I've been using it for a while now. Before this, I had an old MacBook Pro, but switching to the M1 Mac was one of the best decisions.
Whenever I worked from an office, I had an external monitor setup. But now working from home, it's just my laptop. I don't use an external keyboard or mouse. I'm pretty used to just the built-in trackpad and keyboard on my Mac.
2. Software
A) Go-to browser
Chrome is my go-to browser, no brainer there.
B) Core work and coding tools
For coding, I use the Atom editor. People use VS Code and others, but Atom is very simple and clean, created by the GitHub folks. It has great GitHub integration - solves merge conflicts right inside the editor. The terminal experience is also seamless, unlike VS Code where the integrated terminal can act up sometimes. I don't like overly cluttered tooling, so minimal Atom works great for me.
C) Favorite programming language
Python has been my go-to language, especially since I've predominantly worked with data. I've used it extensively - for web scraping, automation, building data pipelines, and more. People can hate it, but I've done amazing work with Python because I don't like doing menial tasks manually. I automate everything I can.
Big companies vs startups
- I noticed you’ve worked at both big companies (Microland) and startups (CertifyOS). Firstly, can you tell me your preference between the two?
I'm a fan of both startups and big companies. But as much as I enjoy working for large MNCs, sometimes there are too many restrictions and layers of approval needed even for small things like installing software on your laptop. It ends up being a huge time waste.
What I love about the startup environment is the freedom it provides. You know exactly what you need to do and you can just go ahead and do it without having to worry about bureaucratic processes. There's complete freedom to explore and innovate.
Startups also operate at high stakes, which I find exciting.
Your work is judged solely on its merit and impact, not based on playing politics or games. If you deliver good work, that's what matters.
There's a straightforward accountability that I appreciate.
So while large tech companies have their advantages, I gravitate more towards the startup culture because of the autonomy, lack of red tape, and opportunity to create high impact without getting bogged down by excessive processes. That freedom to focus solely on building great products really appeals to me.
- What are the key qualities of someone who would be a perfect fit for a startup versus big tech?
1. Startups
When it comes to startups, I think the biggest qualities you need are a desire for ownership and being self-driven. In a startup, you can't just wait around for tasks to be assigned - you gotta take initiative, identify opportunities, and drive projects forward yourself.
You also have to be comfortable with ambiguity. Startups are fast-paced with fewer established processes, so adaptability is crucial. And you can't be afraid to take calculated risks. Failed experiments happen, but that's part of the game when stakes are high.
With smaller teams, you'll likely have to wear multiple hats too. So flexibility and a willingness to stretch outside your core role is valuable.
2. Big companies
Now, larger tech companies are a different ballgame altogether. If you prefer more structure, clearly defined workflows, and steering clear of excessive risks, you might be better suited there. The bureaucracy can seem stifling to some, but others appreciate the established processes and hierarchies.
Specialization is also easier at bigger companies versus being a generalist at a startup. And there's the chance to work on massive, global-scale products and projects impacting millions.
The core difference boils down to this: Do you crave autonomy to just make stuff happen at a rapid pace? Or would you rather operate in a more structured, de-risked environment with clear responsibilities? Startup folks live for that high-stakes, freewheeling energy. Big tech suits those who value stability over chaos.
The reality is startups can start feeling like larger companies as they scale up and get more process-heavy over time. But in the early days, that appetite for taking ownership and diving into ambiguity headfirst separates the two worlds.
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
The initial month should be about understanding the business and what the company or team is trying to achieve at a higher level. Don't just narrowly focus on your role - take a step back and grasp the bigger picture first. What problems are you collectively trying to solve? Once you understand the foundations and overarching goals, then you can start digging into the tech stack, codebase, and how your work fits into it all. Getting that high-level context first makes everything else click into place much faster.
2. The next 3 months
If I'm an experienced hire, I'd expect to get the hang of the tech stack and start actively contributing within a couple of weeks. By the second or third month, it's time to take more ownership. As a senior person, you'll likely be involved in planning, strategizing the roadmap, and understanding business requirements. You need to step up quickly - people expect seniors to start delivering impact sooner rather than later.
So by month three, you’d be working closely with leads/managers to build out execution plans for what you need to accomplish. If you're more junior, this may be when you start ramping up after initial training.
3. 6-12 months
In the 6-12 month window, the key is adapting to changes and clearing blockers. You've set initial goals and have been executing, but things inevitably shift over time as you go deeper. Business priorities may change, and you may encounter roadblocks you didn't anticipate.
At this stage, you need to get vocal. Don't stay silent - ask questions, raise concerns, and get clarity from others including cross-functional stakeholders. Be proactive about removing obstacles in your path. Pick up additional tasks if needed to stay on track with the evolving goals and expectations. Continuously communicate and collaborate to pivot as the situation demands.
The overall focus is: First understand the big picture and how you fit into it. Then rapidly ramp up execution and delivery. And finally, monitor and adapt to stay aligned with the shifting organization needs over time. It's about maintaining a balanced view between your specific role and the broader company vision throughout that critical first year.
- 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
→ Completed onboarding
→ Had 1:1s with the manager and introductory meetings with team members
→ Demonstrated understanding of high-level business goals/problems by articulating them clearly
2. The next 3 months
→ Number of assigned tasks/projects taken on and delivered
→ Speed at which core tech stack/codebase was ramped up on
→ Instances where you could independently troubleshoot/resolve blockers
→ Processes/inefficiencies identified and improvements suggested
→ If senior, quality of technical roadmap/strategy planned for upcoming quarters
3. 6-12 months
→ Innovations or new features ideated and implemented
→ Handled increased responsibilities
→ Mentorship provided to junior team members
→ Demonstrated ability to adapt plans based on changing priorities
Overall,
Month 1 - Joining formalities and building context
Months 2-3 - Applying learnings to start executing/delivering
Months 6-12 - Driving impact, adding strategic value, facilitating team growth
- 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?
Personally, I don't think you need to go overboard promoting yourself - 'I did this, I did that'. If your work has been really solid, then it should speak for itself. Your manager would likely already have a good sense of your contributions over the year.
That said, you should still make sure your manager has clear visibility into the impactful work you've done. I haven't had to formally discuss appraisals much because it just happened organically - the manager saw the quality of my outputs and it was like 'Hey, great work, here you go'.
I don't believe in the culture of needing to aggressively lobby for recognition. If you're doing good work, you should get fairly compensated and appreciated without having to ask for it constantly.
You don't need to say much to get what you deserve if you've genuinely earned it through your efforts.
Obviously, there will be formal appraisal processes. Just focus on doing the necessary work diligently. If for some reason you don't get the appraisal you felt you deserved, that's when you can initiate the conversation - 'Hey, why didn't I get it? Where did I fall short?' If the feedback is reasonable, accept it. If not, then you may need to reconsider if it's the right cultural fit for a place that doesn't value your contributions appropriately.
The crux is - to concentrate on delivering impactful work, ensure it's visible, and then let that work demonstrate your value. Don't be excessive in self-promotion. If there are gaps, have an open dialogue. But don't stick around if your genuine efforts aren't recognized fairly.
Upskilling in Tech
So you’ve been in the industry for 6 years now - I’m sure you must have picked up new skills during this time. Can you tell me what was your motivation for upskilling and how did you go about it?
1. Motivation
My main motivation to continuously upskill is to avoid becoming obsolete. Technology keeps evolving rapidly, so I need to stay updated on what's new and be ready to work with emerging tools and approaches. If I don't keep learning, there's no point being in this fast-paced industry as I'll be unaware of what's happening.
The other big reason is the need that arises in my job roles. There are times when I have to upskill to be able to solve the problems and challenges I face at work effectively. If I don't learn the required skills, I can't do my best work.
2. Learning Approach
A) Time spent learning
I try to spend at least an hour daily split across morning and evening - so around 4-5 hours per week at a minimum. This includes reading books, taking online courses on platforms like Coursera, solving coding problems, and so on.
B) Resources
My learning sources are quite varied. I read a lot of tech blogs and articles on sites like Medium to understand what people and big companies like Netflix, Spotify, etc. are working on in terms of architectures and approaches. I have some reference books on areas like data engineering principles and algorithms. I take courses to build practical skills in using tools and understanding core concepts through projects. Sometimes I spend time exploring open-source projects on GitHub and replicating them.
The learning can be academic-focused, interest-driven, or hands-on experimentation at times. It varies based on my needs and goals.
C) Note-taking
Note-taking is very important for me, especially for focused topics that require more attention like courses. For digital books on my Kindle, I simply highlight important points.
I only note down things that I need to revisit or research further. Just highlighting or writing everything doesn't work for me.
3. Application
Sometimes I help friends with their startups by building websites or managing cloud infrastructure. Or I work on creating my own apps and tools leveraging the latest skills I've learned. It's very much a hands-on applied learning experience for me apart from work.
I don't contribute to open-source projects much as of now. But I do build plenty of personal projects and play with ideas that interest me, just to experiment and see if certain approaches work hands-on.
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 or traits you believe contribute to someone being considered a '10x engineer'?
In my view, having a truly solid grasp of the fundamentals is critical to being a great engineer. Half-knowledge is dangerous. The best engineers deeply understand the basics, which then makes building anything much simpler because you have those strong foundations.
Beyond technical skills, patience and the ability to listen well are vital traits. If you don't take in enough information by listening, you'll struggle to excel. Great engineers also have a keen ability to learn and collaborate effectively. As an individual contributor, you can only accomplish so much. But by teaming up with others, you can achieve truly remarkable things.
On the non-technical side, I believe being candid is extremely important.
You need to be able to candidly share your expert opinions. If you hold back because you're worried about rocking the boat, you can't contribute your full potential. Outstanding engineers don't shy away from pointing out when something is wrong.
They are confident in their views while remaining grounded and respectful.
- What advice would you give someone to become a 10x engineer?
It's easy to become a generalist who knows a little about everything. But it's very valuable to go deep and become a subject matter expert in one specific area you're passionate about.
Keep an eye on emerging trends but pick one vertical to specialize in and master all its depths.
I don't think the specific tech stack or product domain should be the primary focus. The key is truly understanding the core fundamentals and "why" behind things - grasping concepts like how algorithms work. Once you deeply understand those basics, the programming languages and tools are just syntaxes to pick up.
Negotiating salaries in tech
What you need to do is thorough market research. Talk to people who are already in similar roles and understand what the typical compensation range should be. You should also know that certain companies might be on a lower pay scale - huge tech companies tend to pay more, but some companies pay a bit less depending on their stage and size.
You also need to ask them what the budget they are allocating for this role is. If they're asking how much you are expecting, then you need to ask them back about their budget range. And based on that, your negotiating power should come from demonstrating that you're bringing XYZ skills, and these skills are valued at a certain rate in the market.
You can't just say you should be paying me this number. You need to be really confident about your skills to negotiate well. You can't bullshit your way into it. You need to be able to say - look, I'm going to get these specific things done for you with my skill set, and in the market, people with my abilities get compensated at this level. So what are you willing to offer?
- Based on your experience, how do you typically determine when it's time to wrap up negotiations and accept an offer?
Hmm, if they are still not willing to match the market rate, then it's about finding a common ground. But I also think sometimes if the work is really good and an amazing opportunity, you shouldn't push the salary expectations too much beyond a point. Like how much more can you really ask for?
After your basic financial needs are met, it matters more what kind of work you'll be doing. If you're meeting a decent base salary, and the work/culture is great, I wouldn't get too worried about negotiating to the last penny. As long as they commit to correcting the market rate soon after you join.
At the end of the day, a 20-30% difference doesn't mean much if in one role you have zero job satisfaction and are overworked, while another lets you have a work-life balance despite a lower pay number.
I know friends who've taken pay cuts for better balance. So it's about prioritizing the complete picture, not just chasing the highest number possible.
- When having these conversations during interviews, do you prefer open discussions or communicating over email? Any tips on conveying your points effectively?
In terms of conversations, I think it's always best to have an in-person interview to be candid. A lot gets lost over text or even video calls to some extent. When you're negotiating or want to make an impression, in-person is ideal. How you carry yourself, your personality, and your communication style get conveyed much better.
I don't think email correspondence is that useful beyond logistics like confirming availability. But a good video call or in-person discussion makes all the difference when it comes to negotiation. You have to have full clarity on exactly what you're asking for and saying. If you are confused, the whole discussion will go downhill.
Building that confidence to negotiate well comes from deep self-awareness - really understanding your strengths, and weaknesses and being upfront about both. You can tell them areas you're not as strong in upfront. It's fine because they want to see the authentic you in an interview. Trying to cover up flaws doesn't work.
I've had interviews where I didn't even go through technical rounds and still got the job, just by being my honest self.
Sometimes that openness and self-assurance in presenting your real persona can work better than overpreparation. So have clarity, but also be genuine.
Things may just work out by letting your true self shine through.
Assessing job offers: Beyond salary
- How do you assess multiple job offers beyond just the CTC?
Culture and work-life balance, like having my weekends free, are definitely important factors. But one major factor I would look at is - what is the company's vision and mindset for growth. Companies that have a clear outlook and plan for where they want to go from their current stage to future goals would be very attractive to me.
I want to join an organization that has a sound business model and seems likely to sustain and grow over the long term. Given how many startups have shut down and how many layoffs have happened in recent years, I need to critically evaluate - where is this company positioning itself to be 5 years down the line? I'd directly ask them that question to understand their scaling plans and growth strategies.
Because at the end of the day, when taking a new role, you want to be able to go the distance with the company. It would be detrimental to my career to have to start job hunting again within just 2 years because the company failed or had to downsize dramatically.
So I would thoroughly assess the company's financial health, whether they are already profitable, their capital runways, future product/expansion roadmaps, and leadership's strategic vision. These would be key considerations for me to judge the long-term trajectory and potential for growth at that workplace, beyond just the short-term role and work.
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?
I guess it would come down to evaluating which option provides better growth potential for my career. If taking the internal promotion means I'll essentially keep doing the same kind of work with limited room for growth and learning, but the external offer exposes me to new opportunities, challenges, and the chance to expand my skills tremendously, then those would be significant considerations in favor of the external role.
However, if the promotion at my current company comes with good compensation and clear pathways to continue growing and taking on bigger responsibilities, it could make more sense to stay put. Especially if I've already established myself well here and built up experience and relationships. There are advantages to sticking with a known environment where I'm valued.
The prospect of trying something completely new from scratch at another company is exciting, no doubt. But I'd have to start over from zero in terms of proving myself in a fresh setting. If my current workplace is serving me well with meaningful growth opportunities and I have an emotional attachment having invested years here already, then the obvious choice would be to accept the internal promotion to progress my career further within a familiar realm.
Unless, of course, the situation at my current company is really stifling or negative, leaving me utterly disgruntled and eager to just put in my papers regardless of the promotion. Then getting out takes precedence over anything else.
The work arrangement is also something I'd take into account. I would ideally prefer a hybrid model with some balance of in-office and remote flexibility. It's nice to occasionally meet colleagues in person and collaborate physically sometimes.
A fully remote role is not a dealbreaker for me if the overall opportunity is outstanding and unavailable locally. In that case, I wouldn't let the remote aspect hold me back from a very promising career move. But given the option, a hybrid setup is the sweet spot I'd aim for.
At the same time, it ultimately comes down to personal preference. Some people may have a hard requirement for full in-office or remote options only. So while I'd evaluate the work mode, I wouldn't let it be the sole deciding factor if a role is truly excellent apart from that. It's about weighing the complete picture - the role, the company, the location flexibility, and how well it all aligns with my priorities and lifestyle. The work arrangement is just one piece of the bigger puzzle.
Navigating layoffs
- The past year has been really tough for engineers facing layoffs. Did anyone in your circle get laid off in the last year?
Yes, quite a few of my friends.
- Do you have any advice for people going through a layoff right now?
Most people I knew who were laid off managed to find new jobs quite quickly. The key is to not be complacent and ensure your skills remain highly marketable. As long as you have the expertise to make important contributions and truly excel at what you do, you remain in high demand.
Those who took the layoff too personally and started questioning their self-worth - thinking they're not good enough or that they were laid off for underperformance - that negativity becomes a tough spiral to break out of. Even for me when exploring new opportunities after leaving that startup, there were moments of self-doubt creeping in about whether I was actually good enough.
But if you let that mindset fester, you can't put your best foot forward in interviews or conduct an effective job search. What matters most is putting in the work to fortify your skills, not losing confidence, and persisting through the job hunt relentlessly.
It sucks and luck plays a role, but giving up is not an option. Most people I knew landed on their feet by staying motivated and focused.
- What do you think can be an ideal job search strategy for someone going through a layoff right now?
Networking and leveraging connections are hugely helpful. Having referrals gets you through doors much more easily in the hiring process. Understanding what each specific role and company is looking for, and tailoring your resume and positioning accordingly, really pays off instead of mass applying with the same generic pitch.
I'd actually suggest interviewing at companies you don't intend to join first, using those as practice before final interviews at your dream companies. That way you get comfortable with different interview processes, and questions, and know what to expect so you don't get stumped by something new in those highest-priority interviews.
It's also advisable to not directly apply to your top choice companies right away. Go through interviews at similar companies in that space first. Get experience, learn from those processes, and then pursue your ideal opportunities when you've had practice and know how to put your best self forward.
The job search is grueling, no doubt. But strategic preparation, focused targeting, networking, and protecting your own confidence levels are critically important to positioning yourself strongly in a competitive landscape.
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. On burning out
During COVID when we were building a startup - it was just non-stop work 7 days a week since you're at home with nothing else to do. At times, I felt like asking myself "What am I even doing?" So yes, it's extremely important to take breaks periodically.
Before I started at my current company, after moving to the Netherlands, I actually took a 2-month full break. I wasn't job hunting or working at all during that time. I was just doing casual part-time gigs to get my mind off professional work and recharge properly before diving back in.
No matter how good you are at your job, you can't sustain peak performance without recovery periods. Burnout catches up to everyone if you don't proactively address it.
2. Signs of burnout
The biggest giveaway is when things you previously enjoyed and excelled at start feeling like a drag or chore. You find yourself unable to operate at the same productive pace as before. You get tired very easily when working on tasks. You just want the workday to end as soon as possible. You start becoming lethargic but still push through, though not with the same enthusiasm or sense of accomplishment.
Essentially, when you catch yourself constantly counting down to weekends and free time instead of deriving fulfillment from the work itself - that's a clear sign you need to hit pause and recharge. Your mind and body will make it extremely evident that you desperately require a break.
3. Maintaining work-life balance
Managing your work-life boundaries is critically important. Only work the hours you're contracted for - do not take work home, especially in remote environments where it can easily bleed into personal life. Set a hard stop time beyond which you completely disengage. Developing that routine helps create separation.
Making time for recreational activities is vital - exercise, reading, and having an active lifestyle outside of work.
When you're constantly in grind mode trying to push out your maximum productive output, you exhaust your mental and physical reserves. You have to consciously replenish them through other fulfilling activities.
It's easier said than done incorporating those practices daily. But if you can build that balance and structure, it goes a long way toward sustainable peak performance without burning out.