Similar Titles
  • Software Engineer
  • Application Developer
  • Software Architect
Job Description

Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks.

Rewarding Aspects of Career
  • Ability to grow within company of choice
  • Ability to take charge of projects and influence others
  • Expand on tech knowledge every day
  • Ability to directly affect a company’s growth
2016 Employment
2026 Projected Employment
The Inside Scoop
Job Responsibilities
  • Analyze users’ needs and then design, test, and develop software to meet those needs
  • Recommend software upgrades for customers’ existing programs and systems
  • Design each piece of an application or system and plan how the pieces will work together
  • Create a variety of models and diagrams (such as flowcharts) that show programmers the software code needed for an application
  • Ensure that a program continues to function normally through software maintenance and testing
  • Document every aspect of an application or system as a reference for future maintenance and upgrades
  • Collaborate with other computer specialists to create optimum software

Different types of developers

  • Back-end developers - responsible for the overall technical construction of the website
  • Front-end developers - responsible for how a website looks (layout and graphics)
  • Webmasters - maintain websites and keep them updated
Skills Needed
  • Concentration
  • Creativity
  • Customer service skills
  • Detail oriented
  • Thorough understanding of HTML, multimedia publishing tools and programming languages
  • Flexibility
  • Fast learner
  • Ability to adapt quickly to change
Expectations and Sacrifices
  • Expectations: ability to learn on the fly and deliver quality and maintainable code
  • Sacrifices: having to fill in the holes and help other team members, on top of own responsibilities, especially when working with unclear requirements from product companies
Different Types of Organizations
  • Tech company (doesn’t matter if it’s a large company or a startup): i.e. Google, Facebook
  • Organizations that deal with operations that can be done programmatically (more and more organizations are fitting this description)
  • Option of creating own startup
  • Can freelance develop for multiple companies
  • Development Shop
Current Trends
  • Artificial Intelligence that make software/application/system smarter day by day
  • Integrated machine learning to help machines think like humans
  • Examples of this software: Google Assistant, Siri, Alexa
  • Big Data
  • Open source software development: Open source's original source code is made readily available and may be redistributed and modified, making it the key to innovation in a variety of spheres. Releasing open source not only nurtures individual businesses but evolves, creates, and sometimes lays waste to entire industries. Using open source, making your projects open source, and being an active part of the open source community is a necessary way to keep up with technology and be a part of a larger community. []
  • Infrastructure disruption and re-assembly: These new programs allow software engineers to focus on growing the business instead of worrying about whether or not the "internal organs" are functioning properly: XaaS, serverless architecture, distributed systems, containers, and microservices. Utilize third-party services like OpenStack for its computing power, building reactive microservices to compartmentalize and focus segments of your architecture to create a much more resilient and scalable environment, and deploy software continuously with cloud-native tools like Docker and Kubernetes. []
  • Machine learning: OpenAI (Elon Musk), Watson (IBM), TensorFlow (Google), and CNTK (Microsoft) have created new exciting products (Alexa) and paradigms (voice-driven apps), and infrastructure automation, causing Machine learning to officially heat up again and for good this time around. []
  • Customer-first design: "Putting the customer first leads to success every time" []
What kind of things did people in this career enjoy doing when they were younger…
  • Enjoy playing games / problem solving
  • Interested in science
  • Passion for programming
  • Desire to discover new ideas and acquire as much knowledge as possible
  • Frequented libraries
  • Enjoyed talking with friends for hours about ideas, discoveries, books
  • Interest in developing skills, brainstorming, reading, and environmental awareness

“I was fairly into games, and I am sure that was a factor as well at the end, but I actually was more into science when I was younger. I attended college for chemical engineering before I switched over. The spark and passion for programming probably came from my high school programming course where I thoroughly enjoyed the problems that were presented, as well as breaking them down in a logical manner, such as the complexities of creating a simulated fish tank.” Leon Ho, Software Engineer at OpenX

Education and Training Needed

Benefits of Certain Education?

  • A bachelor's degree, usually in computer science, computer systems engineering, software engineering or mathematics or completion of a college program in computer science is usually required
  • A master's or doctoral degree in a related discipline may be required for certain careers
  • Possible to pick these skills up on the job without a formal education and online training

Top five universities for a bachelor's degree in computer science:

  1. University of California—Berkeley. College Choice Score: 100
  2. Massachusetts Institute of Technology. College Choice Score: 99.79
  3. California Institute of Technology. College Choice Score: 92.61
  4. Georgia Institute of Technology
  5. Carnegie Mellon University
Things to do during high school/college
  • Mathematics
  • Logic-based studies
  • Solve puzzles, play chess and other strategy games and read
  • Analyze how things work in everyday life; example: gravity
  • Start exploring how to approach problems and solve them logically, along with data structures and algorithms
  • Side code projects are always a plus as well
How to land your 1st job
  • Ask teachers for recommendations
  • Take advantage of freelance opportunities
  • Apply to job openings at tech companies
  • Experiment with different industries
  • Start own startup with clear vision and business plan (can use Kickstarter for funding)
  • Use social media to make industry connections

How to land your first job?

  • Make sure LinkedIn / Monster page and other sites used for job hunting are up to date
  • Recruiters more apt to contact potential employees whose profiles reflect their best selves / get right to the point of what they’re looking for in a career
How to stay competitive and stay in the game
  • Read about new technology
  • Doesn't have to be limited to your job, could be anything that sharpens your problem solving skills
  • Ability to adapt is really important
  • Bright minds who can pivot quickly


  • Training in vocational schools, related on-the-job experience, or an associate's degree
  • Previous work-related skill, knowledge, or experience ne or two years of training involving both on-the-job experience and informal training with experienced workers, i.e. a recognized apprenticeship program
  • Strong communication and organizational skills to coordinate, supervise, manage, or train others to accomplish goals, i.e.hydroelectric production managers, travel guides, electricians, agricultural technicians, barbers, nannies, and medical assistants
Plan B
  • Information security analysts
  • Founder of tech company
  • Patent Agent
  • Patent Attorney

Click here to download the infographic

Software Developer GladeoGraphix


Jobs by
Source: Interviews, Bureau of Labor Statistics, ONET

Online Courses and Tools