What does it take to become a great software engineer?

RishavSen Choudhury
Skillenza
Published in
4 min readJun 15, 2018

“Software is a great combination between Artistry and Engineering”

What do programmers do? They develop ways to solve a problem. So, why not develop a technology for the same solution? (if the problem is significant)

And that’s how you become a software engineer but not a ‘great’ software engineer.

Note: I am assuming that you already are a good programmer and if you aren’t then you can read my answer here.

Before learning about traits, let’s talk something about the best part of Software Engineering i.e., the money. Here are few companies where ‘great software engineers’ work and for them, it’s fun to code:

  1. Google: Expect a salary between 7 to 38 lakhs per annum apart from other benefits.
  2. Adobe: Expect a salary between 8 to 14 lakhs per annum
  3. Juniper: Expect a salary between 4 to 23 lakhs per annum
  4. Microsoft: In India, they generally pay between 10 to 12 lakhs per annum
  5. Intel: You can expect a salary of about 11 lakhs per annum
  6. CISCO: It pays around 12 lakh per annum to software engineers

Others: Amazon(12 LPA), Goldman Sachs(10–12 LPA), Flipkart(10–20 LPA), DirectI(7 to 26 LPA), Samsung(18 LPA), World Quant(10–41 LPA)

As per payscale, Bangalore, Gurgaon, Delhi, Kolkata, and Pune are the most preferred places for a software engineer.

“You can’t earn great if you don’t love your work and you won’t love your work until you develop skills in same”

The following practices might be enough for you to become a ‘good’ software engineer:

  1. Study Mathematics: Software Engineers main objective is to create algorithms which allow a software to function. You have to develop your maths skills in preparation for it, particularly Discrete Maths.
  2. Start Programming: I have already answered a question about various methods to develop your programming skills. Apart from it, a software engineer has to be thorough with multiple programming languages and their functioning.
  3. Join Competitive Programming Websites: Sites like Hackerrank, Skillenza, TopCoder help the programmers to code competitively. Also, many companies hire directly from these online competitions. You can learn more about it from my answer to the question ”What are the coding contests/sites where companies hire from?”
  4. Watch Tutorials and Read Books: There are a plethora of options among tutorials online and read the success stories of various software developers like Mark Zuckerberg, Sergy Brin, Steve Wozniac, Larry Ellison, Larry Page and others. You will learn a great depth of the cultures and practices followed by them.
  5. Learn Framework: Frameworks are standard ways to build apps. These provide you with functionalities which you will require during software development.
  6. Start Making Software Projects: You have to analyse your strengths and weaknesses in deciding your project. Start with a familiar coding language and use a small sized project as your first. Once, you develop confidence, start challenging yourself and distribute your projects for testing. Analyse the faults and solve them.
  7. Break your own code & Learn to Debug: The main objectives of the practice are to develop a deeper connection with your codes and you can find commonly found bugs in the code which will help you in coding for future projects.
  8. Start Building your profile: Create your accounts on LinkedIn, Branchout, AngelList, Zerply, MeetUp and VisualCV. Make sure you have same usernames for all the social media accounts like Facebook, Twitter, and Youtube. Learn the art of writing CVs and Resumes. This will surely help you in your interviews.
  9. Apply for Internships: You can start applying for internships only when you have developed adequate number of significant projects. Internships might be tricky for beginners and questions like “Who, Why, How?” might arise. Websites like Internshala, Letsintern, Twenty19, Youth4work, HelloIntern, TopTalent, HelloIntern, Microsoft Summer & Winter Training are some worth places to search for quality internships. An internship is an excellent opportunity to get hands-on training and work with employees.
  10. Apply for jobs: Since software development is one of the major industries, you will find a job quite quickly. With experience, you can apply for a job in major software companies which I have listed down for your convenience.

Since you are in a software industry where software might be deployed within 1 year, you have to keep on learning and gaining knowledge from previous development. ‘Keep a track on upcoming technologies and adapt to the industry’s demands’ are the keys to sustain in Software Industry.

--

--