Showing posts with label Programming language. Show all posts
Showing posts with label Programming language. Show all posts

2.10.11

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

3.8.10

INTRODUCTION TO LEADER OF MODERN PROGRAMMING LANGUAGE- 'C'



(This introductory tutorial cum article about a programming language is aimed towards to set a stage in the mind of new students, follower of computer software development process. Here you will get to know about what 'C' is, and how it can be useful for our career, or how it will contribute in our study/practice of art of programming.)


Introduction
----------------

'C'..sounds strange a bit, at first encounter for everyone, specially for Computer science students or similar group. It is neither a acronym or nor nick name to any standard thing, however, it is improvement over previous languages like BCPL and B.
Well buddies, I would like to assure you that it is not anything alien's stuff.. it is a human artifact constitute to simplified the job of developing softwares, which we are using or developing in general.

It was developed by great computer scientist mr.
Dennis M. Ritchie in 1971 at 'AT & T Bell Labs,USA.' 'C' is a sole product of mr. Ritchie, in due course to develop an operating system named as 'UNIX' which later become popular among user due to its feature, bundled for first time in any operating system.

Let's talk about software in a nut shell- there is big array of Software scattered around us,
for example most prominent software is our Microsoft Windows 7 operating system software or its family, more specifically its ancestors like MS windows 98, 2000, xp, vista or other softwares like music player, chat client, set top box (DTH TV service) etc.


Why Should Learn 'C'
-------------------------

Well buddies, there are a number of reason that can explore this point.. but most common reason that you can see and realize are as follows:

[] It is very easy language to learn, ....huh..it s not such easy..okay wait for some moments....cuz it is my turn to speak for this moment :) (i will explain it shortly why it is called easy...thanks for your consent!
[] It is helpful to develop logic of problem solving for programming or you can say to develop programming mind of one who wants to be software programmer/developer, web developer, database developer/administrator/manager, network programmer, games etc.

[] It provide good platform to learn newer concepts (Objects, Classes, Abstraction, Inheritance, Polymorphism etc.) wrapped up in newer language like C++/Java/C# etc.
[] One can develop essential softwares like Operating system, compilers, interpreter, commercial software etc. can write communication network application like software part of drivers, card etc.
[] Due to its low level features it is faster in execution, hence can be used to write drivers software.

[] It provide efficient memory management.
Why It is Easy to learn
----------------------------
Now, lets talk about why it is called easy to learn language while it has so many strange things.
.. so don't worry just read on.
[] It has concepts which are really easy to grasp because it uses Structure programming paradigm. that is a program is viewed in this way
-> Sequence
-> Decision making
-> Iteration or loop (repetitive task)
[] Just develop a road map of your problem to be solve in computer's environment. for instance if you want to print the roll number and name of students of your class.
-> Firstly you will make a table in which you will have 2 columns captioned as Rollno and Name.
-> You will ask the name of Student and his roll number.
-> Now will write his /her data into table
-> that is it.
The same job you have to do in your program with the provided programming language construct.
[] what you will do emulate same procedure in 'C'.
-> ask or prompt with printf() enter your name and rollno.
-> than scan or write in to table with the help of scanf() , this function will write data in to main memory only, but when you invoke with printf() the data will be displayed on computer screen as output.
[] Once, and just once the concept- how to use programming construct like, expressions, statements, operators, loops, array, structures, pointers, memory management, file handling etc., you grasp here will continuously help you for ever on each step of your career be it as software developer or be it web developer or be it any other kind of developer for computer and its related activity.
because.... each language same things or tools to develop programs with a little modification or slight changes in syntax to use them, however, Java is such programming language which doesn't use pointer and other concept of C to develop softwares.
____________________________________________________________________
* I hope, Now you can answer of your General queries, arose at first sight upon programming.
* In next blog we will take an over view on C++ and Java and after than we would start to learn the programming construct of each language.
* Well, my dear friends this blog-cum-article will be incomplete, if it still not able to remove your doubts over use programming language, if it is the case than please leave your Questions as comments, I ll do my best to solve them.
____________________________________________________________________

Search This Blog

Let make your friend aware about this post