COMPUTER SOFTWARE
ENGINEERING
JOBS PROFILE
BY:NURUL LIYANA RASENI
Definition
Computer software engineers develop, design, and test software. Some software engineers
design, construct, and maintain computer programs for companies. Some set up networks
such as "intranets" for companies. Others make or install new software or upgrade computer
systems. Computer software engineers can also work in application design. This involves
designing or coding new programs and applications to meet the needs of a business or
individual. Computer software engineers can also work as freelancers and sell their software
products/applications to an enterprise/individual.
REQUIREMENT
Entry Requirement:
International Students Either of the following:
* Pass in Foundation in Information Technology; or
* Pass in A-Levels / equivalent with three (3) Credits inclusive of Mathematics; or
* Pass in a related 2 years Diploma from a recognised institution or its equivalent.
* Fulfil MMU English Requirement.
English Requirements:
* TOEFL: 520 Paper-based; 190 Computer-based; 68 Internet-based; or
* IELTS: 5.5; or
* Cambridge O-Levels English: Min. Grade C
Program Coursework
The undergraduate computer software engineering curriculum focuses on programming
techniques, information technology and computer science.
Computer science and mathematical fundamentals
Techniques and tools of advanced programming
Software specification and design
Software engineering foundations
Computer and human interaction
Database management
Calculus
Networking with computers
DESCRIPTION
Computer applications software engineers design, construct, and maintain computer
programs based on what people need. They can develop a program for just one
person or for many people to use separately.
Computer systems software engineers construct and maintain computer programs
for companies. For example, they might develop programs that do recordkeeping and
payroll. They might also set up an "intranet"an internal and secure computer
networkfor a company. Many software engineers work for companies that make or
install new and more advanced computer systems.
PERSONAL SKILLS AND ATTITUDE
Persons looking at jobs in this field must have:
Strong problem-solving and analytical skills.
Able to work effectively with team members, other staff, and customers.
Able to focus and pay close attention to detail.
Self motivation
Enjoy electronics, computers and electro-mechanical equipment
TOP UNIVERSITY
Rankings
Ra
nk
#1
School name
Massachusetts Institute
of Technology
Overall Engineering
Sco
re
Tuition
Total graduate
engineering
enrollment
5.0
$43,210 per year (full-time)
3,174
4.9
$45,480 per year (full-time)
3,517
4.9
$11,220 per year (in-state, full-time);
$26,322per year (out-of-state, fulltime)
1,936
Cambridge, MA
#2
Stanford University
Stanford, CA
#2
University of California
Berkeley
Rankings
Ra
nk
School name
Overall Engineering
Sco
re
Tuition
Total graduate
engineering
enrollment
4.7
$40,000 per year (full-time)
3,157
4.6
$16,754 per year (in-state, full-time);
$30,246per year (out-of-state, fulltime)
3,154
4.5
$22,322 per year (in-state, full-time);
$41,998per year (out-of-state, fulltime)
3,178
4.4
$11,324 per year (in-state, full-time);
$27,330per year (out-of-state, fulltime)
4,576
4.2
$29,530 per year (full-time)
1,812
4.1
$10,332 per year (in-state, full-time);
$29,134per year (out-of-state, fulltime)
3,333
Berkeley, CA
#4
Carnegie Mellon
University
Pittsburgh, PA
#5
University of Illinois
Urbana-Champaign
Urbana, IL
#6
University of Michigan
Ann Arbor
Ann Arbor, MI
#7
Georgia Institute of
Technology
Atlanta, GA
#8
Cornell University
Ithaca, NY
#9
Purdue University
West Lafayette
West Lafayette, IN
Rankings
Ra
nk
#9
Overall Engineering
Sco
re
School name
University of Texas
Austin (Cockrell)
4.1
Tuition
$9,564 per year (in-state, full-time);
$17,506 per year (out-of-state, fulltime)
Total graduate
engineering
enrollment
2,397
Austin, TX
MALAYSIA UNIVERSITY
Institute of Graduate Studies (University of Malaya)
SEGi University
University Malaysia of Computer Science and Engineering
Career Prospects
There are various positions in ICT that could be filled up by Software Engineering graduates
such as Software Engineer, ICT Entrepreneur, Project Executive, Software Configuration
Manager, Programmer, System Analyst, Computer Trainer and other ICT professionals.
Graduates will also have the advantage to attend any job placement courses customized to
specific technical demand in ICT fields.
Related
Occupations
On the Job
Computer support specialists
Mathematical technicians
Electronic drafters
Aerospace engineering and operations technicians
Computer science teachers, postsecondary
Computer, automated teller, and office machine repairers
Electrical and electronics repairers, commercial and industrial
equipment
Numerical tool and process control programmers
Modify existing software to correct errors, to adapt it to new hardware or to upgrade
interfaces and improve performance.
Design and develop software systems, using scientific analysis and mathematical
models to predict and measure outcome and consequences of design.
Consult with engineering staff to evaluate interface between hardware and software,
develop specifications and performance requirements, and resolve customer
problems.
Analyze information to determine, recommend and plan installation of a new system
or modification of an existing system.
Develop and direct software system testing and validation procedures.
Direct software programming and development of documentation.
Consult with customers or other departments on project status, proposals and
technical issues, such as software system design and maintenance.
Advise customer about, or perform, maintenance of software system.
Coordinate installation of software system.
Monitor functioning of equipment to ensure system operates in conformance with
specifications.
Store, retrieve, and manipulate data for analysis of system capabilities and
requirements.
Confer with data processing and project managers to obtain information on
limitations and capabilities for data processing projects.
Prepare reports and correspondence concerning project specifications, activities and
status.
Evaluate factors such as reporting formats required, cost constraints, and need for
security restrictions to determine hardware configuration.
Supervise and assign work to programmers, designers, technologists and
technicians and other engineering and scientific personnel.
Train users to use new or modified equipment.
Utilize microcontrollers to develop control signals, implement control algorithms and
measure process variables such as temperatures, pressures and positions.
Recommend purchase of equipment to control dust, temperature, and humidity in
area of system installation.
Specify power supply requirements and configuration.
CURRENT ISSUES PROBLEM
Software Engineering Project Management
List of antipatterns, which might be thought of as statements of poor practice, in
contradistinction to the list of design patterns
Poorly predictable relationship of project duration to program functionality
Systematic detection of software defects
Statistical tendency of project to run behind schedule and over-budget
Adding additional manpower to a lagging software project (especially in later parts of
the project) may actually cause further schedule slippage due to overhead
experienced during the integration of new employees. See w:The Mythical ManMonth.
Programming Complexity
Current complexity of most programming languages, in general
Current complexity of most applications, to the extent that companies fail when
programmers leave, if those companies have no one else who understands what the
programmers have done.