Is a career in technology for me?

What types of technology are there?

  • Data Science
  • DevOps
  • Computer Games
  • Native App development
  • Web Development

 

People who code in any of these and more are 'coders' or 'programmers'

What is Programming

  • Rather than doing things manually, you are writing instructions for a machine to perform task on your behalf.
  • Those tasks could be things like:
    • Responding to requests for information
    • Formatting Data
    • Displaying Data
    • Maintaining the transfer of data between multiple points (e.g. chat programs, video conferencing, etc.)

Data Science

  • Languages:
    • Python, R and Julia
  • General description:
    • You get given collected data
    • You cleanse and format it
    • You analyse it
    • You present your findings in graphical form
  • Extensions to this include:
    • Artificial Intelligence and Machine Learning, where you 'train' a 'model' to complete tasks, such as 'finding people in a photograph', hence creating code that 'writes itself'.
  • It's automated maths, basically...

Computer Games

  • Languages:
    • C, C++ and C#
  • General description:
    • You will tend to use pre-made environments (aka 'engines') such as Unity
    • You add the code to move 3d models around a world of 'nodes'
    • where various actions can be offered to the user
    • and then you display the result of the user's choice
  • This is a VERY difficult industry to get into and jobs are in short supply.

Dev[Sec]Ops

  • Languages:
    • Python, Shell, Groovy, etc.
  • General description:
    • The application is coded by Software Developers
    • Think of that as the 'cars on a production line'
    • You are the people who create and maintain the production line
      • You control where the code is stored
      • Who can contribute code
      • How to take code and automatically test it
      • How to optimise it
      • How to deploy it
      • How to keep the security secrets
  • Financially rewarding but very specific
  • You'd usually already be a coder

Native App Development

  • Languages:
    • Swift or Objective C and Kotlin or Java
  • General description:
    • You're making the apps on your phone.
  • Pros
    • Pay is good
  • Cons
    • It's a very specific set of skills with limited application
    • Longevity may be questionable
    • Developer eXperience is 'interesting'.

Web Development

  • Languages:
    • HTML (Content), CSS (Presentation), JavaScript (Behaviour)
    • [optionally: PHP, Java, C#, Ruby, Go, Rust, etc.]
  • General description:
    • You're making web pages that display data to a user
    • You are creating basic programming to allow the user to interact with that data (clicks, scrolls, etc)
    • You are creating the machines that send out that data
    • You are controlling remote machines talking to each other
    • You are integrating other people's services

Why choose Web?

  • Lowest barrier to entry
  • Most positions available
  • Second highest pay (behind devops)
  • Largest community (for knowledge)
  • Most paradigms
  • Once you learn to program in one language it's then just about learning the syntax if you want to switch to another

How the stack divides

  • Front-End (client) - what appears in front of the user
  • Back-End (server) - The machines the business uses to send resources and information to the client
  • Full-Stack (both client & server)
  • Cross-Stack is when you use different server language and database configurations

Is a career in technology for me?

By James Sherry

Is a career in technology for me?

  • 63