Computer Science

What is it like in the wild blue yonder?

 

Dani Tornow

2019

Agenda

  • Types of Jobs for Computer Science Majors
  • Types of people you may work with
  • My Experiences (Sanford & Before)
  • Sanford's Tech Summit

Different Types of Software Engineers & Developers

  • Website Developer
  • Web Application Engineer
  • Application Developer
  • Embedded Engineer
  • Hardware Engineer

A not 100% inclusive but mostly inclusive list.

Website Developer

  • Responsible for creating the front end and back end of websites
  • Likely uses/used Wordpress or other CMS
    • 28.9% of  ​the internet uses Wordpress
  • Technologies you may use: Javascript, PHP, Java, Node.JS, MySQL

Source: https://www.codeinwp.com/blog/wordpress-statistics/

  • Likely support a couple of websites or create new before moving onto the next project
  • Typically smaller in scope

Web and Mobile Engineer

  • Work on a website or app that is custom built and dynamic
  • Requires more knowledge of networking and systems
  • Technologies you may use: Java, PHP, React, Javascript, Apache
  • Typically larger teams than a website development team
  • Requires more interaction with different roles to drive direction, requirements, and acceptance
  • Maybe partially or entirely mobile
  • Examples: Facebook, Amazon, Snapchat

Application Developer

  • Work on developing systems that run within an OS
  • Need an understanding of the OS developed on and the functionality available
  • A new deployment requires upgrades on the user's computers
  • Runs outside of the scope of the internet though might be used for upgrades
  • Game Development falls mostly in this realm (some mobile)
  • Example Applications: Microsoft Word, Photoshop, Minesweeper
  • Example languages: C, C++, Java

Embedded Engineer

  • Work on devices that require hardware level programming
  • The type of device could be a smart fridge, a farming device, or a cell phone
  • Team size is usually large but broken down by feature or product
  • Technologies you may use: C, C++, Javascript, Java
  • There are frameworks and languages built to support embedded development
  • May hear devices called an IoT device (Internet of Things)

Hardware Engineer

  • Responsible for developing the components that run all other developer's work
  • Lowest level you can get and still be programming
  • Awareness of how operating systems work a must
  • Technologies you may use: C, C++, Assembly Language, HDL
  • Companies may work for: Intel, AMD, HP, IBM
  • Examples: Writing CPUs, RAM drivers, GPUs, etc.

Other options

  • Database Engineer / Administrator
    • Create databases and care for them
    • Manage new features that need database support
  • Network Engineer / Administrator
    • Enforce network security and new changes
    • May write little code
  • Server Engineer / Administrator
    • Set up servers that will be used for development
    • Keep servers secure and clean
  • Security Engineer / Administrator
    • Concerned with the security of the whole of the organization
    • May write little code

Average Median National Salary

  • Website Developer
    • $68,228/yr
  • Web Application Engineer
    • $88,488/yr
  • Application Developer
    • $76,195/yr

Source: Glassdoor.com

  • Embedded Engineer
    • $83,732/yr
  • Hardware Engineer
    • $98,001/yr

Woah! A lot of options!

Why does this matter? 

  • The first full-time job will refine your skills
  • Usually, those skills learned at the first job help land the second job
  • By the second job it is much harder to break out of a niche
  • Switching focus may cost either money or title, depending on the situation
  • My advice: choose something you are interested in and unlikely to be dissatisfied

Who you may work with

  • Business Analyst
  • Project Manager
  • System Engineer
  • Product Manager / Product Owner
  • Subject Matter Expert (SME)
  • Other IT

A less than 100% inclusive list but some key ones.

Business Analyst

  • Work alongside the developers as a bridge between developers and stakeholders
  • Refine the requirements and needs of the customer/end-user to work understandable to the engineers
  • When not done well, easy for engineers to develop features that are not needed or incorrectly understood

Project Manager

  • Responsible for dictating the direction of the project
  • Takes input from both Business Analyst and Engineers to determine timelines and work to do
  • Strive to balance time, resources, and work (not easy)

System Engineer

  • Designing and managing the systems you will be developing
  • Have a technical background but not likely to be a developer or write much code
  • Focused at the level of the whole, much like the project manager, but with how to achieve it technically

Product Manager/Owner

  • Product Manager/Owner is the person who drives the vision for the team
  • They are the customer or work with customers to define the roadmap of features 
  • Their focus is the business and/or organization's success
  • These people likely will not be very technical and will not understand the jargon of an engineer

Subject Matter Expert (SME)

  • This is a title that can be applied to many people at different levels
  • Used to indicate that the person is, according to the company, the foremost expert in a particular thing
  • That thing is usually a skill, a knowledge, a product, or even a technology
  • You typically work with these people either prior to a new project to get understanding or when you run into an issue and need to debug the problem

Other Information Technology

  • Database Administrators (DBA)
    • You'll work alongside these people when you need to interact with the database
    • New tables, new databases, even new database technology will be within the DBA's domain
  • System Administrator (SA)
    • You'll work alongside these people when you need new servers for new or existing applications
    • They maintain the servers and will be the people to ask about new technology on the servers within the SA's domain

Other Information Technology Cont.

  • Helpdesk
    • Frontline for support and dealing with customers
    • Typically the people who know your product best
    • These people are your allies, treat them well
  • Application Support
    • The users who work within the application to help maintain other users
    • Power users
    • Another great resource for insight into application

My experiences

What I'm doing now: Sanford Imagenetics

  • Lead Software Engineer (Web Application Engineer)
  • Working on bringing genetic understanding to preventive healthcare to better treat the populations in the Sanford footprint
  • Complex web systems that interact with both patients and lab equipment
  • Work with: Lab Directors, Genetic Counselors, Bioinformaticians, & other engineering staff
  • Technologies: Ruby, AWS, Microservices

What I did before: Raven Industries - ADT

  • Software Engineer (Web Application Engineer)
  • Developed communication tools to interface between IoT devices and website
  • Used by farmers for spraying fields with detailed precision
  • Only a portion of what Raven does
  • Technologies: PHP, AWS, MySQL

What I did before that:

USGS EROS

  • Software Engineer (Web Site Developer) and Database Administrator
  • Worked with satellite data and processing, data websites serving data
  • Landsat data is used by Google for large-scale images 
  • Technologies: PHP, PostgreSQL, Drupal

Other people doing cool stuff.

  • DocuTap
    • Building software for healthcare clinics (much smaller than Sanford)
  • SDN
    • Bringing internet and networking solutions to the greater area
  • Avera
    • Another huge Healthcare organization on our doorstep
  • BANKS!

Disclaimer: This is not a full list of cool companies in Sioux Falls!

Sanford Tech Summit Oct. 5-6th

Win CASH and build on your experience

 

  • Collaborative Hackathon style event
  • Teams of 4 
  • Focused on the Following problem types
    • Frictionless Patient Experience
    • Treatment Transparency
    • Seamless and Secure Data Transitions

South Dakota Code Camp

  • Hosted by Sioux Falls Developer Group
  • Saturday, November 9th, 2019
  • Free event with local speakers! (Including me)
  • For more information find their webpage:

Thank you!

Questions?

Learn More Programming

  • Hacker Rank
  • Udemy
  • Tutorial's Point
  • Code School
  • Code Wars
  • Stack Overflow
  • Code Academy
  • Coursera
  • Edx
  • Project Euler

Pick a couple of skills and learn them. Don't try to learn everything at the same time.

Shapes of Learning

Fin.

Computer Science

By Danielle Tornow

Computer Science

  • 211