
Img Credit: cnbc.com
Does making new software, testing them out, maintaining them and the hi-fi IT life excite you?
Great!
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.
PHP, C++, Java, Ruby are all popular languages. But that doesn’t mean Clojure, Scala, CoffeeScript and other newer technologies and not worth going after.
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.

i m doing entc engineering , my marks are not good ,but i know what am i!!!!!!
but in present company required only good marks…….so pls tel me IS THERE ANY OPPORTUNITY BECAME A GOOD SOFTWEAR ENGINEER???
Dear Dhanesh,
Sadly, there are a lot of companies who rely on marks as a cut off criteria. This is done so that HR’s can significantly reduce the number of candidates they need to screen.
Having low marks shouldn’t be a bottleneck for you. If you want to be a software engineer, you should start learning programming languages. Then develop some small software applications on your own and release as open source. This will give you high level of credibility.
Good luck!
Click to get software engineering fresher jobs. You should apply smartly to them. YNL team has already given you good feedback on how to become smarter in software engineering.
hi…
i am studying in 9th std and i am really tensed what to do for becoming a software engineer… i wanted to know what subjects should i opt for after 10th.. i also wanted to know is IITJEE much better then AIEEE….? according to you what shoud i go for after 12th and i wanted to know what things should i do for preparing for the exams like IITJEE… plz mail me…. thank you… will be waiting for your reply…
I also wanted to know how to get in IT…
I hope this article explains everything in detail. If you have any questions, please feel free to ask.
hii I’M DOING MY “ECE” BTECH 3RD YEAR NOW
I JUST WANT TO KNOW CAN I GO TO A SOFTWARE SIDE BY LEARNING ANY LANGUAGES i.e.; c,c++,java,oracle..???
Hi,
I hv interest in programming,, bt this past two years I hv gone into a mess. I started my b.com in 2011 n jst got dropped out d same year. It’s been more than 4 months I am in my home. I want to b’come a programmer bt with all d mess I hv done I hv no clue as how to begin for it..
I have completed my engineering just 2 months before. Currently I am doing web designing course .But I have registered in some of the websites regarding my job and I am getting offers but fear about the job because I have mentioned that I know c&c++ but I have learned this long time before now I don’t know fully about the program so will you help how should I improve and shall I proceed in finding the job related to the course what I am doing now
Often people say that inorder to land our dream jobs, we must concentrate on doing extra work and activities related to programming and computer science rather than focusing too much on just university curriculum. WHAT EXTRA ACTIVITIES SHOULD I DO INORDER TO IMPROVE MY PROGRAMMING SKILLS AND to gain the interest of IT firms?
I’m pursuing Computer Engineer and i’m currently in 5th sem.
i wanted to know how ibecome an engineer in software what was the forms Collages exam can be filled give or whatever and i am studying at 10 standered so i was eagerly wait for your reply
respected sir,
I completed my three year diploma in computer engineering in 2008 with 61% but 2nd class. Because I had some family problems I cant let my native place which is a small town,so I had to change my career. now I’m ready to relocate and I’m very much passionate to work in IT field but I have no experience in this field and I’m not a fresher at all. What can I do?
Hi,
I’m diploma civil engineer and aged 55.Will i be able to get a job in IT/IT enabled companies?.I do not know any of the programming languages. I worked as AGM/Project Manager in the construction Industry. Any suggestions to lead my life further ? Thanks in advance……
Moorthi,
Glad to know you are interested in the IT industry.
It might be a bit difficult for you to find a job in the IT industry at this age. Still you can do some IT management programs or MBA in IT and enter the industry.
I see there is not much feedback pouring in. Thats ok. I understand as a start up you are busy and its still remarkable that you manage to squeeze some time out for getting back at this. However I have a little question for you.
If what you describe is true then tell me, is that really all that I can do to make myself eligible for a career in Software Development ?
I mean, surely there must be more to this than just learning languages. Give a thought to those who are actually in this field. The CS/IT engineers know exactly everything there is to know about softwares. Being someone who’s remotely related to the field can be both helpful and not so helpful at the same time.
Just for the record, I’m an ECE fresher having Software Engg as an elective in 7th sem and I’d really like to know if things can work out for me. I ask this because sometimes plans don’t work the way they were expected to. I’m an example. I managed everything quite well until I got into college. I’m now ineligible for most jobs. Though I possess everything that other eligible students do, except one thing. This thing usually becomes the deciding factor in recruitment and no one can overlook that.
So your article makes me wonder because when someone without a background can enter into this industry then what does it means to me ? Where do I fit in ? Anyways, I just wanted to know how to proceed. As a start up you are doing a great job.
And one more thing. I don’t expect any reply. I know there is a 99% chance that writing this out was a waste but reading your article was not.
Archit,
Thank you for your detailed comment.
You can surely break into this industry. Software development can be taught. This is why companies like Infosys recruit people from non IT background as well. I know a person from the electrical engineering background doing well with Infosys for the past 10+ years even though she had no IT background as such.
Learning a language is a start. You need to sharpen your skills and showcase it. You need to prove that you are a self-motivated person. That’s going to raise your value a lot in the job market.
Thank you for your kind works. And you now know that 1% matter
i would like to become a software engineer but i dont know ho to make any small software . can you give me suggestions about that.
Hi,
i’m doing the job in web developer past 6 months in asp.net field. i wan to change the job but when go for the interview the first round is technical, aptitude round and its diffcult for me to clear that round. How to crack that round.?
i am 12 class student how can i became a software developer
this article perfectly guide me. and now i dicided to became a software engineer.
hiiiiii,
i am 2nd year student.IT dept. is it necessary to learn data structures.it is very hard to understand.the programs r too big to understand.can u mention simple ways to learn any type of programming lang in a simple way. is there any best book for these.plz kindly let me know.i am very much interested to become software engineer. but i cant able to learn langs.plz help me.tell me the best ways to learn programs easily. thanking you.
i am a B.Sc (Computer Science) Degree Holder. I have a Hands-on experience in PHP. i can do any kind of Php project as i love php. but Php jobs pays less. Most companies asking experience in Java or .Net. i don’t have hands-on experience on java/.Net. but i love programming. What should i do to get a well-paid job? any solutions?
i wanting to be a software profesonal,but i d’t complite graduation but haing ability
now i do’t complite my graduation but wanting to be a software profesional from home computer and net
Hello Sir,
I Am in 11th (PCM) i want to become a software eng. so what to do after passing my 12th ? Means what type of college should i join after which i become capable of becoming a good software eng.
Sir, I Love computers i love spending my time on them and researching new things that is why i am opting for S.E please help me out.
Thanks.!
Hello YNL Team, I have done my M-tech and went to Teaching profession for 2 years. but now i want to be in software field, can i enter now, if so how?
Am in the 10th grade. And am not a mathematic genius. Can I still become a software engineer
I hv done B.Sc. in Computer Application and presently i am working at ACC LTD. bt i m nt satisfied with my work profile as my mind always gets diverted towards IT industries……….i just wanted to know is there any exam of state level or national level through which i can enter the IT World as i am interested much in IT sectors.
sir, i m in 12th …n have greate intrest in becoming software engineer..sir , i m studing c++ and SQL ..n i m good in it…ur article is realy good …but sir apart from iit’s n nit’s …which college to join i m confused….which would be in budget to..n also stalwart…sir plz help..
I got all answers of my Questions (which i always had in my mind)
your article is really very goood, now i am not confused
I have another question- I am doing BCA from SMU through correspondence, one of my friend told me that if you want a quick job after your degree than you should have a good command over language, Operating Systems, DBMS, and ?????
suppose I chooses C++(language), Linux(Operating System), Oracle(DBMS), and ???????? what is this?
I hope you won’t ask me why are you choose a C++, because all of them are examples not my selection…
Hello, i’m a student of class 8. My annual exam has finished and i’ve got 2 months’ vacation. As I have a strong desire 2 be a software engineer from class 6, i’ve decided 2 prepare myself to be a software engineer from now. Plz let me know how can I begin?
hi im studing in class 9th nd i m really confused on what to opt after my 10th nd on wat shud i contrate the most . Which which courses to opt nd al plz email me i need a guidance .
This is Mateen and am b.tech(final year)computers……still i dont know computer languages….am very much confused on what to do….
true article,I really like it
HI SIR,
I HAVE DONE B.TECH IN CSE RECENTLY IN MAY-2012. SIR I WANT TO BECOME A GOOD S/W ENGINEER, I HAVE SO MUCH INTEREST. IN MY STUDY TIME I COULDN’T FOCUS ON SUBJECTS AND ITS CONCEPTS.
BUT NOW I REALIZED, I WANT TO IMPROVE MY PROGRAMMING SKILLS. BUT I DON’T KNOW HOW DO I HAVE TO START. BECAUSE ONE SIDE DO I HAVE TO SEE ABOUT JOB OPENINGS OR WHAT I HAVE TO DO, HOW DO I HAVE TO LEARN LANGUAGES.
PLEASE SUGGEST ME SIR/MADAM, WHAT DO I HAVE TO DO AND HOW DO I HAVE TO IMPROVE MY SELF BY USING INTERNET(ANY USEFUL WEBSITES) ONE BY ONE OR STEP BY STEP(that means is there entrance exams for any IT companies)
hi…
i am studying in 10th std and i am really tensed what to do for becoming a software engineer… i wanted to know what subjects should i opt for after 10th.. i also wanted to know is IITJEE much better then AIEEE….? according to you what shoud i go for after 12th and i wanted to know what things should i do for preparing for the exams like IITJEE… plz mail me…. thank you… will be waiting for your reply…
REPLY
Dear sir,
I have passed my 10 exam in 2004 from N.T.R. High-school from Warud, Dist-Amravati, Maharastra. please help me fo my addmition in Softwere Engg. in mumbai College, can I give in addmition in Softwere Engg. please help me.
hello
sir / madam
most humbly and respect fully i beg to say that i m a commerce graduate with account honourse aggregate marks obtained like 59% in 2004 . after that i started my career in marketing channel . later i couldn’t success i such profile
now i want to establish as a software engineer . if it would not appropriate for me then kindly suggest me which course can be more benefit table for me
my contact no . i8s 9911134268
Am doing BCA now ,i wanted to know wether which PG COURSE shall do MCA OR MSC IT after completing it? I want to become a software engineer! And even tell me can i get two master degree together ,such like i want to do MCA And MTECH CSE together is it possible packing total 5 year PG Into 3 or 4 years? Please help me i need somebody’s help urgently:-) thanking you
I am going in class seventh i want to become an engineer please tell me what i have to do