My learnings from 5 years in the software industry

Siddhartha Sehgal
FAUN — Developer Community 🐾
7 min readApr 22, 2021

--

As I complete 5 years in the software industry, in this blog, I will try to organize the tips, nuggets of experience, and advice that I wish I had when I first started my journey.

A little background about me — as a student I really wanted to pursue higher studies in Physics (may still pursue it someday), though I had a deep interest in Computer Science as well. I did my bachelor's of technology in Computer Science from a tier 3 university in Greater Noida, in India, and ended up securing an internship at a service-based MNC based in Mysore, Karnataka.

As I began the internship, which took place in my last semester of college, in January of 2016, thus began my journey, and it has been an interesting ride to be honest.

Pick a career you don’t hate

While expecting everyone to pick a career based on what they love doing might be a bit unrealistic, the “Do what you love” advice is not just for motivational posters. If you are planning to succeed in the software industry, learning about new technologies on the go as well as keeping up with the new technologies is important. Doing that becomes easier when you are genuinely interested in the field.

Pick a domain you enjoy working in

While you might not absolutely love working in the software industry, take out time to find a domain that might interest you more than others.

Perhaps you enjoy coding or working with web technologies, making beautiful websites and experiences for users, or doing analytics based on data collected from different sources. These domains, while all falling in the software category, do involve very different technologies and you’ll be spending your time a lot different depending on what you pick. Investing the time to find what interests you is a good investment, I can promise you that. A few examples:

  1. Enjoy coding — Backend development, real-time/batch processing systems, writing business logic.
  2. Enjoy working with designs and focus on how a website looks — front-end developer, UI/UX designer, Android/iOS apps developer.
  3. Enjoy making sense of data — data analytics, data engineers, machine learning consultant.
  4. Enjoy working on making apps and systems secure — cybersecurity engineer
  5. Enjoy keeping large systems running and available — DevOps engineer, Site Reliability Engineer.

Don’t be afraid to change your domain more than once. Granted it will be easier to change your domain early on in the career, staying in a domain you don’t enjoy working in, for a long time, will be detrimental to your career too.

Surround yourself with people of the same domain

Once you pick a domain, whether you pick it for trying it out, or you decide to pursue it, one of the best ways to quickly grow into it is to surround yourself with people working on the same technologies, people who are 3–4 years ahead of your current level.

There is immense value in experience, and we realize it as we make our way up and make mistakes and learn from them. Don’t wait to make all the mistakes yourself, learn from others. Talk with senior software engineers, leads, discuss what their day-to-day looks like, how their career progressed to reach that level.

I personally do a lot of leetcode, and try to engage regularly with writers in the discuss section over there. Then there’s your workplace, LinkedIn, Twitter, Reddit. Join the software community, discuss what people are building using the technologies you know, etc.

Invest in your upskilling

What you learned in school/college might already be outdated (unless, of course we’re talking about foundational concepts like algorithms and data structures).

There are two generally accepted way of progressing your career in the software industry (especially for developers):

  1. Be flexible (to certain extent) and willing to learn new technologies. For instance, if you know Python and a bit of Django (a web framework in Python), willing to learn Flask as well, or adding some front-end technologies to your portfolio, will go a long way in making your profile more desirable to employers. Since not all companies will use the same tech stack you are familiar with, a T-shaped skillset will open you to more opportunities.
  2. Learning a niche skill that not many people know in deep, and strategically target employers that use that technology to provide your expertise. It could be a database, a software tool, or a technology that you become an expert in.

Pick one of the strategies, or a mix of them, and invest in learning. Use free resources like YouTube or free websites to learn a lot without spending anything. Alternatively, to get a little better course material, plus instructor support in some cases, use resources like Udacity, Udemy, LinkedIn learning, etc. Given that the software community is large and so much of it open source, if you’re learning languages or frameworks, you can almost always find free resources for them. Don’t know such resources? Ask on LinkedIn, Twitter. The software community is, from what I have experienced, very helpful and supportive.

A 30 min learning session each day, a couple of hours on the weekend, if you’re consistent, will improve your skills, and in turn your worth in the employable market. Consistency is key.

Mix technology skills with soft skills

If by learning a new tool or a new language, you increase your knowledge, soft skills will enable you to showcase that knowledge effectively. Practice explaining your logic to teammates, engage in discussions related to design with your lead, practice giving mock interviews.

While hard work will prepare you with technologies and skills set and make you a better developer, for example; smart work of improving your soft skills will make you a better teammate, and that is usually just as important as being a good developer. Take out time for improving your speaking skills, listening skills, problem-solving, etc.

Often big software companies like Amazon and Google have some key things their interviewers look for in interviews, for example, Amazon’s Leadership principles. Prepare yourself for those scenarios and read extensively about the company that you might be interviewing for. Note that I strongly suggest against faking any part of your resume, but merely be handy with the key points and your contributions, so you can talk about them with ease.

Make a presentable resume and apply apply apply

Your resume is the first thing that your potential employer sees. Recruiters receive more resumes each day than they would like to handle. You want your resume to be short, be precise, and able to quickly showcase that you have the skills to do the job. Employers look for your contribution to that big project you were part of. They look for the keyword skills that they need for the requirement. Revise your resume till you are able to capture the eyes of the recruiters. Spend time on this very important part of the job application process.

Once your resume is set, start applying. You want to be prepared for the job you’re applying for, but it is easy to keep feeling under-prepared and delaying the application process. Few things to keep in mind if you are facing that dilemma:

  1. Your resume might not even get picked immediately. Given the sheer amount of resumes recruiters get, chances are you’ll have to wait or apply again to capture the eye of a recruiter. So apply sooner than later.
  2. Your resume might not be up to the mark yet, and applying soon will give you early signals to improve certain parts of your resume.
  3. You might be ready with the skills set but might lack soft skills and dealing with nervousness while giving an interview, which will improve when you give interviews.
  4. Interviews often involve some luck, for example, getting asked that one topic you are very confident in or discussing that one project you did your best work on. Increase your chances by applying more and applying often.

LinkedIn is, by default, the social media for job seekers. Have a presentable profile that showcases your skills and be on the lookout for job openings from companies that you might want to work for. If you’re looking to work in a small startup, look for its founder, product managers on Twitter. Many startup founders are active on there and are constantly looking for good people to work with. You can be one of those good people.

While these are the tips I would give to myself from 5 years back, I am excited to see what new experiences the next 5 years bring for me. I wish anyone reading this a successful journey in the software industry.

Feel free to connect on LinkedIn:

Join FAUN: Website 💻|Podcast 🎙️|Twitter 🐦|Facebook 👥|Instagram 📷|Facebook Group 🗣️|Linkedin Group 💬| Slack 📱|Cloud Native News 📰|More.

If this post was helpful, please click the clap 👏 button below a few times to show your support for the author 👇

--

--