x. How to be a programmer


Software Engineers / Software developers / used to be known as programmers. Today, in IT industry, they’re affectionately called coders, code warriors and code ninjas if they are very adept. Programmers write computer code using one of the many standard computer language. The computer then executes the instructions specified in the code to perform specific functions and display specific behaviours on a computer screen mobile phone or control machines and instruments or produce a voice output.. 

Every single website and webpage you see on the internet, every App you use on a mobile phone is built from code by these techies.

“Less than 20%  of Aussies have a strong interest in computer coding or developing mobile apps – among the lowest of any country surveyed … read>>> here.  Walk into any IT company in Sydney CBD and do you find only 20% are local born Aussie staff ?

Is this evidence that job prospect for IT are very bright for the foreseeable future ? Is this why Australia  is forced to import hordes of programmers from India, China & Europe ?

Keep in mind , if you are interested in IT but do not wish to be a programmer or have no natural coding talent, there are many other IT related technical type jobs you may like to consider.  Namely,

Highly technical focus roles :

  • Infrastructure – System Admin ( Windows & UNIX ), Cloud / Hosting/ DevOps engineer, Network engineer, Service desk, Tech support. Technical HelpDesk / Technical Customer Service : TAFE Adv Diploma may be sufficient for these types of roles
  • CyberSecurity specialist ( need to have coding understanding )
  • Database Administrator
  • Data Engineer ( build data pipes and infrastructure for analysis of Big Data)
  • Data Scientist ( analyse Big Data collected, and interpret trends, extract insights to advise on business decisions. details covered below….
  • Developer, Programmer & Software Engineer – details covered below.
  • Architect – needs at least 5 years experience in software development or Infrastructure or Security

Less Technical, more Business or Management focus roles:

  • Digital Marketing, SEO / SEM, Newsletters, monitor user analytics tracking
  • Business Analyst ( BA) – translate business requirements from stake holders into technical requirements for the programmers.
    Best to take some short courses at TAFE etc. Also know as Systems Analyst
  • Iteration Manager (IM) – implement Agile policies  & ceremonies, facilitate Scrums & standups, Sprint planning, grooming, retrospective and showcase sessions
  • BA /IM ( Dual role: Business Analysts cum Iteration Manager)
  • Product Manager/Owner – Part BA, Part Tester and Business acumen needed.  IT degree not mandatory
  • Project Manager– Manage development /implementation process … need industry certification/s Eg. PMI /Prince 2, PMBOK etc
  • AGILE Coach, Scrum Master … need industry certifications
  • Tester, QA Engineer – Job market is already saturated with Manual testers, need to be  technical or automation to get well paid job
  • Technical Sales / Pre-Sales consultants – pays well, but if you don’t make your sales quota, you’re out of a job. No degree required, just great people skills, presentation skills and charisma

Artistically focused roles:

  • Web Designer / UI – Look and feel, colors, site uniformity & consistency and compliance with corporate look-and-feel policies
  • UX Designer – Design user logic flow in terms of navigation, usability, user friendliness, intuitiveness,  usability-testing etc

You may be pleasantly surprised many  people  currently with  these job titles do not have an IT-related degree or  relevant degree or even a degree, although those do help you get the first job.  To see this for yourself, search for these people in LinkedIn … and examine closely their work history and what degree/ diploma they started with !
In many cases, an 18 month Advanced Diploma at TAFE  in IT would suffice. Also many people especially hobbyists, don’t even have TAFE qualifications, yet are still able to land a lucrative job ( Unix / Linux administrators are examples) as they are self taught and have obtained relevant IT industry certifications. Industry Certifications ( usually after  short course) are often more relevant than even an IT degree for many of these roles.

 

Types of Programmers, typically speaking … 

1.  Applications Developer  :
    – focus on using languages such as  Java, C#.Net, ASP, C, C++,  Python, Ruby, HTML5, PHP, Scala, Objective C, SWIFT, GOlang, Javascripit,
Angular JS, NodeJS , ReactJS  etc to create programs with functionality used by people accessing the internet or using any computer controlled
system

2. Front End Developer :
    – aka Web Developer with focus on HTML5 / CSS / JavaScript  / DreamWeaver, working more at the client side of a client-server system. Excellent place to start for people wanting to enter the programming field. Paves the way to Backend developer roles

3.  Back End Developer:
     – focus on using languages like Java, C#.Net, C, C++, ASP, Python, Ruby, Cobol, PL/1, HTML5, PHP , ColdFusion,  Node.JS,  Angular
JS, PowerBuilder etc working at the server side of a client-server system


4.  Software Engineer

– similar to #3

5. Full Stack Programmer

– job inculdes front and back end software development ie. #2 and #3…ie. you do everything, and it pays more

6.  Database Developer :

–  focus on SQL and databases like Oracle, DB2 or MS SQL Server and some knowledge of a language like Java or C#

7.  SQL Developer:
    – focus on SQL and a database like Oracle, DB2 or MS SQL Server )this may lead to Data Warehouse or Business Intelligence work 

8. Business Intelligence ( BI ) and Big Data Scientists ( requires Statistics ),  Data Engineer  :

    –  BI and DS roles involve usage of web analytics tracking, measuring, analysing  past behaviour of  website visitors, to collect user data,  extract trends and predict future behaviour of such repeat visitors  in order to serve website content more relevant to their needs. Data Engineers build pipes, tanks and systems to collect such data.

 

9. Data Scientists

  • Programmers who analyse Big Data and extract useful information ( Analytics insights ) about customer / user trends, behaviors  to provide the Business owners useful insights enabling them to identity business weaknesses ( fraud detection, unpopular pages etc ) and opportunities.
    Popular Computer Languages, tools & frameworks used:  SQL (mandatory basic skill ),  ” R ” ,  SAS, Apache-Hadoop, Spark, Python, Scala, STATA , PERL, Java

Often the job requires a degree in Computer Science  + Masters in Maths or Statistics or BioInformatics or Econometrics.
Useful experiences : AI, Machine Learning & Natural Language Processing

 

 10.  Systems Programmer

11.  Mobile Apps programmers:
     – Programmers who  use Objective C( old) , SWIFT (newer for iPhone & iPad) , Java ( for Android devices)  to write programs( Apps)  customized for efficient usage on Mobile phones and tablets
–  also know as iOS App Developer or Android App Developer

 

12. DevOps developers
– Programmers who maintain server and network infrastructure ( Hosting services )  of a company with a large IT system, many of which are
cloud based

 

13. Web Designers
       – They are  strictly speaking not programmers as the focus is on look and feel, colors and shapes etc, but some knowledge of Javascript, HTML and CSS
is very useful. Some people can do both Web Design and Web Developer ( Front end ) roles.

UX Design
       – User experience designer concern with  usability aspects, making the software application as intuitive as possible, with minimum frustration &
confusion for the user. They are strictly speaking, not programmers.

UI Designer
     – User Interface designer. They are strictly speaking, not programmers.

 

 

Many developers graduate with a bachelor degree in Computer ScienceComputer Engineering or Software Engineering. Some have a Bachelor of Information Systems degree or a 1-2 year IT based diploma from TAFE or a recognised private college. Many people working in the Information Technology industry as Developers may have started out life with a non IT degree in Electrical Engineering or Bachelor of Business degree.

As programming languages courses are also conducted in these courses, such non IT grads can make the career transition to work in IT, sometimes with the help of an additional highly targeted TAFE or university diplomas in IT. In any case professional professional certifications ( Eg. Microsoft Certified Solutions Developer: MCSD or Java certification ) are extremely helpful in providing you credibility and making yourself employable.