Careers in Software Development By Richard Mberi
Brief Introduction Exec in charge of R&D with Afrosoft Founder Employee (Jan 2001) Product Manager in charge of Investments Lead development of Biometric eGovernment Platform Set up East African Office Set up South African Office Pioneered R&D into Artificial Intelligence, Business Intelligence, Mobile Banking, SCADA, Mobile Applications, GIS
The World is Code! Why learn to develop software? You can't afford not to Software underpins the most crucial functions of everyday life. Finance, Healthcare, Law and Order, Commerce, Transport The story of civilization is the story of our struggle with information
Best Job in America
What's so great about Software Engineering Exposure to knowledge across several disciplines e.g banking, commerce Skill in a growing sector globally, great global mobility Challenging and exciting work real sense of accomplishment Beneficial to society / worthwhile career Broad discipline, eg mobile, process control
Various Career Paths Analysts - document client needs Architects - analyse and design information systems Developers - implement software designs Software Testers - verify solution against requirements Professional Writers - document projects and systems Project Managers - manage projects Business Development - R&D, software sales etc
Areas of specialization Web-based or Software as a Service also Internet startups Classical desktop software (although converging with the former) traditional systems Mobile solutions and various handheld platforms Specialized disciplines such as business intelligence, Geographical Information Systems (GISP) Search and SEO Animation, simulation game development Biometrics Artificial intelligence
Career Options 1. Formal Employment (Internship, Apply) 2. Contract or Freelance (freelancer.com)freelancer.com 3. Entrepreneurship (Roll your own! Create a startup) 4. The Academic Route (Continue with your education add to the body of knowledge)
What do I need. A passion for technology A willingness to constantly learn - technology is always evolving Willingness to put in long hours An ability to think logically, in a structured and creative manner
Passion Ability ZoneZone
What should I study? Distinction between classical software development and software in the Internet age Emphasis shifting from rigid outdated learning to skills based or certification approach Mathematics and science are important - its an engineering discipline however ability is far more important Degree programs include CompSci, Elec Engineering, BscIT, InfSci etc Professional qualifications include MS certifications, Java certifications
What to Expect
Questions