Does making new software, testing them out, maintaining them and the hi-fi IT life excite you?
You have found your passion. The booming IT industry is waiting for another smart engineer to join the league. And, you might have already decided software engineering is the right way to take your career forward.
The question that most people have in mind is how do you exactly become a good software engineer? When students complete 10th/12th, they are confused as to how to proceed towards achieving their dreams.
Those who are already in engineering college, doing B.SC IT or BCA/MCA are equally curious about how to become a software professional.
We hear you. This post will guide you through the entire process of becoming a software engineer- right from completing 10th to passing out of college. Feel free to skip sections that are not applicable to you.
Table of Contents
- Who is a Software Engineer?- The basics
- What Does a Software Engineer Do?- The real world scenario
- How to Become a Software Engineer?- The 3 steps Indian students usually take
- Tips for Becoming a Real Software Professional- 8 tips that will make you a real software pro
- FAQ’s on Software Engineering Career- The most frequently asked questions by students
Who Is a Software Engineer?
First things first- Exactly who is a software engineer and what does he do? How is the typical workday like, and what are the challenges faced?
A software engineer is anyone who works towards creating, maintaining and testing software products and services.
Although the term “software engineer” is quite confusing and debated, to work in an IT firm, you do not require an engineering degree (B.Tech/B.E) as most people think.
Even if you are a B.Sc, BCA, MCA, or some other graduate, you can join and work in IT industry. All you need to have is some basic understanding of programming languages, problem solving skills, and willingness to learn.
A software engineering job can be broadly classified as two. One group works on software coding and another group works on testing out these software and identifying issues (known as bugs in the software world).
There are several other divisions like SAP, database, system administration and so on. But for the sake of simplicity, we can focus on programming and testing- which is what majority of people aspire to do anyways.
Back to table of contents.
What Does a Software Engineer Do?
In simple terms, software engineers works on building, maintaining or testing software. There are several programming languages, and he will be working on any one platform.
If you are working for service companies like HCL, Infosys, TCS, and so on, you might be needed to handle different software technologies and different products.
On the other hand, if you are working on product companies like Google, Jombay, Flipkart and so on, you might be focusing your skills on one or two language platforms.
Depending on the team size, project requirement, and company, you might be
- Coding software from scratch
- Adding functionality to existing products/services
- Maintaining already built existing software
- Testing current software for issues or
- Handling other technical aspects of the project like database management, syncing the front end and back end and so on
How to Become a Software Engineer?
Here is the typical process a student in India follows to become a software professional.
Step #1: Prepare for a competitive entrance examination
There are a lot of competitive examinations that you can write based on which you can secure seats to engineering colleges.
Some of the common engineering tests are
Some exams are so competitive that students start preparing from class 6th onwards for cracking the tests!
Once their times comes to write exams, they purchase forms for a number of such competitive exams and give tests. Once results come, based on the rank they can get admission to colleges.
For those who couldn’t secure good ranks, many colleges have management seats where you can “buy your way in”!
Step #2: Become an engineer!
These days it’s no big deal to become an engineer. Almost everyone can become engineers. Thanks for the mushrooming engineering colleges in the country as well as higher availability of education loans.
Since IT is such a hot field, people prefer taking CS and IT as streams for their engineering education.
Students spend 4 years in an engineer college, mug up a lot of things (sadly true), give exams, and become and engineer at the end of 4 years (If you are one of those who could complete your education in 4 years by passing all papers. If not, you can still take extra time to clear any exams you might have failed).
You’d also be doing mini and main projects during your engineering days which should help you get an idea about coding really works. Sadly, most people rely on coaching institutes to help them with the coding part. This beats the whole purpose of making you do the project. It’s like copying for an examination and saying that you passed.
If you have taken CS or IT, you’d be more exposed to programming environments. If you get into B-Tier colleges, chances of you still using Borland C++ are very high (Which is no longer used anywhere else for the past several years!).
Step #3: Secure Job via Campus Placement/ Job Portals
Most good colleges have campus placement opportunities.
If you have scored decent marks for your engineering (generally range is 60%-80% for most companies), then you’ll be able to sit for campus placements.
If you can pass the aptitude round and clear all other rounds including HR and technical (sometimes group discussions are also included), you’ll be selected!
For those of you who are unlucky, you might have to try job portals. Even those who secure good jobs via campus placements can rely on career platforms like Jombay.com to find out whether they chose the right career path.
Once you get a job, that’s it. You are now a software engineer by common standards.
Tips for Becoming a Real Software Professional
#1: Don’t rely only on your degree
You might have a computer science degree. But that doesn’t mean that companies are rushing to give you jobs.
In fact, companies sometimes avoid hiring overly qualified people since they know they won’t stick around for long.
So if you want to become a real software professional, then show them your passion, your skills, your willingness to learn, and not your degree certificate.
#2: Learn as much as you can
“Anyone who stops learning is old, whether at twenty or eighty. Anyone who keeps learning stays young. The greatest thing in life is to keep your mind young”- Henry Ford
It might sound a bit cliched, but you must learn as much as you can before trying to convince companies to give you development jobs.
Nothing speaks more greatly of yourself than your demonstrated willingness to learn on your own.
Instead of outsourcing your project work, do it on your own. Attend tech fests in other colleges. Get involved with projects that solve real world problems that are current instead of relying on the age old themes your seniors have been taking up.
Make your fundamentals clear. In almost any tech interview sessions, the interviewer will test your basics rather than testing your advanced skill level. If you are good with the basics, they are sure you can be trained for advanced programming.
#3: Your college brand will not necessarily get you a job
It’s great if you can secure admission in IIT’s or NIT’s. But the fact that you got admission in a reputed college need not translate into a job opportunity.
Employers are not usually concerned about where you come from (sure some companies are, but most good companies are not!). What matters are your skills, your aptitude and the cultural fit.
So if you think that you are destined to be a great programmer since you got into a good college, throw away that thought into the ocean.
#4: Join a startup
There are advantages and disadvantages of joining a startup company like YournextLeap.
The downside is that it might not be the name everyone recognizes. So sometimes you might find society looking down upon you (sadly there are a lot of people who think that Infosys, TCS and Wipro are the only companies any engineering graduate should work for.)
The brighter side is that there is no better place for you to learn and grow than a startup firm. You are not bound by corporate policies or weird limitations. You are much freer to explore and try out new ideas.
So if you really love to code and want to build a great software engineering career then join a startup. It’s the best thing you can do.
#5: Understand software jobs are not always parties, huge pay-cheques and unlimited fun
Some students think that software engineer’s life is full of parties and huge pay cheques. They might see them partying the whole weekend and envy such a life.
However, what most people fail to see is how much pressured software developers are.
Sure they may have a great weekend and have loads of cash to spend. But can you spend 9+ hours regularly working from office?
If required can you work the whole night to fix a bug or release a newer version of the product?
Can you afford to sacrifice weekends for the important project your client gave you which needs to be finished on time?
All that glitters is not gold. With such perks come added responsibilities as well.
#6: Be passionate about what you do
“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” – Rich Cook
It should go without saying.
But when you are a programmer, you must love your work. You must learn to treat your software as your own baby.
If you lose passion for what you do, you are no longer a good engineer.
#7: Keep Yourself Updated
One good thing about technology is that it’s constantly evolving.
To make sure that you are up to the game, keep reading industry blogs and participate in forum discussions. Most of the time, you can gain knowledge by helping someone out with their issues.
At the minimum, read hacker news. It’s an excellent source for staying up-to-date as well as reading intelligent discussions by experts.
#8: Network, Network and Network
Did you know that most good jobs are taken even before they come out to the market?
You never know who can help you get your foot in your dream company. Attend meetups, participate online and add intelligent discussions.
Not only does networking help you expand your job opportunities, it will also help you learn things much faster. Always try to work with people who are smarter than you!
Back to table of contents.
FAQ’s on Software Engineering Career
Is software engineering a good career?
Yes and No.
Without knowing you, your abilities, your passion, no one can tell you which career suits you the most.
That’s OK. You can take the free test Jombay.com provides to understand whether a software engineering role suits you. The test is based on psychometric evaluations, so it should give an idea about your strengths and weakness. Our career experts can then take a look at it and give you more focused answers to your queries.
Which programming language is the best?
There is no “one-size-fits-all” solution for the best programming language.
You should start with a simple programming language. If you have absolutely no programming knowledge, we suggest you start with Python. Then work your way up with other programming languages.
Some of the reasons we suggest you start out with Python is
- Object Oriented isn’t necessarily the best paradigm to start out with. Python is a multi-paradigm language that doesn’t endorse pure Object Oriented / Functional style of programming.
- In python, The level of abstraction is high enough to help the beginner focus on learning the basics of programming instead of being bogged down by the low level details. Once you the essence of programming, you can start exploring other programming paradigms, dig deeper into languages closer to the hardware like C/C++, etc. People often call python ‘executable pseudocode’.
- Python is very easy to pick up for beginners
- Python is a very “clean” language
- Python is a pure high level programming language
If you know one language like Python inside out, the rest will be easier to learn.
I am not a B.Tech/B.E graduate. Can I still become a software engineer?
While it’s still not clear whether you should refer to yourself as an engineer of any sort, one thing that’s for sure is- you do not need an engineering degree to work as a software developer.
This might not be the case with all companies though since most companies would require you to do a 4 year degree (preferably in the area of computers). However, most small companies won’t have such requirements.
If you are thorough with your programming basics, and have strong analytic and problem solving skills, you are more than qualified to join an IT firm as a software developer trainee.
Software engineer, Software analyst, System engineer, Software developer- Are all these the same or different?
All these are basically the same.
Depending on the company you get into, your designation can change. But the underlying work you do is more or less the same.
In some software roles, you might not have to do coding and would be majorly involved with talking to clients, understanding their requirements and then communicating with the development team.
So make sure you understand what the company actually means when they mention software engineer or software analyst. If you cannot find required information in the job description, ask the HR during the interview.
Do I need to take computer science or Information Technology engineering stream to be qualified for IT jobs?
While most companies would “prefer” candidates who are already familiar with computers and programming, you don’t necessarily need to be a CS or IT engineer.
Companies like Infosys and TCS recruit even mechanical and civil engineers (in addition to CS, IT, EC, and EE candidates) who have the least programming experience.
I am not an engineer. Can I work in an IT firm developing software?
Yes, you can.
You can take courses such as BCA, MCA, B.Sc computer science or take certificate courses like NIIT to increase your chances of getting an IT job. Even if you are an engineer, you can still do certifications for different programming languages to help improve your credibility.
I hate programming. Can I still get a job?
While you can still get a job, we suggest not pursuing the opportunity. If you don’t think you’ll enjoy doing programming or testing for the rest of your life, then do not pursue such opportunities.
I don’t know to program. But I got a job in a big IT firm. What to do now?
This happens a lot when companies recruit in bulk. People who have no idea about programming usually end up being selected. Students accept the job offer because of the nice pay package. But now what happens?
Some students manage to do well since they can pick up things fast. Others either scrape through the training sessions and some even gets terminated.
If you think you will enjoy the work and can do well, then go ahead. Else, give the opportunity a pass.
Is software testing for those who did not qualify to be programmers?
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” – Edsger Dijkstra
Some students and working professionals have the wrong notion that software testing is not a good job and that it’s somehow lower in level compared to a programming job.
That’s not the case at all.
Software testing and programming are two equally important areas. No one field is better than the other.
Do I need to do certifications courses to become a software engineer?
There are lot of institutes offering short term and long term certificate course. Truth is you don’t need any of them to get a job as a programmer or a tester.
All that matters is your ability to learn and your passion for the job. If you can learn a programming language on your own and then code the most simplest of programs without error, you are much better off than those with certificates.
With the internet being accessible and affordable to most people, learning a new programming language shouldn’t be hard. You don’t need to buy text books even. Everything is out there in the open for you to try out.
Over to You:
Do you want to purse software engineering? Have questions in mind? Ask us via the comment section.