Software Engineering- What it is and how to get Job in it.

I want to write this post for the people who are seeking job in the Software Development Market, in general, not pointing to any specific technology. I want to describe what kind of work one software engineer do and also how they do. After than I ll throw light on how one can enter or may get job in this market. I shall also list the links where one can get more information about this industry. 

So I would like to start my discussion from the first Question “who is the Software Engineer”?

The software engineer is one who applies the principal of software engineering to achieve the goal of to develop software to solve a general life complex problem, using Computers- To produce useful Information.
This could help masses to increase productivity, performance, and most sought reason profitability.

These problems may be as follows:-
1)      To generate Tickets.
2)      To Prepare Balance sheets and various other types of Accounts.
3)      To Perform Analysis and Research based on complex data like census, population data, sales data, collection of temperatures of various cities of the world & other scientific data which could help to generate information etc.
4)      Robotics or automation of any mechanical process.
5)      To automate any other complex process. (I guess above given example has created enough big picture of software in general human mind. who is fascinated about software.)
       6)      Money Transferring over Web.

Now I could guess that one who is familiar a little bit with softwares or software engineering or computer science have grasp the job of Software engineer.

But in short I would like to tell you the most probable task of the Software engineer, it is –“To produce such information using computer which can help mankind regarding to its business or job.”

Well I already have explained about business but once again I would like list some more users of software or you can say consumers of Software or better say Applications of them.
These are –
1)      Banking Clerk
2)      A clerk who is doing Reservation of your Tickets
3)      An Air Traffic Controller.
4)      A Scientist who is working on his critical research.
5)      A Business man/woman who wants to sell his/her Products.
6)      A Business man/woman who wants to do marketing/promotion/advertisement for his/her Products.
7)      An Accountant- who is assigned to prepare accounts for the above described business.
8)      For an Enterprise to perform various task
                                                              I.      Like to manage Employee records.
                                                           II.      To keep records for his Resources- money, machinery, raw materials, Ready to sell product.
                                                         III.      Stock available at any business/Godown.
                                                        IV.      To manage Client list/ contact information/ Transaction information.
                                                           V.      To understand the various Patterns related to customer purchasing behaviour, competitor strategy and many others things.
9)      Now-a-days, each and everyone has infected by computers and today almost every one is using computer and software technology to perform these tasks
10)  We are using it Job search, to stay connected with our friends/family- sharing each instance of our happiness, information, knowledge.
11)   Text editor to type letters , publish books.
12)   Utility software which are basically develop to help software engineer for smart development of these application be it software or be it websites.

The Software Technology:
Now, we talk about software technology.
In this world there a number of various software development technologies have evolved including web /internet technology(s). The technologies can also be denoted as programming languages.
They can be divided in 2 groups
1) To develop application softwares
2) To develop web application / web portals.

 To develop software we use these type of programming language
1)      C / C++
2)      Java
3)      .net / C#, Visual Basic.net
4)      Fortran /Cobol
5)      Python

To Work with Web technologies or development of web site we use these type of programming language or frameworks.
1)      ASP.net
2)      Servlets & JSP, Struts, Hibernate, ejb, spring.
3)      PHP
4)      HTML, XHTML, CSS, java script (This group languages is basically  to control the USER INTERFACE of website.

One more popular and analgous to above technologies and relatively new field is Mobile Application Development.

Like we develop software and web app for computers, we develop app and web apps for mobile gadgets, and for these we use following technologies.

1)      Iphone
2)      Android
3)      J2ME and
4)      Oracle is also going to launch its Mobile development technology.

And one more thing that is being left is, How and where we store the data on which we do processing to obtain the concise form of information.
*) We store the Data over Servers or on Hard disk in case of Softwares
*) To perform processing on Data we use SQL, T-SQL, PL/SQL, MySQL, Post gree etc. database query related language.

What to do to Enter in this myriad technology and areas as well, one field which collectively also known as Information & Communication Technology world or simply ICT.

Firstly one have to decide which one field he would prefer to choose, however according to me many of engineers have to work on that Technology in which Company do train them or they themselves have got training in it. I mean just keep this thing clear in your mind what you want to do in your programming career whether you want to develop software application or web application.

I hope, Here all information given above about applications and users of software may help one to generate interest in the specific technology, if still one has no target field.

If you can’t decide this than just try everything, whatever for recruiter would find you worth for, he will take that thing out from you. and you will be specialized in that particular field

If one have decided to work in, say Web technology than he should start practicing the field of his/her choice and he /she should have confidence on himself/herself so that he /she can prove in front of Recruiter that how he/she is useful to them.
What you (fresher engineer) can deliver to them, I mean, consider yourself like a Product

At this stage I doesn’t consider any problem if you start working on team 1 size project, because this thing is the part of learning curve in a practical manner.
After all it brings confidence in you, to face situation which you may face in your career too in advance.

You must have snap shot, coding of your work, You must have clear in your mind what you had done to develop that software/web app.

You must have ideas which could impress your future employer.

So friends I consider that this thing is Important than to do struggle about getting job.

I would like to insert a paragraph which has written by mr. Kory Ferbet as it is, as I found it in the thread of discussion as "junior Java Developer, hard to find work" over linkedIn.com:-

 What I have seen from a recruiting standpoint is that companies who are looking to hire junior level developers of any language do so while they are still in college. It is through internships and the job fairs that junior developers seem to get placed. 
When a company is looking to fill a junior level position they are looking for someone that has potential but that they can mold into what they need. Because of this they focus on getting current students to come and intern with them to find out if they will be easily moldable before paying for the investment of a junior developer. This takes resources and time, which is something a lot of companies don't necessarily have.
When you hire a junior developer you are essentially paying to lose a more senior level developer for as long as it takes to get the junior one up to speed. The majority of junior level people aren't able to make an impact from day 1, so they will need someone to teach them the ends and outs of not only the company, but the world of software development in general. The amount of money and time a company can lose by making a mistake in hiring a junior developer who turns out not to have the potential they had hoped can be staggering.
When a company is looking to hire a Sr. level developer they do so with the assumption that the candidate already knows what he or she will be doing and only need ramp up time to learn specifics for that company, thus getting a quicker return on their investment. "

I hope this paragraph will help me to complete this post about how one can get the job in software development market, however, still this blog is just like a view from the Height for Software and Web application technology.

Well just FYI, you need to become familiar or stay updated (and become upgraded as well) about  more advance and new innovation of this field which may be going to take over the technologies described here soon. Here are the few links which could help you to better understand the real scenario of software development, the value of Experience, but it never meant to not develop your own software or web-sites for practice purposes.

Very helpful blogs links written by Justin Shield:-

Here is a fantastic resource for evaluating your current skills (regardless of language or framework). Challenging yourself to improve your ranking on this competency matrix will help you become more competent and well rounded developer.

I hope you have found the answer of your Queries, that I think is story of past, even this if you have any Query regarding this industry you can leave your comment below in the box, I shall try my best to answer you as early as possible.

Thanks a lot !!

Post related to Software Engineering


Search This Blog

Let make your friend aware about this post