Posts Tagged ‘software engineer’
Is there a difference between a software programmer and software engineer?
If so, please explain.
Please state what a software engineer does AND a software programmer.
Will award points for best answers
Thanks!
What are the main programming languages software engineers/game designer use?
I’m planning to be a software engineer/game designer later on. What are all the programming languages I need to know to make a successful software like Windows or game like Continent of the Ninth (look it up, this game is amazing!)?
Im starting off college, and dont know what career to take between software engineer and programmer?
I am really into computers, gaming, and decent in math. I havent taking trig, or calculus yet in highschool, and i heard i might have to take it to become a software engineer. I tried teaching myself program languages like c++ and java, and i find it not hard, but challenging. Should i go for the software engineer career and get my associates in that? Or should i just get one in computer programming and become a programmer?
What is the famous and useful book for embedded c ?
Hi every one i am a software engineer currently working on J2ME
i have good grip in c,c++,j2EE and J2ME programming .i am very much interested to learn embedded c programming .Can any one suggest a best book for me on embedded c please if possible please send me the link for e-book even?
What is the Difference Between a Software Engineer and a Computer Programmer?
The terms software engineer or computer programmer may be confusing to the average computer user. Most of us associate computer programs with the generic term ‘Software’. To us it may seem that the terms are interchangeable. That is not so. The role played by a software engineer is significantly different from that of a computer programmer. Before learning what the difference between a software engineer and a computer programmer is, let us see what is meant by the term software engineering and how it relates to computer programming.
Software engineering is a rigorous approach to development, maintenance and testing of software. These are engineers who must be knowledgeable about software requirements, design, development, maintenance and testing. They must be well versed with the tools and methods used for the development process as a whole. It is thus a convergence of the fields of computer science and systems engineering with a great deal of project management added for good measure. They are expected to have technical skills in addition to managerial skills.
A computer programmer on the other hand, is required to develop, test and maintain code that is to be run on the computer. He is responsible for converting the specifications provided in the software requirements definition phase into working code for the computer. Computer programmers are involved with design and maintenance of websites too. They should be proficient in analysis of programs. They are required to collaborate with manufacturers in developing new methodologies for software with evolution of hardware. Training, documentation and generation of reports are also tasks that should be handled by a computer programmer.
We can observe that the skill set required by a computer programmer is a subset of the skills expected from a software engineer. The computer programmer is a specialist in some areas covered by software engineering. A software engineer is in charge of the overall software development process and is expected to improve the reliability and maintainability of this complex process. A software engineer may have a team of computer programmers working under his supervision.
Author: Pinky Mcbanon
Article Source: EzineArticles.com
Provided by: Netbook, Tablets and Mobile Computing
Basic Rules to Become a Good Programmer
You do not have to be a software engineer to be a good software developer. Of course software engineers who have taken a good background of computing science have an advantage when compared to others that does not have when they both applied to the same job opening on software programming. It is needless to point that who has learned the bases of computing, analysis and programming will be one step forward in front of others. In graduate schools, students will build good logic on operating system basics, programming languages and databases. On the other hand although you you are not graduated from software engineering or programming disciplines, if you are a fast follower of the popular languages, framework solutions and operating systems you have then a good chance to be chosen for the first place for a job opening.
Technology, software and programming have rapidly changing trends. The decisions taken by companies and enterprises may also change from year to year.
A software methodology or a new technology used in programming that was very common and popular among software developers and software provider companies, can be out of the top list in the following years. A newer solution will always take the place of prior solutions. However a secret lies under this rapid change. It is what makes a valuable programmer is his or her ability to learn this tremendous change in programming. As a result for a software programming job opening, the best candidate should always be eager to learn new things, apply new methods and should seek for better solutions.
In universities, today’s accepted programming techniques and widely used languages may not be taught. If you are following the trends, you are then able to keep up with the requirements of the companies looking for a solution for their needs. Do not forget, a good programmer should be able to train himself or herself as a part of daily routines. Of course it is not possible even for the best programmers to know each programming language in details or each framework in detail but you should have at least an idea about the capabilities, advantages and solutions of the language, framework or methodologies.
Today’s popular languages in the programming arena are Java, C#, VB.NET and Python. .NET framework and .NET Framework languages like VB.NET and C# are most favorite ones where Microsoft solutions are used. On the other side programmers can also prefer using Java, Python, PHP and Ruby.
Web programming is also a good asset where intranet solutions are rising between companies. Companies also prefer to be in contact with their partners and customers. Therefore they are building B2B and B2C solutions.
Every company small or enterprise must use information technologies. Any company where a PC exists, a programmer can develop solutions for the users to be more productive on their job. If you motivate yourself as a programmer to develop solutions based on analysis and requirements of your company and users, you will be regarded as a good developer at the end.
Author: Eralper Yilmaz
Article Source: EzineArticles.com
Provided by: Beading Necklace
Are Programmers Really Engineers?
“Software Engineering” – Whatever That Means
If a programmer hands you her business card, it probably wont list her title as Programmer; It is more likely to read Software Engineer. This raises the interesting question: does a programmers daily job rise to the level of an engineering discipline? I think it would be more accurate to call programming an emerging engineering discipline.
Evolution of the Field
Since around 1975, various people have tried valiantly to impose discipline on the chaotic, egocentric, idiosyncratic practice of programming. And just at the turn of the century some professional institutions have started to establish the core competencies that would let a programmer call herself a software engineer.
Vision of the Future
Will we see the transformation complete: will programmers be licensed and regulated like other engineers? Personally, I think its too early to bet one way or the other – programmers are remarkably individualistic and there will be be very strong resistance to regulating what they regard as their craft. On the other hand, offshore development and the rise of software-based lawsuits are changing the landscape much as barbed wire changed the American west of the 19th century. If youd like my prediction, ask me again in a decade.
Today’s Situation
But if you are going to work in the world of the programmer, youll have to understand some of the standard ways in which complex software is constructed. If you want to sound erudite, you can refer to them as software development methodologies or development models, but if youre talking to a programmer youre better off asking, So, how do you folks build software around here?
Author: Bruce Taylor
Article Source: EzineArticles.com
Provided by: Programmable pressure cooker
The Ratio of Analysts to Programmers
“Good specifications will improve programmer productivity far better than any programming tool or technique.” – Bryce’s Law
INTRODUCTION
In terms of systems development, during the 1960′s and early 1970′s you were either a Systems Analyst or a Programmer. Period. At the time, there were substantially more analysts than programmers (at least a 2:1 ratio). This was due, in part, to the fact that computing was just coming into its own in the corporate world and there were still people around who could look at systems in its entirety. However, there was a screaming need for people to program computers and, as such, this became the boom years of programming. If you knew COBOL, Fortran, or PL/1 you could just about right your own ticket. Salaries were good, and you could intimidate your employer simply by what you knew (you had to commit something like murder to get fired). The emphasis on programming became so great that authors rushed out voluminous books to increase programmer productivity, hence the birth of the Structured Programming movement of the late 1970′s, which was followed shortly thereafter by the CASE movement (Computer Aided Software Engineering).
While programming was growing in stature, Systems Analysis was in sharp decline. Trade groups such as the Association for Systems Management (ASM) saw their membership dwindle to nothing and were forced to close their doors. The last of the old Systems Analysts either retired or were put out to pasture by corporations in the 1980′s. New job titles emerged, such as Software Engineer and Analyst/Programmer. This latter title is a bit of a misnomer as the emphasis was on programming and not systems analysis.
Although programming excelled, a noticeable void began to appear in terms of people who could see systems in its totality. Writing a good program is one thing, getting it to interface with other programs to form a whole system is something entirely different. By the turn of the century, the industry started to talk about such things as “Enterprise Architecture,” “Business Processes,” “Business Rules,” “Business Analysis,” etc. Further, new conferences, trade groups, and job titles began to emerge. Today, programmers are considered a dime a dozen and the stock of a true analyst is on the rise.
All of this is indicative of the industry trying to reinvent systems theory. In reality there is nothing new here as systems analysis is systems analysis. But as companies implement these concepts and job titles again, they are a bit uncertain as to where they fit in and their relationship to other Information Technology functions.
CHARACTERISTICS
A Systems Analyst goes by many names these days; e.g., Business Analyst, Enterprise Architect, Systems Engineer (my personal preference), etc. Nonetheless, we are talking about a person whose mission is to study the information requirements of a business and design a total system solution to satisfy them. Further, the analyst is responsible for specifying the software requirements and, as such, is considered the intermediary with the programming staff. The personal characteristics of the analyst are considerably different than the programmer. Whereas the programmer tends to be more introverted and focused on technology, the analyst tends to be more business oriented and extroverted. Analysts possess good communications skills (verbal and written) to effectively work with both the end-users and the programming staff. They know how to conduct an interview and make a presentation (salesmanship). In addition, they tend to look at the bigger picture as opposed to just a portion of it, and possess an entrepreneurial spirit.
The analyst understands the business problems of the end-user and is intimate with the operation of the user’s department. In other words, the analyst can comfortably walk in the shoes of the end-user. If they are doing their job properly, analysts make excellent candidates to assume responsibility in the management hierarchy. But because analysts were in decline for so many years, this hasn’t happened for quite some time. The last time I heard of a systems analyst graduating to a major management position was Dan Boone who was made President and COO of Armco Steel in the late 1970′s.
If systems analysis is performed correctly, programmer productivity should improve as analysts should be providing good specifications for application assignments. In the absence of systems analysts, considerable time is lost by the programmer who has to second-guess what the end-user wants. Inevitably, this leads to rewriting software over and over again. Good data and processing specs, as provided by a systems analyst, will improve programmer productivity far better than any programming tool or technique. This means programmers are the beneficiaries of good systems analysis.
This brings up an interesting point, what should be the ratio of Systems Analysts to Programmers in a development organization? Frankly, I believe there should be twice as many analysts than programmers. By concentrating on the upfront work, programming is simplified. Let me illustrate the point by using the following triangles representing the total amount of effort in a project (as an aside, I picked this up from my customers in Japan who share my opinion), see:
http://www.phmainstreet.com/mba/blog/ss060724.jpg
The triangle on the left represents the traditional approach whereby there is twice the number of programmers to systems analysts. Under this approach, considerably more time is spent producing software to satisfy poorly defined requirements. The Japanese point out the bottom of the triangle is actually bottomless as it means more time is needed to complete a project. Compare it to the triangle on the right where there are twice as many analysts to programmers. Under this scenario, more time is spent analyzing the problem, designing the system, and producing better programming specs. Consequently, the programmers do not have to second-guess what has to be performed and can go about their work more productively.
The problem with the diagram on the right though is that Systems Analysis is considered to be somewhat of a nebulous concept to management. Programming, on the other hand, is more tangible and easier for people to grasp; you are either writing code and producing a program or you are not. Therefore, the mindset in management is that you are not being productive unless you are coding, hence the inclination to shortcut systems analysis. This is a key reason why Systems Analysis collapsed in the 1980′s. And this is why it is necessary to provide training so management appreciates the need for systems analysis. Frankly, I have found management can be very supportive if it is presented to them properly.
CONCLUSION
Whether you call them Systems Analysts, Business Analysts, Systems Engineers, or Enterprise Architects, it is very encouraging to see this vital function being reintroduced to companies. As far as I am concerned, it was inevitable. I guess companies finally figured out you cannot satisfy your systems problems simply by using better programming tools and techniques.
We are also beginning to see the resurgence of related trade groups to replace such groups as the Association for Systems Management (ASM), for example:
The International Institute of Business Analysis
The IIBA appears to be picking up where ASM left off, including certification. Whereas ASM developed and offered the Certified Systems Professional (CSP) certification years ago, IIBA wants to create something similar.
All of this is indicative of how the industry is trying to reinvent systems theory. Whereas such systems work was well known up until the 1980′s it was forgotten over the last twenty years due to the emphasis on programming. Fortunately, companies have finally realized the importance of systems work and are trying to get their houses in order. I guess what goes around, comes around.
Author: Tim Bryce
Article Source: EzineArticles.com
Provided by: Canada duty tariff