Skip to main content
Version: v1.1

Professional Development Plan - Employable Skills

Introduction

Directly after the Computer Science section, you will be entering a period of self-guided exploration and learning. Over the next few lessons, we will be scaffolding a Professional Development Plan.

Before we get to creating our own plan, let's look at an overview of the skills that are currently in high demand based upon our survey of roles in 2023 and 2024.

As you read through this list of skills, jot down any that you feel you might already be strong in, have experience in, or are generally interested in. This will serve you in later lessons.

List of Skills For Developers

  • Accessible Design: Accessible design aims to ensure that products, services, and environments are usable by people with disabilities. This includes considerations for visual impairments, hearing impairments, motor impairments, and cognitive impairments.
  • Additional JS or C# Frameworks: Additional JavaScript or C# frameworks refer to supplementary libraries and frameworks used to enhance functionality and streamline development in web and software applications. Examples include React, Angular, Vue.js, and .NET Core.
  • AI (Artificial Intelligence): AI involves developing computer systems capable of performing tasks that typically require human intelligence, such as natural language processing, image recognition, and decision-making. It includes techniques like machine learning, neural networks, and deep learning. You are most likely already familiar with large language model processors like ChatGPT.
  • Algorithms: Algorithms are step-by-step procedures or formulas for solving problems or performing calculations. They are fundamental to computer science and are used in various applications, including sorting, searching, and optimization.
  • Blockchain Development: Blockchain development involves building decentralized applications (DApps) and smart contracts using blockchain technology. It includes understanding concepts like distributed ledgers, consensus mechanisms, and cryptographic security.
  • Canvas Rendering vs Elements: Canvas rendering and elements are two approaches to rendering graphics and visual content in web development. Canvas rendering involves drawing graphics programmatically using JavaScript, while elements involve using HTML and CSS to create and style visual elements.
  • Cloud Computing (AWS/Azure/Etc.): Cloud computing involves delivering computing services over the internet, such as servers, storage, databases, networking, and software. Examples include AWS (Amazon Web Services) and Microsoft Azure.
  • Cloud Security: Cloud security focuses on protecting data, applications, and infrastructure in cloud computing environments from cyber threats and unauthorized access. It includes measures such as encryption, access controls, and security monitoring.
  • Computer Networks/Networking Fundamentals: Computer networks involve the interconnection of multiple computers and devices for communication and resource sharing. Networking fundamentals cover topics such as protocols, IP addressing, routing, and network security.
  • Containers (Docker/Kubernetes/Etc.): Containers are lightweight, portable, and self-sufficient packages that contain everything needed to run a piece of software, including code, runtime, system tools, and libraries. Examples include Docker and Kubernetes for container orchestration.
  • Content Management Systems: Content Management Systems (CMS) are software platforms that allow users to create, manage, and publish digital content, such as websites and blogs, without requiring advanced technical skills. Examples include WordPress, Drupal, and Joomla.
  • Cross-Platform Software: Cross-platform software is designed to run on multiple operating systems or platforms with minimal modifications. Examples include frameworks like React Native and Xamarin for mobile app development, and Electron for desktop app development.
  • Cryptography: Cryptography is the study of secure communication techniques to ensure data confidentiality, integrity, and authenticity. It involves encryption algorithms, cryptographic protocols, and key management practices.
  • CS (Computer Science): Computer Science is the study of algorithms, data structures, programming languages, and computational theory. It covers various subfields, including software engineering, artificial intelligence, and computer graphics.
  • Data Analysis: Data analysis involves examining, cleansing, transforming, and modeling data to discover useful information, inform conclusions, and support decision-making. Techniques include descriptive statistics, data visualization, regression analysis, and machine learning algorithms.
  • Data Structures (Binary Trees, etc.): Data structures are specialized formats for organizing and storing data efficiently. Examples include arrays, linked lists, stacks, queues, trees (including binary trees), and hash tables.
  • DevOps: DevOps is a set of practices that combine software development (Dev) and IT operations (Ops) to shorten development cycles, increase deployment frequency, and improve software quality. It emphasizes collaboration, automation, and continuous delivery.
  • Expand to Learning Additional Text Editors: Learning additional text editors allows developers to work more efficiently and effectively with code. Examples include Visual Studio Code, Sublime Text, Atom, and Vim.
  • Freelance Rates/Pricing: Freelance rates and pricing involve determining the cost of services provided by independent contractors or freelancers. Factors to consider include skill level, experience, market demand, project complexity, and desired profit margins.
  • Go: Go (or Golang) is a statically typed, compiled programming language developed by Google. It is known for its simplicity, efficiency, and concurrency support, making it suitable for building scalable and high-performance applications.
  • IoT (Internet of Things): IoT involves connecting everyday objects and devices to the internet to collect and exchange data. It encompasses hardware, software, sensors, and network connectivity for applications such as smart homes, wearables, and industrial automation.
  • IT Automation: IT automation involves using software tools and scripts to automate repetitive tasks and streamline IT operations. Examples include configuration management tools like Ansible and infrastructure-as-code frameworks like Terraform.
  • Kotlin (for Android Development): Kotlin is a statically typed programming language that runs on the Java Virtual Machine (JVM) and is officially supported for Android app development. It offers modern language features and seamless interoperability with Java code.
  • Low-Code/No-Code Platforms like WordPress: Low-code and no-code platforms allow users to build applications with minimal coding knowledge or experience. Examples include WordPress for website development and platforms like Microsoft Power Apps and AppSheet for business applications.
  • Machine Learning: Machine learning is a subset of AI that focuses on developing algorithms and models that enable computers to learn from and make predictions or decisions based on data. It includes supervised learning, unsupervised learning, and reinforcement learning.
  • Mobile-Focused Design: Mobile-focused design emphasizes optimizing user experience and interface design for mobile devices. This includes considerations for touch interactions, screen size constraints, and performance optimization for mobile networks.
  • Modern Staples (Next.js, TypeScript): Modern staples refer to popular and widely used technologies and frameworks in contemporary web development. Examples include Next.js, a React framework for server-side rendering, and TypeScript, a statically typed superset of JavaScript.
  • Open Source Projects and/or Hackathons: Open source projects and hackathons provide opportunities for collaboration, learning, and innovation in software development. Participants contribute to open source projects or work on new projects within a limited timeframe.
  • Operating Systems (Both Desktop and Mobile): Operating systems are software platforms that manage computer hardware resources and provide services to applications. Examples include Windows, macOS, Linux (desktop), iOS, and Android (mobile).
  • Publishing/Hosting Apps: Publishing and hosting apps involves deploying applications to production environments, configuring web servers, managing domain names, and ensuring uptime and reliability.
  • Python: Python is a versatile and popular programming language known for its simplicity, readability, and extensive libraries. It is used for web development, data analysis, machine learning, automation, and scientific computing, among other applications.
  • R (Important for Machine Learning, Big Data, Data Analytics, etc.): R is a programming language and environment for statistical computing and graphics. It is widely used in fields such as machine learning, data analysis, bioinformatics, and social science research.
  • Responsive Design/Media Queries: Responsive design is an approach to web design that ensures websites adapt seamlessly to different screen sizes and devices. Media queries are CSS rules that allow designers to apply styles based on device characteristics such as screen width, height, and orientation.
  • SaaS (such as AWS): Software as a Service (SaaS) is a cloud computing model in which software applications are hosted and provided to customers over the internet. Examples include AWS (Amazon Web Services), which offers a wide range of cloud services and infrastructure.
  • Screen Readers/ARIA Labels: Screen readers are assistive technologies that convey textual and graphical information audibly to users with visual impairments. Accessible Rich Internet Applications (ARIA) labels are HTML attributes used to improve the accessibility of web content for screen reader users.
  • Scripting: Scripting involves writing scripts or programs to automate tasks and perform repetitive operations. Examples include shell scripting (Bash), Python scripting, and PowerShell scripting.
  • Software Development Life Cycle (SDLC): SDLC is a process used by software development teams to design, develop, test, and deploy software applications. It typically includes phases such as requirements analysis, design, implementation, testing, and maintenance.
  • Source Control Management: Source control management involves tracking changes to code files, coordinating work among multiple developers, and maintaining code versions. Examples include Git, SVN, and Mercurial.
  • Swift (Especially for iOS, Very Similar to C# Syntax): Swift is a programming language developed by Apple for building iOS, macOS, watchOS, and tvOS applications. It is known for its safety features, modern syntax, and performance.
  • UI/UX: User Interface (UI) and User Experience (UX) design focuses on creating intuitive, visually appealing, and user-friendly interfaces for websites and applications. This involves understanding user needs, conducting usability testing, and iterating designs based on feedback.
  • User Data Storage Law: User data storage law refers to legal regulations and compliance requirements governing the collection, storage, processing, and protection of user data, such as GDPR in the European Union and CCPA in California.
  • User Data Storage Security/DB Security: User data storage security focuses on protecting sensitive user information stored in databases from unauthorized access, data breaches, and cyberattacks. This includes encryption, access controls, and security best practices.
  • Wireframing: Wireframing is the process of creating a visual representation of a website or application's layout and functionality. Wireframes typically outline the structure and content of each page, without focusing on design elements like colors and typography.

List of Skills For Adjacent Non-Developers

  • Business Intelligence: Business Intelligence (BI) involves analyzing data to gain insights into business operations and make informed decisions. It includes techniques such as data mining, reporting, dashboards, and predictive analytics.
  • Database Administration: Database administration involves managing and maintaining databases to ensure they operate efficiently, securely, and reliably. Tasks include database design, performance tuning, backup and recovery, and user access management.
  • Excel and/or Google Sheets (Not for Development, but for Tracking/Data Analysis, etc.): Excel and Google Sheets are spreadsheet software used for data analysis, financial modeling, project management, and other tasks. They offer features for organizing, analyzing, and visualizing data.
  • Game Development: Game development involves designing, developing, and publishing video games for various platforms, such as consoles, PCs, and mobile devices. It includes tasks such as game design, programming, graphics development, and quality assurance.
  • Product Management: Product management focuses on the strategic planning, development, and marketing of products or services to meet customer needs and achieve business objectives. It involves tasks such as market research, product roadmap planning, and stakeholder management.
  • Project Management: Project management involves planning, organizing, and executing projects to achieve specific goals and objectives. It includes tasks such as defining project scope, allocating resources, managing budgets, and monitoring progress.
  • Quality Assurance (QA): Quality Assurance is the process of ensuring that products and services meet specified quality standards and customer expectations. It involves tasks such as testing, bug tracking, and quality control procedures.
  • SEO (Search Engine Optimization): Search Engine Optimization is the process of optimizing websites and content to improve their visibility and ranking in search engine results pages (SERPs). Techniques include keyword research, on-page optimization, and link building.