Codecademy Blog https://www.codecademy.com/resources/blog/ Stories, advice, & news from Codecademy Thu, 06 Feb 2025 05:07:10 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://www.codecademy.com/resources/blog/wp-content/uploads/2023/01/favicon.png?w=32 Codecademy Blog https://www.codecademy.com/resources/blog/ 32 32 218144266 11 HTML and CSS Code Challenges for Beginners https://www.codecademy.com/resources/blog/html-and-css-code-challenges-for-beginners/ https://www.codecademy.com/resources/blog/html-and-css-code-challenges-for-beginners/#respond Thu, 06 Feb 2025 13:00:00 +0000 https://wpvip.codecademy.com/html-and-css-code-challenges-for-beginners/ HTML and CSS are the programming languages behind all web pages. These code challenges can help you sharpen your skills.

The post 11 HTML and CSS Code Challenges for Beginners appeared first on Codecademy Blog.

]]>
HTML and CSS form the foundation of modern web development. HTML defines how a web page is structured, and CSS defines its style. While both languages are relatively easy to learn, once you know the basics, you’ll still need to sharpen your skills with practice.

Code challenges are a great way to sharpen your programming skills and combine them in different ways. Here are 11 HTML and CSS code challenges that’ll help you take your skills to the next level. To get started, just pick a challenge, open up a workspace, and start coding.

Note that while these challenges are designed for beginners, you’ll still need to have a basic understanding of HTML and CSS. If you need a refresher, use the courses below:

1. Create a tribute page

Choose a historical figure who’s meaningful to you and create a webpage dedicated to them. The webpage should include:

  • A title or heading with the person’s name
  • An image of the person
  • A caption for the image
  • A timeline of the person’s life in the form of a list

This can be completed with only HTML, but use CSS to give it some style.

2. Create a Wikipedia page

Wikipedia is one of the backbones of the internet, and it has a relatively simple layout. Create a Wikipedia page on the topic of your choice. It should include:

  • A title or heading
  • A table of contents with links to sections within the page
  • Superscript number links that link to the corresponding number in the reference section
  • An ordered list of references

3. Create an HTML and CSS-only search results page

Create a mock Google search results page. It should include:

  • The Google logo
  • A search bar at the top
  • A list of search results with clickable links

Here’s an example of what it might look like.

4. Create a survey form

HTML forms are an important part of many websites. Create a form for a survey on the topic of your choice.

Include a variety of answer options, including text fields, dropdowns, radio buttons, checkboxes, and a submit button. Don’t forget to add a title, and consider using CSS to improve the look of your form. Here’s an example.

5. Create an image gallery

Image galleries can be an essential template for many websites—like photography portfolios, for instance. Pick a theme you like (films, plants, architecture) and create an image gallery using float or display flexbox.

This gallery should contain:

  • A title or heading
  • 8+ clickable images with descriptions
  • A top navigation bar
  • A footer, complete with social media links

6. Create a parallax website

A parallax website has a fixed image in the background that stays in place while you scroll through other parts of the page. It’s a popular effect in web design and gives an elegant look and feel to a page.

Design a parallax webpage. Divide the page into three or four sections. Set three or four background images and align text to each section. You’ll use margins, padding, and background positioning to create the effect. Here’s an example of a parallax website.

7. Create a product landing page

Many websites are designed to showcase and sell products. A product landing page needs to be attractive, informative, and easy to read to appeal to consumers. Your product landing page should include:

  • A picture of the product
  • A header and footer
  • Columns
  • Multiple sections

Consider the color scheme and ensure that elements don’t overlap each other.

8. Create a restaurant website

A restaurant website is similar to a product landing page in that it should showcase the restaurant and menu items appealingly. It’s more complex, though, with images of different foods and drinks. First, create a responsive restaurant website using a viewport and media queries.

9. Create a chessboard

This challenge teaches you how to create and format a table. You’ll also need to learn how to insert UNICODE characters.

Create a chessboard. The board should be alternating colors and an eight-by-eight grid. Here are the UNICODE characters you’ll need for the pieces.

  • White King: ♔
  • White Queen: ♕
  • White Rook: ♖
  • White Bishop: ♗
  • White Knight: ♘
  • White Pawn: ♙
  • Black King: ♚
  • Black Queen: ♛
  • Black Rook: ♜
  • Black Bishop: ♝
  • Back Knight: ♞
  • Black Pawn: ♟

10. Create an event or conference website

This challenge continues the theme of building attractive web pages. This one will include a registration button that links to a registration form. You’ll also need details and images of the speaker or performer and venue. Describe the event and include multiple sections along with a header and footer. Consider the color scheme and use fonts that are readable and reflect the theme of the event.

11. Create a portfolio website

Take what you’ve learned throughout the other challenges and create a portfolio website. The website should reflect your skills.

Include a page with your resume, work samples, a photo, and a top menu with links to an about page, contact page, and any other pages you’d like to include. In the footer, include your contact information and links to your relevant social media accounts.

Building your HTML and CSS skills

Code challenges are just one way to build your HTML and CSS skills. You can also brush up with courses like Learn HTML, Learn CSS, and Learn Intermediate CSS. These courses build on one another, though you can always jump into an intermediate class if you already have a good base knowledge of CSS.

Skill Paths are another great way to learn specific skills. Our Learn How to Build Websites Skill Path walks you through HTML and CSS, along with responsive design and accessibility. You’ll end the class with a polished website that you can use in your portfolio. We also have a standalone course on responsive design.

If you feel confident in your HTML and CSS skills, it may be time to learn another language. Our course on JavaScript builds on HTML and CSS to help you make websites even more responsive and dynamic. Once you learn JavaScript, we offer a course on Building Interactive JavaScript Websites that brings all those skills together.

This blog was originally published in November 2021 and has been updated to include additional HTML and CSS challenges for beginners.


Whether you’re looking to break into a new career, build your technical skills, or just code for fun, we’re here to help every step of the way. Check out our blog post about how to choose the best Codecademy plan for you to learn about our structured courses, professional certifications, interview prep resources, career services, and more.

Related courses

3 courses

The post 11 HTML and CSS Code Challenges for Beginners appeared first on Codecademy Blog.

]]>
https://www.codecademy.com/resources/blog/html-and-css-code-challenges-for-beginners/feed/ 0 6089
What Is PHP Used For? https://www.codecademy.com/resources/blog/what-is-php-used-for/ https://www.codecademy.com/resources/blog/what-is-php-used-for/#respond Tue, 04 Feb 2025 17:51:16 +0000 https://wpvip.codecademy.com/what-is-php-used-for/ PHP is a programming language that allows websites to function interactively and dynamically. Read on to learn more about what PHP is used for.

The post What Is PHP Used For? appeared first on Codecademy Blog.

]]>
PHP is a programming language used to script websites that are dynamic and interactive. You’ll find it in various types of web applications, from e-commerce websites to CRM systems like HubSpot and Salesforce.

The term PHP stands for PHP Hypertext Preprocessor. Originally, the “PHP” within the acronym stood for Personal Home Page. But, as the language evolved and caught on, it ended up being used for more than just personal home pages. So, that acronym, in turn, became just the “P” within PHP.

Below, we’ll take a closer look at PHP, how it works, its relationship with HTML, examples of PHP in action, and more.

PHP basic functions

Within PHP code operating a website, variables and ordered and associative arrays can be managed. PHP code also handles and validates HTML forms and executes code loops.

Our PHP courses cover these functions as well as examples of the types of products this code facilitates.

PHP’s relationship to HTML

A big part of PHP’s value is its use as a dynamic scripting language that works hand-in-hand with HTML.

A PHP interpreter makes a website dynamic and customizable, allowing a site to respond to user input or information in some expected way. The interpreter is a key link between the user and web server, databases, and the relevant files or responses sent back to that user.

Ease of use

Despite its power and utility, PHP is one of the easiest programming languages to learn. It’s simple, has forgiving syntax, and has ample documentation and resources available to those learning the language.

PHP’s ease of use has made it a staple for Back-End Engineers and Full-Stack Engineers. It also contains built-in security features like data encryption and access restrictions, removing the need for separate work to ensure the security of websites. Plus, PHP code often powers online forms.

Now that you’ve got an idea of what PHP is used for, let’s explore some examples of PHP in action.

PHP in action: ScienceSoft

ScienceSoft, a Dallas-based IT consulting and software development provider, offers examples of how they’ve used PHP scripting for clients’ projects:

Audio equipment shopping

This smart, in-store headphone-check digital signage stand uses PHP to allow users to compare and contrast multiple models. This includes a playlist of test tracks, the ability to tell the stand’s app what model a customer wants, and the production of graphs comparing models for a customer.

Movie theater chain ticket booking

This European movie theater chain modernized its mobile ticketing app to include seat plans, notifications, and in-depth information about their movies. Using PHP, the app can provide customers with a choice of showtimes, theaters, and seat types.

Content for augmented reality advertising displays

This manufacturer of digital interactive advertising and entertainment displays for stores and shopping malls needed an administrative panel to create and manage the content for these screens.

So, they turned to ScienceSoft to create an administrative control that would allow either the display maker or the local store or mall user to control the content. PHP also made it possible to control the displays remotely using a web application.

Management of a central database of college information

This provider of a database with information on US colleges, admissions, and scholarship details worked solely with imports of information from Excel spreadsheets. They needed a cloud-based information management solution to store their large volumes of data, integrate with other software, and automate data reporting to their clients.

PHP, among other languages and tools, helped build this solution.

PHP in action: Symfony

Symfony, a French PHP framework provider, worked on PHP-based projects for both business and political entities.

For instance, Symfony participated in hackathons that produced security improvements for open-source software used by the European Commission.

Another example of Symfony in action is Liip, a Swiss digital agency, built an API using Symfony PHP for Swiss retailer Migros to organize and manage data about its products so that it could be searched and accessed in real-time to manage the retailer’s business.

Upply, a digital platform for freight transportation, used Symfony to build a PHP-based event-driven micro-services architecture so they could efficiently handle massive volumes of transactions required to meet user demands.

PHP in action: CakePHP

CakePHP is an open-source project by the Las Vegas-based Cake Software Foundation. CakePHP has worked for a variety of companies in different fields. These include:

  • Southwest Research Institute, who used PHP to create modular, full-stack, interactive web-apps so the scientists and engineers working on over 50+ spacecraft and instruments can see the data most relevant to them, on demand.
  • Internet Marketing Ninjas, who used PHP to build its marketing and management tools and a central hub for users.
  • World-Architects, who used PHP to build its profiles of architects and their projects, including online visual presentations.
  • Child Care Daily App, who used PHP to build an app to serve parents of children in San Diego-based daycare centers.
  • Printivo.com, a Nigerian customized printing company, who used PHP for their customer-facing website and internal order management systems.

These examples of PHP in action show how many areas of commerce, society, and everyday life this programming language touches. It often plays a key part in designing websites and operating them on a daily basis.

Getting Started with PHP

As you can see, PHP is a powerful language with a wide range of applications. Still, the best way to learn about its utility is to use it yourself.

If you’re ready to start using PHP, check out our Learn PHP course. We’ll teach you the basics of the language’s syntax along with many other subjects like variables, functions, loops, and more.

If you find yourself stuck while completing the course, we also offer resources like this article on common mistakes made with PHP conditionals.

This blog was originally published in September 2021, and has been updated to include new examples of PHP in action.

The post What Is PHP Used For? appeared first on Codecademy Blog.

]]>
https://www.codecademy.com/resources/blog/what-is-php-used-for/feed/ 0 5965
6 Black Professional Organizations Empowering BIPOC in Tech  https://www.codecademy.com/resources/blog/black-professional-organizations/ Thu, 30 Jan 2025 15:00:00 +0000 https://www.codecademy.com/resources/blog/?p=13654 Let’s give a shout out to the Black technologists working hard to make tech more inclusive and accessible.

The post 6 Black Professional Organizations Empowering BIPOC in Tech  appeared first on Codecademy Blog.

]]>
When job opportunities are scarce and competition is fierce, having a network of allies in your corner who can offer guidance or even open a few doors makes all the difference. But with Black people and other POC comprising only fractions of the tech workforce, networking opportunities within those communities can be limited. The good news is: there are tons of cool organizations working hard to nurture and advance the careers of BIPOC in tech.

Next week is the start of Black History Month, and this year’s theme, “African Americans and Labor,” sets out to highlight and celebrate the potent impact of the work Black people do and have done throughout history. In the spirit of that celebration, let’s explore 6 Black professional organizations who are empowering BIPOC in tech.

Learn something new for free

The Hidden Genius Project 

The Hidden Genius Project teaches Black high school students coding, computer science, entrepreneurship, and leadership with the goal of helping young men of color break into the tech industry. They’ve supported over 11,000 students since their establishment in 2012, and they’re currently accepting applications for their 2025 cohort. The Oakland-based program has sites in the Bay Area, Los Angeles, Detroit, Chicago, Atlanta, and Baltimore. You can get involved with The Hidden Genius Project by volunteering (you don’t need technical experience) and/or donating. 

Blacks in Technology 

Blacks in Technology (BiT) is a nonprofit dedicated to supporting Black technologists with educational resources, career guidance, mentorship, and community. They maintain an active community on Slack and LinkedIn where BIPOC talk about their professional experiences, trials and tribulations, and more. The LinkedIn group is a great place to discover open job listings and connect with recruiters who are seeking to hire diverse talent. You can join BiT to engage in their online communities and chapters worldwide or donate if you want to further their mission. 

NSBE

The National Society of Black Engineers (NSBE) has been uplifting Black students and professionals in tech and engineering since 1975. Their Information Technology Think Tank (ITTT) helps members earn certifications in cloud computing, network, and cybersecurity, and connects Black IT professionals to professional opportunities. (Curious about IT careers? Read this blog to learn about the highest-paying IT jobs of 2024.) You can join the NSBE to take part in their global programs and events and donate if you want to lend a hand. 

BDPA 

The Black Data Processing Associates (BPDA) has been around since 1975 and it’s the largest professional organization for BIPOC people in tech. They help create a professional pipeline for BIPOC in STEM and technology through scholarships and programming training for all ages (from youth to high schoolers and adults). They also provide networking and career development opportunities for BIPOC in IT, computer science, and related fields. Sign up with the BPDA to participate in programs, conferences, and events or contribute to the cause with a donation. 

Code2040 

Code2040 is a community of Black and Latin tech professionals working to achieve racial equity in the innovation economy, specifically the tech industry. The name is a nod to census projections showing that people of color will make up the majority of the United States population by the year 2040. Code2040 nurtures budding professionals by teaching them how to land career-advancing opportunities and manage obstacles like impostor syndrome and microaggressions. You can volunteer as a virtual mentor if you want to get involved or donate to support their work. 

DevColor 

DevColor is a career accelerator for BIPOC developers and technologists with over 600 members in countries around the world. They offer programs that provide technical interview training and coaching, an exclusive cohort of BIPOC women in senior and leadership roles, and live and virtual networking opportunities, pitch sessions, and Q&As. You can subscribe to DevColor, sign up to become a member, or donate to support the initiative. 

Want to learn more about the specific challenges and opportunities Black people face in tech? Check out the rest of our Black History Month blogs to learn more about all the cool things Black people are doing in tech spaces.

This blog was originally published in February 2024, and has been updated to include new information on Black professional organizations.

Related courses

6 courses

The post 6 Black Professional Organizations Empowering BIPOC in Tech  appeared first on Codecademy Blog.

]]>
13654
How Builders & Users Can Help Tackle Racial Biases in AI Systems https://www.codecademy.com/resources/blog/racial-bias-in-ai/ Mon, 27 Jan 2025 13:00:00 +0000 https://www.codecademy.com/resources/blog/?p=14086 Learn how racial bias manifests in AI, and how we as users and builders can help make AI more equitable.

The post How Builders & Users Can Help Tackle Racial Biases in AI Systems appeared first on Codecademy Blog.

]]>
AI is everywhere. It influences which words we use in texts and emails, how we get our news on X (formerly Twitter), and what we watch on Netflix and YouTube. (It’s even built into the Codecademy platform you use to learn technical skills.) As AI becomes a seamless part of our lives and jobs, it’s crucial to consider how these technologies affect different demographics.  

The consequences of racial biases in AI, for example, are well-documented. In healthcare, AI aids in diagnosing conditions and making decisions about treatment, but biases arise from incorrect assumptions about underrepresented patient groups, leading to inadequate care. Similarly, in law enforcement, predictive policing tools like facial recognition technology disproportionately target BIPOC communities, exacerbating racial inequities.  

So, how do we prevent bias in AI in the first place? It’s a big question that all developers and people who interact with technology have a responsibility to think about. 

There are avenues for bias to occur at every stage of the development process, explains Asmelash Teka Hadgu, a Research Fellow at the Distributed AI Research Institute (DAIR). From the very beginning, a developer could conceptualize a problem and identify a solution space that doesn’t align with the needs of a community or an affected group. Bias can also show up in the data that’s used to train AI systems, and it can be perpetuated through the machine-learning algorithms we employ.  

With so much potential for bias to creep into AI, algorithmic discrimination can feel inevitable or insurmountable. And while undoing racial biases is not as simple as building a new feature for an app or fixing a bug, there are proactive measures we can all take to address possible risks and eliminate bias to the best of our abilities. Ahead, Asmelash breaks down how these biases manifest in AI and how to prevent bias when building and using AI systems.

Learn something new for free

How do racial biases manifest in AI, and what threats do they pose? 

Asmelash: “If we zoom out a bit and look at a machine learning system or project, we have the builders or researchers who combine data and computing to create artifacts. Hopefully there’s also a community or people that their systems and research are intended to help. And this is where bias can creep in. From a builder’s perspective, it’s always good to assess (and possibly document) any biases or assumptions when solving a technical problem. 

The second component is biased data, which is the first thing that comes to mind for most people when we talk about bias in machine learning. For example, big tech companies build machine learning systems by scraping the web; but we know that the data you find on the web isn’t really representative for many races and other kinds categorizations of people. So if people just amass this data and build systems on top of them, [those systems] will have biases encoded in them. 

There are also biases that come from algorithm selection, which is less talked about. For example, if you have imbalanced data sets, you should strive to use the right kind of algorithms so you don’t misrepresent the data. Because, as we said, the underlying data might be skewed already. 

The interplay between data and algorithms is difficult to tease apart, but in scenarios where you have class imbalance and you’re trying to do classification tasks, you should explore subsampling or upsampling of certain categories before blindly applying an algorithm. You could find an algorithm that was used in certain contexts and then, without assessing the scenarios where it works well, use it on a data set that doesn’t exhibit the same characteristics. That mismatch could exacerbate or cause racial bias. 

Finally, there are the communities and people we’re targeting in machine learning work and research. The problem is, many projects don’t involve the communities they’re targeting. And if your target users aren’t involved, it’s very likely that you’ll introduce biases later on.” 

How can AI developers and engineers help mitigate these biases? 

Asmelash: “DAIR’s research philosophy is a great guide, and it’s been really helpful as I practice building machine learning systems in my startup, Lesan AI.  They explain how, if we want to build something for a community, we have to get them involved early on — and not as data contributors, but as equal partners of the research that we’re doing. It takes time and trust to build this kind of community involvement, but I think it’s worth it. 

There’s also accountability. When you’re building a machine learning system, it’s important to make sure that the output of that project isn’t misused or overhyped in contexts that it’s not designed for. It’s our responsibility; we should make sure that we’re accountable for whatever we’re building.” 

What can organizations and companies building or employing AI tools do? 

Asmelash: “There’s a push toward open sourcing AI models, and this is great for looking into what people are building. But in AI, data and computing power are the two key components. Take language technologies like automatic speech recognition or machine translation systems, for example. The companies building these systems will open source all of the data and algorithms they used, which is fantastic, but the one thing they’re not open sourcing is their computing resources. And they have tons of it. 

Now, if you’re a startup or a researcher trying to do something meaningful, you can’t compete with them because you don’t have the computing resources that they have. And this leaves many people, especially in developing companies, at a disadvantage because we’re pushed to open source our data and algorithms, but we can’t compete because we lack the computing component and end up getting left behind.”  

How about the average person using these tools — what can individuals do to help mitigate racial bias in AI? 

Asmelash: “Say a company creates a speech recognition system. As someone from Africa, if it doesn’t work for me, I should call it out. I shouldn’t feel ashamed that it doesn’t work because it’s not my problem. And the same goes for other Black people. 

Research shows that automatic speech recognition systems fail mostly on Black speakers. And when this happens, we should call them out as users. That’s our power. If we can call out systems and products and say ‘I’ve tried this, it doesn’t work for me’ — that’s a good way of signaling other companies to fill in that gap. Or letting policymakers know that these things don’t work for a certain type of people. It’s important to realize that we, as users, also have the power to shape this. 

You can also contribute [your writing skills] to machine learning research. Research communication, for example, is such a big deal. When a researcher writes a technical research paper, they’re not always interested in communicating that research to the general public. If somebody’s interested in this space, but they’re not into coding and programming, this is a huge unfilled gap.” 

Conversation has been edited for clarity and length. 

Learn more about AI 

Feeling empowered to pursue a career in AI or machine learning? Check out our AI courses to uncover more about its influence on the world. Start with the free course Intro to ChatGPT to get a primer on one of the most advanced AI systems available today and its limitations. Then explore how generative AI will impact our future in the free course Learn the Role and Impact of Generative AI and ChatGPT.

This blog was originally published in February 2024, and has been updated to include the latest statistics.

Related courses

6 courses

The post How Builders & Users Can Help Tackle Racial Biases in AI Systems appeared first on Codecademy Blog.

]]>
14086
What Programming Language Should You Learn First? https://www.codecademy.com/resources/blog/what-programming-language-should-i-learn/ https://www.codecademy.com/resources/blog/what-programming-language-should-i-learn/#respond Thu, 23 Jan 2025 21:33:48 +0000 https://wpvip.codecademy.com/what-programming-language-should-i-learn/ Thinking about learning to code but not sure where to start? We’ll do our best to set you up for choosing the right first programming language for yourself.

The post What Programming Language Should You Learn First? appeared first on Codecademy Blog.

]]>
Thinking about learning to code but not sure where to start? One of the most common questions we hear is, “Which programming language should I learn first?”

The answer is: It depends. As Web Developer Pat DePuydt explains in the video below, the tech industry changes fast. And with over 600 possible languages to choose from, it can feel daunting to find the one that best suits your needs.

Still, it basically comes down to what you’re looking to achieve. Here, we’ll explore some of the most popular languages (and their uses) so that you’ll have a better idea of which one is right for you.

But, before we dive into different programming languages, let’s first address some common questions.

What are programming languages?

Programming languages are the tools we use to write instructions for computers to follow. Computers think in binary, and programming languages help us translate 1s and 0s into code that humans can understand.

Programmers are the ambassadors between the worlds of humans and computers, and programming languages are the tools they use to tell computers what to do.

Learn something new for free

Is it possible to choose the “wrong” programming language?

New developers often hesitate before picking up a programming language, fearing they’ll waste time and energy learning something they’ll never use. But the truth is, there’s really no such thing as picking the “wrong” language. No matter which language you choose, you’ll still be learning valuable skills.

Programming languages may look different on the surface, but they have a lot in common. They share similar patterns and structures, and by learning one language, you’ll be introduced to key coding concepts that’ll help you learn other languages in the future. Once you pick up your first programming language — no matter which you choose — it’ll be easier to pick others up.

Plus, it’s not uncommon for developers to move between different languages throughout their careers as they’re asked to solve different sorts of problems. You’re definitely not locked into using the first programming language you choose. So don’t worry too much about focusing on whether you’re learning the “best” programming language. Instead, focus on gaining that foundational knowledge with whatever language you choose.

What programming language should I learn?

Now that you’ve got some background, it’s time to decide what programming language you should choose. There are a couple of routes you can go with making this decision. The first is to choose a programming language based on your goal, and the second is to choose a programming language based on what’s the most in-demand or popular in the industry.

Finding the best programming language for your goals

Why do you want to learn a programming language? Are you programming just for fun? Curious about what coding is like? Trying to build something specific or get a new job? Answering this question is a great way to get an idea of what language might be best to start with.

That’s why our free course Choosing a Career in Tech walks through some of the most popular careers in the field and the skills they require. It’s like working in reverse: Once you know where you want to end up, it’s easier to figure out how to get there.

If you’re just learning for fun, pick any language you like! Some popular languages for those starting out include HTML, CSS, JavaScript, or Python. (More on these languages below!)

Web development

If you’re at the very beginning of your coding journey, you’ll want to learn basic markup languages like HTML and CSS to get your foot in the door. These two are essential to front-end web development and can be used to structure and design attractive web pages with interactive elements.

Learning HTML and CSS is an excellent starting point for those who want to build websites from the ground up. Once you’re familiar with HTML/CSS, you can move on to languages and libraries like JavaScript or React to give your website the functionality it needs. Keep in mind that you’ll need to showcase a diverse portfolio of your past projects to become a Web Developer.

Data science and analysis

Want to analyze data? SQL is great for data management, and Python and R are good starting places for data visualization. Ruby, JavaScript, and Python are useful for automating tasks.

If you’re looking to make a career transition or get a new job, talk to people in the industry you’re interested in. If you’re interested in mobile development, web design, data science, IT, AI, or another industry, reach out to folks in those communities and ask what a typical day looks like for them. What languages do they use? Which do they recommend starting with?

If you don’t know any developers personally, create a thread in the Codecademy forums or our community on Facebook to ask for advice.

Python is known as a beginner-friendly language because of its high-level, readable syntax. Unlike many older, low-level languages Python is very concise and familiar: Code statements are intuitive and read much more like conventionally written instructions.

R is another popular first language, especially in academia, due to its strengths in scientific and statistical computing. Like Python, it has a very large community of users and developers that provide a rich ecosystem of libraries and learning resources that are particularly useful for new programmers.

JavaScript is the language of the web, and as a result, it’s an incredibly popular and well-documented language. It has become more user-friendly over the course of its more recent development, and there are alternatives available that users can migrate to after learning the basics. For example, Typescript is a superset of JavaScript, that provides additional syntax and features that make developing applications in JavaScript easier.

In truth, every language has its own pros and cons for beginners. In our free course Choosing a Programming Language, we take a closer look at the applications of popular programming languages and their learning curves.

If you’re considering a career in coding, stick to mainstream languages when you’re getting started. They generate the highest demand in the tech industry, with most job openings listing them as required skills for entry-level developers.

Here’s a list of some of the most popular programming languages and what they’re used for:

C++

In Stack Overflow’s survey of thousands of developers around the world, 23% listed C++ as their favorite programming language. It’s a powerful, all-purpose programming language used for building applications with faster performance and far more effective scalability. In fact, the basic foundation of most Windows software was written in C++.

C++ is ideal for managing resource-heavy applications, like web browsers, operating systems, desktop apps, cloud computing, and even video games. It’s used in a variety of industries, including VR, robotics, software and game development, and scientific computing. The key features of this language are its cross-platform hardware support and adaptability to a changing internal environment.

C#

C# is Microsoft’s programming language. Being one of the most popular languages, with 27.1% of developers naming it as their favorite in Stack Overflow’s survey, it has since been adopted into the Windows, Linux, and iOS and Android platforms. C# is also known for having a huge collection of libraries and frameworks.

It’s often the language of choice for game developers and mobile app creators, though it’s also used in enterprise software like Azure and IoT. If you’re interested in game design, you’ll most likely encounter C# when building assets in the Unity engine for a new game.

JavaScript

JavaScript is a dynamic programming language used primarily in web development to design interactive, user-friendly websites. It provides stylized web pages with added functionality and allows brands to increase their user engagement by displaying animated elements on their websites.

JavaScript is the most popular language in Stack Overflow’s Developer Survey at 62.3%. This versatile programming language is the core component of web browsers and is suitable for most beginners who are curious about front-end web development or mobile game development.

Ruby

Ruby is a general-purpose, dynamic programming language, most popularly implemented with the Ruby on Rails (Rails) framework. Only 5.2% of surveyed developers listed it as their favorite, but it provides developers with cutting-edge features, all thanks to its concise syntax and object-oriented support.

Although Ruby is a back-end language, it’s designed to be readable by people instead of just machines, and it’s turned into a staple language used by companies like Twitter, Airbnb, and GitHub.

Python

Python is another general-purpose programming language, and ranks as the third favorite programming language in Stack Overflow’s survey (51%). It plays an important part in data science, machine learning, and web development. You can even use it to program desktop applications. This versatility is one of the reasons why it’s ranked as the fourth most popular programming language in the survey linked above.

Python has a low barrier to entry. It’s simple but elegant, with many real-world applications — one notable example being artificial intelligence. As seen in web scraping, Python has the capability to extract a large amount of data.

R

R is another programming language used for data analysis and visualization. It has statistical computing capabilities that make it a helpful tool for data scientists and business analysts. R serves a specific niche, but it’s quite popular in the data science industry, being 4.3% of developers’ favorite language.

SQL

SQL (pronounced “sequel”) is a data-driven programming language. Its purpose is to store information into separate data sets so you can retrieve them to generate accurate reports based on your search query. SQL is an absolute must for any aspiring Data Scientist, given that data science uses relational databases. But, it’s not the best language for building apps from scratch.

SQL is the fourth most popular programming language in Stack Overflow’s survey (51%), and it’s even helpful for non-technical careers. SQL also allows marketers to translate and analyze business data to understand how well certain products perform on the market or which sales funnels are converting leads into customers.

More resources for getting started

If you’re still unsure about which programming language to learn first, we’ve got a couple more tools to help you out.

The first is our free course Learn to Code with Blockly, in which you’ll learn programming fundamentals and concepts shared between languages. Then, once you understand how coding actually works, try our coding personality quiz to find out which language is right for you. It’s kind of like a personality test, but for programming. Basically, it determines which language best matches your approach to problem-solving.

You can also check out our Code Foundations skill path. Code Foundations will introduce you to the world of code, explain the paths of web development, data science, and computer science, and help you make an educated decision about which path (and language) is right for you.

This blog was originally published in August 2020, and has been updated to include the latest statistics, as well as new details about our course offerings.


Whether you’re looking to break into a new career, build your technical skills, or just code for fun, we’re here to help every step of the way. Check out our blog post about how to choose the best Codecademy plan for you to learn about our structured courses, professional certifications, interview prep resources, career services, and more.

Related courses

3 courses

The post What Programming Language Should You Learn First? appeared first on Codecademy Blog.

]]>
https://www.codecademy.com/resources/blog/what-programming-language-should-i-learn/feed/ 0 5315
12 Java Code Challenges for Beginners https://www.codecademy.com/resources/blog/java-code-challenges-for-beginners/ https://www.codecademy.com/resources/blog/java-code-challenges-for-beginners/#respond Tue, 21 Jan 2025 16:30:28 +0000 https://wpvip.codecademy.com/java-code-challenges-for-beginners/ Are you learning Java and looking for exercises to test your new skills? Try these 12 Java code challenges for beginners and put your Java knowledge to use.

The post 12 Java Code Challenges for Beginners appeared first on Codecademy Blog.

]]>
If you’re starting a career as a Front-End Developer, Full-Stack Developer, or Computer Scientist, then you’ve probably started learning Java. Maybe you’ve started with an online course, which is a great way to build a solid programming foundation. Once you’re familiar with the basics, try putting your Java skills to the test with some practical exercises to build on your knowledge.

One of the best features of Java is its flexibility. You may find that there are multiple ways to solve the same challenge. In fact, if you’re learning Java with a friend, try these challenges together and learn from each other by comparing your results.

If you get stuck, try thinking through the problem using pseudocode or a general description of the programming steps you’d use to solve the problem. Pseudocode is helpful because it lets you work through programming challenges without having to worry about the specific syntax of a programming language (you can worry about that later).

Below are 12 Java code challenges for beginners. The first six challenges are with strings, while the last six challenges involve numerical inputs. Let’s get started!

Learn something new for free

12 Java code challenges to practice your new skills

1. Word reversal

For this challenge, the input is a string of words, and the output should be the words in reverse but with the letters in the original order. For example, the string “Dog bites man” should output as “man bites Dog.”

After you’ve solved this challenge, try adding sentence capitalization and punctuation to your code. So, the string “Codecademy is the best!” should output as “Best the is Codecademy!”

2. Find the word

Starting with an input string of words, find the second-to-last word of the string. For example, an input of “I love Codecademy” should return “love.”

To make your program more challenging, allow for a second numerical input, n, that results in returning the nth word of a string. So, for the string “I can program in Java” and n = 3, the output should be the third word, “program.”

For a given input string, return a Boolean TRUE if the string starts with a given input word. So, for an input string of “hello world” and input word “hello,” the program should return TRUE.

For a more advanced word searcher, create a program that returns the number of times a word appears in an input string. For example, given an input word “new” and an input string “I’m the new newt,” the program should return a value of 2.

4. Anagrams

Two words are anagrams if they contain the same letters but in a different order. Here are a few examples of anagram pairs:

  • “listen” and “silent”
  • “binary” and “brainy”
  • “Paris” and “pairs”

For a given input of two strings, return a Boolean TRUE if the two strings are anagrams.

As an added challenge, for a given array of strings, return separate lists that group anagrams together. For example, the input {“tar,” “rat,” “art,” “meats,” “steam”}, the output should look something like {[“tar,” “rat,” “art”], [“meats,” “steam”]}.

5. Pangrams

A pangram is a sentence that contains all 26 letters of the English alphabet. One of the most well-known examples of a pangram is, “The quick brown fox jumps over the lazy dog.” Create a pangram checker that returns a Boolean TRUE if an input string is a pangram and FALSE if it isn’t.

For an added pangram challenge, create a perfect pangram checker. A perfect pangram is a sentence that uses each letter of the alphabet only once, such as, “Mr. Jock, TV quiz Ph.D., bags few lynx.”

6. Count vowels and consonants

With this challenge, you’ll create a program that will count the number of vowels and the number of consonants in a string.

Using the same example string “I love Codecademy,” should output as “vowels: 7, consonants: 8.” This is, of course, assuming you didn’t include “y” as a vowel, in which case your output should read: “vowels: 8, consonants: 7.”

7. Number reversal

This one is a technical interview favorite. For a given input number, return the number in reverse. So, an input of 3956 should return 6593.

If you’re ready for a bigger challenge, reverse a decimal number. The decimal point should stay in the same place. So, the number 193.56 should output 653.91.

8. Armstrong numbers

An Armstrong number is a whole number that’s equal to the sum of its digits raised to the power of the total number of digits. For example, 153 is an Armstrong number because there are three digits, and 153 = 13 + 53 + 33. The four-digit number 8208 is also an Armstrong number, as 8208 = 84 + 24 + 04 + 84.

Create an Armstrong number checker that returns a Boolean TRUE if the input number is an Armstrong number. Hint: to extract each digit from a given number, try using the remainder/modulo operator.

If you’re looking for something a little more challenging, create an Armstrong number calculator that returns all Armstrong numbers between 0 and the input number.

9. Product maximizer

For a given input array of numbers, find the two that result in the largest product. The output should include the two numbers in the array along with their product.

As an extra challenge, use an input of two arrays of numbers and find two numbers — one from each input array — that results in the largest product.

10. Prime number checker

A prime number is any whole number greater than 1 whose only factors are 1 and itself. For example, 7 is a prime number because it’s only divisible by 1 and 7.

Create a function that returns TRUE if an input number is prime. The first few prime numbers are 2, 3, 5, 7, 11, 13, 17, and 19.

For a slightly harder challenge, create a prime number calculator that outputs all prime numbers between 2 and the input number.

11. Prime factorization

The prime factors of a number are all of the integers below that number that are divisible into the number as well as 1. For example, the prime factors of 12 are 1,2,3,4,6, and 12.

Create a prime factorization calculator that returns the prime factors of any number between 2 and 100. If you’re looking for a more advanced version of this challenge, use exercise 9 to create a prime factorization calculator for any number. Hint: think about using square roots to cut your work in half.

12. Summation

Write a Java program that returns the sum of two numbers. The numbers to be summed may be integers, rational numbers, real numbers, or complex numbers.

For example, the input 289 + 398 should output 687.

Advancing your career with Java

Along with being a fun, low-stress way to test your knowledge of a programming language, code challenges play an important role in helping you prepare for the interview process. If you’re pursuing a career where knowledge of Java is expected, then you’ll be asked to complete a Java-based coding test, as well as other questions related to Java. And, the best way to prepare for that test is to practice code challenges like these.  

To find more opportunities to practice, take a look at our other Java courses, including our popular Java for Programmers course.

This blog was originally published in October 2021 and has been updated to include additional Java challenges for beginners.


Whether you’re looking to break into a new career, build your technical skills, or just code for fun, we’re here to help every step of the way. Check out our blog post about how to choose the best Codecademy plan for you to learn about our structured courses, professional certifications, interview prep resources, career services, and more.

Related courses

3 courses

The post 12 Java Code Challenges for Beginners appeared first on Codecademy Blog.

]]>
https://www.codecademy.com/resources/blog/java-code-challenges-for-beginners/feed/ 0 6031
5 Ways to Stay Accountable to Your Learning Goals in 2025 https://www.codecademy.com/resources/blog/stay-accountable-to-learning-goals/ https://www.codecademy.com/resources/blog/stay-accountable-to-learning-goals/#respond Thu, 16 Jan 2025 16:55:35 +0000 https://wpvip.codecademy.com/stay-accountable-to-learning-goals/ Planning to learn to code in 2025? We’ve put together a list of 5 tips and resources to help you stay accountable to your coding goals this year.

The post 5 Ways to Stay Accountable to Your Learning Goals in 2025 appeared first on Codecademy Blog.

]]>
Planning to learn to code in 2025? We know it can feel overwhelming — especially if you’ve never coded before. But you’ve got this! And we’ve put together a list of five tips and resources to help you stay accountable to your learning goals this year.

Set bite-sized, achievable goals

Setting a big, lofty goal can be exciting in the moment, but can sometimes feel so overwhelming that it’s easy to just give up. That’s why we recommend starting small. If you’re not a runner, resolving to start running one morning a week for 20 minutes may feel less overwhelming than resolving to run a marathon. The same goes for learning to code.

Set bite-sized, achievable goals for yourself in 2025. This’ll ensure that you don’t get overwhelmed. Give yourself the opportunity to get your feet wet, make learning a part of your regular routine, and let the smaller goals be the catalyst for something even bigger.

Learn something new for free

Not sure what goals to set for this year? Check out our list of 35 bite-sized goals for learning in 2025.

Make your goals and progress public

Let the world know what you plan to do — and how you’re progressing towards your goals. When you tell others what you plan to accomplish it makes it harder to give up. Tell your friends, tell your family, or even share your goals on social media, like Afzaa Atcha, a teacher turned DevOps Engineer Apprentice. (Don’t forget to tag Codecademy in your posts about learning to code — we love to connect with our learners on social media.)

You may also decide to record your progress along the way in a blog. This can be a fun way to look back on your journey later to see how far you’ve come — plus, logging your own experiences may be useful to other people who are on learning journeys of their own!

Set weekly targets

You’ll find weekly targets when you log into your Codecademy account and click on “My Home.” Your progress will appear in the top right corner of the screen and you can click to update your weekly target. Decide how many days you want to learn each week and then track your progress.

We’ll keep track of how many days you’ve logged into Codecademy to learn in the current week. Plus, we’ll show you how many weeks in a row you’ve met your target.

Create a routine

Consistency is key. Dedicating at least an hour to code daily for 100 days can help you turn learning to code into a habit that’ll continue even after the 100 days are over.

Then, you can share your accomplishments (and read through others’) on our Codecademy forums, where you’ll also find other learners sharing their experiences.

Join a community

Speaking of the Codecademy community, being a part of a community is a great way to stay accountable to your goals. Share your progress, ask questions when you’re stuck, get inspired by the stories of other learners, and make new friends that share your motivations and interests.

Looking for a community? Here are a few places to get started:

  • Codecademy Forums: Join the conversation right here in the Codecademy Forums. Chat with other learners, share projects and get feedback, get help, get inspired by success stories, and more!
  • Codecademy Chapters: Codecademy Chapters are community-led local groups designed to help you stay motivated, get support on your learning journey, and connect with other learners near you, in-person or virtually. Join a chapter in your local area — or start your own!
  • X, formerly known as Twitter: Join the conversation and meet other people that are learning to code on Twitter with hashtags like #100DaysOfCode and #CodeNewbie. (You can find us on Twitter at @Codecademy.)

Looking for more advice for sticking with your coding goals? We’ve compiled a list of 7 tips for staying motivated from our community members. Here’s to accomplishing all of your goals and more in 2025!

This blog was originally published in January 2021 and has been updated with relevant resources and new advice.

Related courses

3 courses

The post 5 Ways to Stay Accountable to Your Learning Goals in 2025 appeared first on Codecademy Blog.

]]>
https://www.codecademy.com/resources/blog/stay-accountable-to-learning-goals/feed/ 0 5409
12 Python Code Challenges for Beginners https://www.codecademy.com/resources/blog/python-code-challenges-for-beginners/ https://www.codecademy.com/resources/blog/python-code-challenges-for-beginners/#respond Mon, 13 Jan 2025 19:00:00 +0000 https://wpvip.codecademy.com/python-code-challenges-for-beginners/ Code challenges are a fun way to test your coding skills. Practice your Python skills with these 10 Python code challenges for beginning programmers.

The post 12 Python Code Challenges for Beginners appeared first on Codecademy Blog.

]]>
One of the best ways to test and practice your skills with Python is by solving coding challenges. You can learn a lot from books and online courses, but coding isn’t an armchair activity. You have to write some code to make genuine progress.

Coding challenges are perfect for this. Coding challenges are small problems you can solve with code. Just because they’re small doesn’t mean they won’t put your knowledge to the test. Each bite-size challenge will focus on skills that you’ll use later working on complete software projects.

In this article, we’ll give you 12 beginner Python coding challenges to get you started. Try one or two a day to keep your Python skills sharp. And if you want to continue challenging your Python skills, we’ll show you how you can do that at the end of the article.

Start learning Python today

Top 12 beginner Python code challenges

These are beginner-level challenges, but you need to know the Python programming language to complete them. If your Python skills are a little rusty, check out Learn Python 3 for a course that’s suitable for beginners.

You can code your solutions locally if you have a development environment already set up. If not, try out one of the many sites that will allow you to execute Python code in the browser. And if you get stuck, search Google for help solving the problem, but don’t do it too soon. Give it your best shot first.

1. Convert radians into degrees

Write a function in Python that accepts one numeric parameter. This parameter will be the measure of an angle in radians. The function should convert the radians into degrees and then return that value.

While you might find a Python library to do this for you, you should write the function yourself. One hint you get is that you’ll need to use Pi in order to solve this problem. You can import the value for Pi from Python’s math module.

2. Sort a list

Create a function in Python that accepts two parameters. The first will be a list of numbers. The second parameter will be a string that can be one of the following values: asc, desc, and none.

If the second parameter is “asc,” then the function should return a list with the numbers in ascending order. If it’s “desc,” then the list should be in descending order, and if it’s “none,” it should return the original list unaltered.

3. Convert a decimal number into binary

Write a function in Python that accepts a decimal number and returns the equivalent binary number. To make this simple, the decimal number will always be less than 1,024, so the binary number returned will always be less than ten digits long.

4. Count the vowels in a string

Create a function in Python that accepts a single word and returns the number of vowels in that word. In this function, only a, e, i, o, and u will be counted as vowels — not y.

5. Hide the credit card number

Write a function in Python that accepts a credit card number. It should return a string where all the characters are hidden with an asterisk except the last four. For example, if the function gets sent “4444444444444444”, then it should return “4444”.

6. Are the Xs equal to the Os?

Create a Python function that accepts a string. This function should count the number of Xs and the number of Os in the string. It should then return a boolean value of either True or False.

If the count of Xs and Os are equal, then the function should return True. If the count isn’t the same, it should return False. If there are no Xs or Os in the string, it should also return True because 0 equals 0. The string can contain any type and number of characters.

7. Create a calculator function

Write a Python function that accepts three parameters. The first parameter is an integer. The second is one of the following mathematical operators: +, -, /, or . The third parameter will also be an integer.

The function should perform a calculation and return the results. For example, if the function is passed 6 and 4, it should return 24.

8. Give me the discount

Create a function in Python that accepts two parameters. The first should be the full price of an item as an integer. The second should be the discount percentage as an integer.

The function should return the price of the item after the discount has been applied. For example, if the price is 100 and the discount is 20, the function should return 80.

9. Just the numbers

Write a function in Python that accepts a list of any length that contains a mix of non-negative integers and strings. The function should return a list with only the integers in the original list in the same order.

10. Repeat the characters

Create a Python function that accepts a string. The function should return a string, with each character in the original string doubled. If you send the function “now” as a parameter, it should return “nnooww,” and if you send “123a!”, it should return “112233aa!!”.

11. Convert lowercase to uppercase

For this challenge, create a Python function that accepts a string. The function should return a string, with each lowercase character in the original string returned as uppercase characters. If you send the function “goodbye” as a parameter, it should return “GOODBYE”.

12. Add dots

Write a function in Python that accepts a string. The function should return a string and add “.” in between each letter. For example, if you send the function “skills” as a parameter, it should return “s.k.i.l.l.s”.

Improving your Python skills

If you like these Python coding challenges and want to try your hand at solving more, sign up for an account on our website today. We hold daily and weekly coding challenges where you can test your skills. You can find more details on these coding challenges here.

If you need to brush up on your Python skills to complete the beginner challenges, check out our Learn Python 3 course. It’s a great introduction to both the Python programming language and the fundamentals of programming.

If you want to try out intermediate or advanced coding challenges and already know basic Python, then courses like Learn Data Structures and Algorithms with Python, Learn Recursion with Python, or Learn Complex Data Structures will teach you what you need to know to solve more complex coding challenges.

This blog was originally published in August 2021 and has been updated to include additional Python challenges for beginners.


Whether you’re looking to break into a new career, build your technical skills, or just code for fun, we’re here to help every step of the way. Check out our blog post about how to choose the best Codecademy plan for you to learn about our structured courses, professional certifications, interview prep resources, career services, and more.

Related courses

5 courses

The post 12 Python Code Challenges for Beginners appeared first on Codecademy Blog.

]]>
https://www.codecademy.com/resources/blog/python-code-challenges-for-beginners/feed/ 0 5887
14 Quotes About Coding, Learning, & Life to Inspire Your 2025 https://www.codecademy.com/resources/blog/inspirational-coding-quotes/ Thu, 09 Jan 2025 14:10:00 +0000 https://www.codecademy.com/resources/blog/?p=13296 You’ll want these coding quotes for your 2025 vision board.

The post 14 Quotes About Coding, Learning, & Life to Inspire Your 2025 appeared first on Codecademy Blog.

]]>
Sometimes an inspirational quote really hits. We’re not talking about the corny trite ones (“Live, Laugh, Love” or “But first, coffee”), but the poignant and beautiful sayings that articulate our complex thoughts and emotions.

It’s often difficult to translate the zeros and ones of coding into words. But there are lots of quotes from notable technologists throughout history that reflect the developer’s experience and will renew your appreciation for your craft.

If you’re getting started learning to code or just need some New Year’s momentum, we’ve got some quotes for you that’ll feel like a pep talk. We gathered the most relatable and inspirational quotes about coding and technology from books, posts on X (formerly known as Twitter), interviews, and more. Some of these are about the frustration and payoff of learning a new skill, while others are about the essence of programming and problem solving. Read on, share your favorites on social media, hang them by your desk, or simply file them away for a rainy day.

“Curse of the self-taught: fear that you know only points here and there, islands of knowledge, and between them are chasms into which you will fall in humiliating failure, a fear that followed me from the first time I learned how to code.” – Ellen Ullman, Life in Code

“The most dangerous phrase in the language is, ‘We’ve always done it this way.'” – Grace Hopper, computer pioneer and naval officer

“Programming isn’t about what you know; it’s about what you can figure out.” – Chris Pine, Learn to Program

“Code is read much more often than it is written.” – Guido Van Rossum, creator of Python

“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.” – John Romero, video game developer and programmer

“This was one of the best parts of being a coder, and an artist: the thrill of being in the middle of creating something delightful. It’s like the anticipation of eating freshly baked bread after its aroma fills the room.” – Dr. Joy Buolamwini, Unmasking AI

“Every great developer you know got there by solving problems they were unqualified to solve until they actually did it.” – Patrick McKenzie, software engineer

“The code you write makes you a programmer. The code you delete makes you a good one. The code you don’t have to write makes you a great one.” – Mario Fusco, Principal Software Engineer at Red Hat

“Code is like humor. When you have to explain it, it’s bad.” – Cory House, React and JavaScript specialist

“The more I study, the more insatiable do I feel my genius for it to be.” – Ada Lovelace, the world’s first computer programmer

“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.” – Bill Gates, Microsoft co-founder

“In the beginner’s mind, there are many possibilities; in the expert’s mind, there are few.” – Shunryu Suzuki, Zen monk and teacher

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler, Refactoring

“The function of good software is to make the complex appear to be simple.” – Grady Booch, Chief Scientist for Software Engineering at IBM Research

Find more coding inspiration

You can find coding motivation in lots of places. Check out this list of books written by women technologists, or read about the non-coding hobbies that inform developers’ work. Connecting with our community and meeting other people who are on a similar path is another great way to get a boost and feel reinvigorated to reach your coding goals.

This blog was originally published in January 2024 and has been updated with relevant resources and new advice.

Related courses

6 courses

The post 14 Quotes About Coding, Learning, & Life to Inspire Your 2025 appeared first on Codecademy Blog.

]]>
13296
How I Went from Creative Director to SOC Security Specialist in 10 Months https://www.codecademy.com/resources/blog/from-creative-director-to-soc-security-specialist/ Mon, 06 Jan 2025 22:32:57 +0000 https://www.codecademy.com/resources/blog/?p=18168 Today’s story is from Jimmy Sorto, a 30-year-old SOC Security Specialist at Expel, living in Washington DC-Baltimore.

The post How I Went from Creative Director to SOC Security Specialist in 10 Months appeared first on Codecademy Blog.

]]>
Learning to code so that you can land a job in tech can feel daunting. That’s why we’re sharing inspiring stories from Codecademy’s community — to show how people like you (yes, you!) can embark on a learning journey and end up with a totally new career. We hope these stories serve as a reminder that there’s no single path to a more fulfilling work life.

Today’s story is from Jimmy Sorto, a 30-year-old SOC Security Specialist at Expel, living in Washington DC-Baltimore. Read more stories from Codecademy learners here — and be sure to share your story here.

Why I chose to learn to code

“Career-wise, I have about 7 to 8 years of marketing experience. That was my bread and butter for the longest time, mainly on the content creation side. I was also involved in social media and email marketing. Last year, my good friend Neiko said, ‘Cybersecurity is now more than ever a really demanding industry, and it’s only going to be more demanding down the line.’ I heard what he was saying, but my passion was content creation and being behind the camera. I was apprehensive at first, but he gave me the opportunity to dive into it and understand a little more.

He explained the gamification of cybersecurity, saying, ‘Think of it like Call of Duty. There’s an opposing side and an objective to achieve. Depending on which side you’re on, you have to stop the opposing team from achieving their objective. In cybersecurity, there’s a blue team and a red team. The adversaries try to gain credentials or access to an environment.’ That made sense to me, and it piqued my interest. He introduced me to Codecademy, which was my stepping stone into cybersecurity.

Codecademy played into the whole gamification aspect because of how user-friendly it is and the completion of courses and modules. Completing a module felt like an achievement, and it helped me have a pathway to dive into cybersecurity, coming from a completely different world.”

Learn something new for free

How I made time to learn

“I got laid off in October, and my last day was in December. It was a terrible time, and I was between jobs, so I gave myself some grace. I thought, Hey, the holidays are right here. Just enjoy the time with family and friends. Then, around January, I decided to pick up the pace and go full throttle. That’s when Codecademy came in as that stepping stone.”

How I saved up money to switch careers

“For the first 2-3 months, I was just cranking out these modules and honestly, using any resources I could come across. Codecademy was also budget-friendly, which was a big thing for me, trying to find as many resources as I could. I was definitely utilizing a lot of free trials for various resources. I think my background in freelancing also made it a bit easier for me; I could do a video gig for an event one week, and then I’d be good for the month, allowing me to dedicate more time to studying.”

How long it took me to land a job

“I started in January 2024 and got my first job in October.”

How I got in the door

“In June, a few months into learning everything, I got my CompTIA Security+ certification. That was a big achievement in itself. It gave me the confidence that I do know some stuff. For me, it was like, Hey, I passed on the first try. I realized, I can definitely do this.

In September, I was on the road working on a documentary when my friend Neiko was like, ‘Hey, there’s this opportunity at my company, and I already recommended you. They’re going to be hitting you up in a day or two.’”

Did you know we now offer skill paths to prepare for industry certifications? Check out our CompTIA Security+ path, and the rest of our cybersecurity, IT, and cloud certification prep courses.

How I nailed the interview

“The questions in my first interview weren’t as technical as I expected for the first round. It was more about who I am as a person and an individual. They weren’t testing me on whether I could decipher a malicious script. They were more interested in whether I can work in a team environment, take constructive criticism, and use it to get better. I think those qualities are something I’ve carried throughout my career. One of the things that also stood out was my love for storytelling.

In cybersecurity, and particularly where I am now, there is a level of storytelling where you have to paint the picture. Whether it’s for the next SOC [Security Operations Center] Analyst or the customer themselves, you need to explain the investigation. You have to paint a picture for them and write out the story of what happened. For example, it started off as an email, then the user clicked on that link. Being able to guide them through the process is crucial.

I only had one technical interview, which involved understanding technical vectors, specifically within emails. I had to read through email headers and understand email spoofing, how attackers can hide or change their IP to make it look like it’s coming from google.com or Microsoft. I needed to understand spoofing and read through it. I had a basic understanding of it, just enough to get by. They saw some good qualities and potential in me and decided to take a chance.”

How day one and beyond went

“My day-to-day basically revolves around phishing emails. I’m pretty much flying through the queue of alerts from our customers, whether it’s a scam, blackmail, or social engineering. The spectrum of attacks we see is very wide. Maybe it’s the gamer in me, but the fun ones are the actual malware where we see, Oh, this is a Trojan. If you click on this, it downloads, and someone is going to gain access to your computer. I say that laughing, but it is serious stuff where you have to be careful. I jokingly say to my friends, ‘Hey, I’m fighting evil behind my computer.’”

What I wish I knew before I started learning

“Don’t be scared to reach out to people. By that, I mean someone on LinkedIn or someone you think is a guru in the industry. A good chunk of people in the industry are willing to help. I’ve learned that the community in cybersecurity specifically is very down-to-earth and willing to extend a helping hand.

At first, I was very apprehensive. I was a shy person, already changing careers and entering a whole new world. But the more I learned and met people, the more comfortable I became. Everybody wants to help because they’ve been in your shoes at some point. So, I think not being scared to reach out, ask for help, or just communicate with someone is crucial. That would be the one piece of advice I would give myself: don’t hesitate to talk to someone.”

Not sure where to start? Check out our personality quiz! We’ll help you find the best programming language to learn based on your strengths and interests.

Want to share your Codecademy learner story? Drop us a line here. And don’t forget to join the discussions in our community.

Learn like Jimmy

3 courses

The post How I Went from Creative Director to SOC Security Specialist in 10 Months appeared first on Codecademy Blog.

]]>
18168