ENGG1805 Professional Engineering and IT
1. Professional Practice
Technologies popular in the past (early 2000's) are already starting to become less prevalent in the field they once dominated. Some skills are no longer in demand, or at least nowhere near as common as they used to be.
Examples of jobs prevalent in the early 2000's Example of jobs prevalent now (2016)
• User Interface Developer
• Flash Developer
• Fortran Programmer
• Software Support
• SEO Specialist
• Quality Assurance Manager
• Windows XP Administrator
• Voice Telephony
• C/C++, Java, VB, Perl.
• User Experience Designer
• Application Developer
• Cloud Developer
• Social Media Manager
• Data Miner
• Chief Listening Officer
• Millennial Expert
• Java, Python, PHP, Ruby.
Technologies change quickly and we can rarely predict how, many prominent figures in the technology industry have made hilariously wrong predictions about the future.
“We will never make a 32-bit operating system”
- Bill Gates, 1989
Technology capability however is fundamental but not sufficient, there are other important elements to being a successful and professional individual in the field.
1. Technology: Java, C++, Python
2. Frameworks: Django, Ruby on Rails, Node.js 3. Tools: Eclipse, JUnit
4. Techniques: Agile development; Issue tracking 5. Skills: Teamwork, communication, leadership 6. Professionalism
SFIA: Skills Framework for the Information Age.
IT professional capability comes from a combination of professional skills, behavioural skills and knowledge. Experience and qualifications validate that overall capability.
• Professional skills: Business process improvement and database design for example are just two examples of nearly 100 fundamental professional IT skills defined by the SFIA.
• Behavioural skills: A significant number of organisations recognise a set of behavioural skills.
• Knowledge: Technology stacks, products, internal systems etc.
• Experience & Qualifications: Qualifications certify elements of skill or knowledge; work experience demonstrates capability to apply skills and knowledge.
Professional Associations
ACM: Association for Computing Machinery
The ACM is the world’s largest professional computing society and is involved in conferences, publications, special interest groups, awards, professional development and curricula
recommendations.
ACS: Australian Computer Society
Is the professional association for the Australian ICT sector, is responsible for the accreditation of University programs.
Professionals Australia
Is the “Union” for IT professionals, provides a voice for the workers and offers support, advocacy and advice. They are involved in:
• IT career market rates
• Workplace rights
• Employment contracts
• Career progression
• Industry briefings 2. IT Professionals & Tools
Information technology involves more then just coding, think about the following analogy.
If you tried to build a house for a client...
• How would you do this without talking to the client and determining their needs?
• How would you do this without drawings / models to cross-reference with the client to see if that's indeed what they wanted?
• Could you do this without a plan to manage construction?
• How about if you had no tools to assist you with your project.
Example of flaws in software Therac-25
Medical radiation machine which reused significant code from previous systems. Resulted in concurrent programming errors that caused massive overdoses of radiation to be released at patients (Three patients dead, possibly more).
Mars Climate Orbiter
Robotic space probe, lost on orbital insertion due to ground software for thruster firing calculations using imperial units instead of SI units – resulting in errors in estimated position (Total loss = 327 million).
Ariane-5 Flights 501
Heavy lift launch vehicle, integer overflow resulted in engines trying to correct an altitude deviation that had not occurred. Blamed on design issues, arising from project management weaknesses (Total loss = 370 million).
To avoid failed projects we need good development processes.