Breaking Into the Big Leagues: What Top Product-Based Companies Look for in Candidates. Tips from Senior Software Engineer at Microsoft (16 YOE)
"Lessons Learned: Insights from a Seasoned Software Engineer"
Question 1 - Since you’ve already guided hundreds of students, What patterns do you see in them? Who succeeds and who fails?
Answers - From my experience, I have found that students who succeed in their careers as software developers tend to be those who are consistently curious and willing to learn new things, who can work well in teams, and who can effectively communicate their ideas. On the other hand, students who struggle tend to be those who are not willing to put in the necessary effort to learn and grow, who are not able to work well with others, or who struggle to communicate their ideas effectively.
(Scaler Specific - Follow live lectures, clear your doubts at the end of class, Do assignments and homework regularly, and take the help of TAs whenever you're stuck.)
Question 2 - What extra effort should I put apart from Scaler?
Answers -In addition to the Scaler program, I would recommend putting in extra effort to practice your coding skills by working on personal projects or contributing to open-source projects. It's also important to keep learning and staying up to date with the latest technologies and industry trends.
(Scaler Specific - Scaler is more than enough to get into a Product based company.)
Question 3 - Things that are expected from the candidates appearing for the top product-based company. (Person with 0 Experience)
Answers - Companies like the ones you mentioned (FAANG) typically look for candidates who have strong technical skills, the ability to learn and adapt quickly, and the ability to work well in a team. It's important to be able to demonstrate these skills through your projects and experiences, even if you don't have any professional experience yet.
Question 4 - What is expected from an entry-level Software Developer? (How to be a really useful asset for the company)
Answers - As an entry-level software developer, it's important to be willing to learn and be open to feedback. You should also be able to work well in a team, communicate effectively, and be able to take on responsibilities and complete tasks independently.
Question 5 - Can you share any experiences or lessons learned from your career that you think would be helpful for a student to know?
Answers - One lesson I learned early on in my career is the importance of continuous learning. Technology and the industry are always evolving, and it's important to stay up to date and continually improve your skills in order to be a valuable asset to your company.
Question 6 - How important is mathematics/core Computer Science for an Engineer?
Answers - Math and core computer science concepts are important for software engineering, but the specific level of expertise required can vary depending on the role and the company. It's important to have a strong foundation in these subjects, but it's also important to be able to apply your knowledge and skills to solve real-world problems.
Question 7 - Advice on Open Source.
Answers - Participating in open-source projects can be a great way to gain experience, build your portfolio, and contribute to the developer community. I would recommend finding a project that aligns with your interests and skills, and contributing in whatever way you can, whether it be through code, documentation, or testing.
Question 8 - How to develop Problem-Solving Skills
Answers - Developing problem-solving skills can be achieved through practice, whether it be through working on personal projects or participating in online coding challenges. It's also important to seek out diverse experiences and perspectives, as this can help you approach problems from different angles.
Question 9 - If everything were to happen according to the plan? What package should I expect from the company?
Answers - It's difficult to predict exactly what package you might expect from a company, as it can vary based on factors such as the company, the location, and the specific role. That being said, I would recommend focusing on building your skills and gaining relevant experience rather than worrying too much about the specific package you might receive.
Question 10 - Is Scaler Backend/FullStack Curriculum enough to get a job?
Answers - The Scaler program is designed to prepare you for a career as a software developer, but ultimately it's up to you to put in the necessary effort and use the skills you've learned to land a job. It's possible that completing the program and gaining some real-world experience through internships or personal projects could make you a more competitive candidate.
Question 11 - What skills should I focus on in the Future Job Market (in 10 years)?
Answers - It's hard to predict exactly what skills will be in demand in the job market 10 years from now, as technology and the industry are constantly evolving. That being said, I would recommend focusing on building a strong foundation in computer science and software engineering principles and staying up to date with the latest technologies and trends. It's also important to develop soft skills such as communication, collaboration, and problem-solving.
Question 12 - How to work on different tech stacks? (How to learn/switch fast).
Answer - To work on different tech stacks, it's important To work on different tech stacks, it's important to have a strong foundation in computer science and software engineering principles, as these concepts can be applied to any technology. It's also important to be proactive about learning and staying up to date with new technologies and languages. One way to do this is by working on personal projects or contributing to open-source projects that use different tech stacks. You can also learn from online resources or take courses to gain a deeper understanding of the technologies you're interested in.
Question 13 - If I were an Intern under your guidance, What would you expect me do on my own?
Answer - As an intern, I would expect you to take on responsibilities and tasks independently, and to be proactive about learning and asking for help when needed. I would also expect you to be a team player and to contribute to the team in any way you can.
Question 14 - Java VS Python VS Javascript
Answer - It's difficult to compare programming languages directly, as the "best" language for a given task can depend on the specific requirements and constraints of that task. That being said, all three languages you mentioned (Java, Python, and JavaScript) are popular and widely used in the industry, and each has its own strengths and weaknesses. It's important to have a strong foundation in at least one language and to be open to learning and working with new languages as needed.
Question 15 - Can you recommend any resources (books, online courses, etc.) that have helped you in your career development?
Answer - Focus on Scaler for the first month then read books on software development and computer science (such as "Cracking the Coding Interview" and "Clean Code") Blogs and articles from industry experts (such as the Google Developers Blog and the Microsoft Developer Blog) Participating in open source projects and attending meetups and conferences related to my areas of interest.
(Scaler Specific - Initially Focus on Scaler Curriculum only)
I hope you like this post :)
Let's connect on Linkedin & github :)
🔴 Disclaimer - I asked these question to my mentor who's working in Microsoft. I have extrapolated certain things from his answers based on my readings of the trends in the Software industry from various talks, blogs, videos & seminars etc.