10 Learnings from one year of preparing and having tech interviews

Gabry Martinez
8 min readJun 15, 2021

--

While prepping for interviews around a year ago, I read plenty of articles providing tips, and do’s and don’ts while interviewing at tech companies. But few talked about soft skills, which are equal or even more important than the technical ones. After appearing at several interviews, I decided to make a compilation of all the non-technical things I wish I knew when I started interviewing for a job in the tech industry. So, here’re my collated notes that might help you if you are looking for a job in the software development industry.

Background

I’m a Mexican software developer currently living in Mexico. I have 10+ years of experience working in the tech industry for companies of different sizes and kinds. In case you are wondering about the set of skills and jobs I have gotten along these years, you can take a look at my resume here.

Photo by Jexo on Unsplash

I had prepared for interviews at different times during my career but, this time my goal was to get a job at a product-focused company, outside of Mexico, which for many reasons put me in the same line as any developer from any place or country. There were many technical aspects of my resume that I had to enforce, especially on the programming aspect. Lately, I had taken up roles like Team Lead or Cloud Architect that required me to lean on more high-level software design, instead of coding. Because of this, I was a bit rusty at using algorithms and data structures. Preparing for the technical interviews was comparatively easy. Don’t get me wrong here! I mean it’s easier to get a list of articles and material for reviewing and practicing the foundations of algorithms and data structures. So, I ended up using many different resources, from books to online platforms. I selected a list of the ones I found most useful. If you are interested you can find it on my GitHub page.

Learnings and growth

When I started off, I knew I needed to practice more. As I went through the path of preparing myself, I started taking interviews with many different companies: consultancy, development services, product-based, and any company that seemed like a good option at that time.

After the first months of this journey, I was able to recognize some key things in the interviews where I passed to the second round; the entry point was to be good at coding and data structures but then there were other aspects that I was seeing relevant too. Communication skills and collaborating well with the interviewers during the coding exercises were equally important. Later, I realized that just doing real interviews was not going to be enough for improving and performing better. It was also important to exercise my soft skills in leadership and communication in real scenarios.

As the pandemic started many meetups and events were held virtually. I took this opportunity to collaborate with different communities inside and outside Mexico. Doing mentoring as a volunteer and giving talks about the technical things I was learning, and also taking a more leadership role in the job that I had, helped me to have real scenarios.

Participating in different communities where other women were also learning and looking for jobs as software developers helped me recognize that good soft skills make you stand out in the crowd. Developers who are more approachable while collaborating provide a better experience and outcome in a real project.

The key learnings

From all the learnings and experiences I got from more than a year of doing interviews, I was able to make a list of the most relevant things that helped me (and hopefully can help others), perform much better during the interview process. These are not necessarily related to coding and are often useful in the behavioral interview rounds:

  1. Know your weaknesses as well as your strengths. It is well known that many interviewers like to ask the interviewee this kind of question. It is not that they will know if your answer is 100% accurate, but this will probe the interviewer that you are aware of your opportunity areas and even more, what are you doing for improving them. Make an exercise of introspection where you can recognize what things you need to improve. Ask your colleges, teammates, mentors, or someone that have worked with and get feedback, which can be put in actionable items. This will make a huge difference when similar questions show up in the interview process.
  2. Own your story and be proud of it. In any workplace, or actually any place where you collaborate towards a common goal, there will be someone better than you and someone less qualified than you. But, it is true too, that you have a singular set of skills that give a unique value to the work and contributions. Be aware of them and use them in your favor to deliver and perform at the best of YOUR abilities in your work as well as during interviews.
  3. Get support from the communities. Software development is not a “solo job”. You need help, advice, collaboration, guidance, and many more aspects in your current job and even more important, outside of it. Look for the communities that support professionals in the industry and offer resources. You can give support to the same communities in return to others, with less experience than you. This will help to keep you motivated and you will learn even more from others that have gone through the same process.
  4. Stretch your boundaries. Take this process as a path for professional growth. Challenge yourself by doing new things, experiment doing the same things using different tools. There are many ways of doing the same thing, look for the one that works better for you, but be open to learning new ones and adjust or iterate on the way you do your work. This will help you increase your adaptation skills and resilience in times of change and challenges.
  5. Bring out the leader and team player in you. When interviewing there will be many questions about what would you do in different and challenging situations. Prepare your answers, go through your learnings in the past and evaluate what decisions you made, how you used your soft skills to overcome a challenging situation, what style you hold when dealing with these situations, how you collaborated across different teams. This will give a lot of information to the interviewer about your level of confidence, your communication style, how you collaborate with others, and more aspects about how is it working with you in the same team.
  6. The path might not be short, listen to your body. When preparing for interviews you will have to make an effort of putting in extra hours including studies and activities that will help you in the preparation. Depending on your current workload or your personal time there can be times when you need some breaks to recharge your energy before continuing with it. The quantity of breaks and how often you need them depends only on you, but be aware that resting is equally important as the time you put into working or studying.
  7. Quality beats quantity, pick the interviews that are closer to what you are looking for. I have seen many developers interviewing for jobs that they are not even interested in. Although there is nothing wrong with that, it’s draining and is time-consuming. Time is a limited resource and you want to make the most of it. In my experience, being more selective gives the best outcome in learning and experience, in the long term.
  8. If you want to enforce your knowledge share it. There is no doubt that you learn even more when you teach or explain your knowledge to others. Any knowledge that is just acquired theoretically will vanish sooner than the one you put into practice. Use your knowledge in meetups, blogging, pet projects and share it. There are several venues for sharing your learnings with others and no one else has the same perspective or learning process as you.
  9. Advocate for yourself, rejection is part of the process, but do not let it discourage you. In interview processes, there will be times where you will not get great feedback, that is okay. There will be things you do not know or skills that are not good enough for the job you are applying for, and that is okay too. Job hunting is a process of two parts, you will showcase your skills, and also you will know the team, or company you are applying for and what are the benefits you will get of that experience, or at least close to that. Know the value you provide and advocate for it and your experience as a professional. There are things you do not know but you are totally capable of learning them. Software development is always changing so there is no shame in not knowing anything that the company will ask you about, but you can use your experience and apply it while you learn new things and still deliver value.
  10. And the last one, Enjoy the process of the interview. This one took me a while. In the beginning, I was too focused on the result and was putting a lot of pressure on my performance and answering questions that I barely enjoyed the interviews. I realized that this was interfering while interacting with the interviewers and also I was not performing at my best.

Interview processes are like a demo of how it is working with you every day, make sure to showcase all the person you are, the collaborator in you, and the professionalism you put in your work. No one is perfect, so it will make a huge difference getting a taste of your authentic self instead of showing something you are not.

I believe these are important learnings that I’m sure I have also heard from some others people, so it’s my humble attempt of putting them in one place. I wish I had read them at some point when I started appearing for technical interviews. This process, helped me realize that navigating through a software development career is different for every person. We are in a time where we have tons of resources, which is great. But also tricky to figure out which ones work better for you and what process you can follow for discovering them.

I appreciate and thank all the professionals who also share their learnings and the challenges they have faced in their careers, publishing on blogs and social networks. They have been a huge inspiration and motivation when I have encountered challenges in this journey. I hope this compilation helps others too. Also, I want to make a special mention of these two communities where I have found a lot of support: Women Who Code and Techqueria. Both of them have been extremely useful and supportive during crucial times. I encourage you to join them if you are looking for support or if you like networking with other professionals, which is also tremendously important these days in the tech industry.

Feel free to reach out if you need some help or want to share some of the challenges you faced too and the learnings you got, I would love to hear them!.

Thank you for reading!

PS Thank you Payal Dhiman for always supporting me with my posts.

--

--

Gabry Martinez

Software engineer, coding software for web and cloud. Love software architecture, c#, unit tests and open source. TRX, books&coffee in my free time.