Software Engineering in the Age of AI

The landscape is shifting. The reality is that artificial intelligence (AI) is fundamentally altering everything—upending industries, redefining roles, and transforming how we approach everyday tasks like writing emails and touching up selfies. In the last three years, Generative AI models have advanced significantly, making tools like OpenAI’s ChatGPT accessible to just about everyone for optimizing workflows and enhancing productivity. This integration of AI across such a vast array of platforms signifies a new baseline for business operations and innovation. 

It’s hard to miss—almost every headline about tech concerns AI’s potential impact on the future. However, no one has a magic ball to predict the norm of the future. Executives don’t understand AI or their team’s proficiency with AI tools, so they are uncertain about how to implement AI in their organizations. Analysts and futurists are making educated guesses about the effects of AI. Some are predicting the automation of everything. Some are predicting the creation of a new era of human flourishing. It’s confusing, leaving us with significant uncertainty about the potential and limitations of AI technologies and the ways specific industries and jobs may change.

This article discussed the continued importance of software engineering in the AI era and how AI can complement and expand these skills in the coming years.

Is Software Engineering Still a Viable Career Path?

In short, yes. The tech industry is constantly changing and adapting. The creation of personal computers was a massive technological shift that was met with trepidation and concern and resulted in an enormous explosion in products and jobs. Frameworks, testing, and automation techniques have evolved for decades, creating significant productivity gains. The truth is that AI-assisted coding has been available to developers for years, and most of the potential gains of emerging technologies aren’t far out of line with the work that has happened in the past. 

Despite all of this, software engineering skills remain essential. The demand for skilled engineers is expected to grow by 25% in the next 5-6 years. That growth is driven by digital transformation and AI integration across all sectors. Software engineering is evolving to accommodate AI, necessitating a shift in skills while remaining foundational to the development of digital products. Its foundational pillars—programming, problem-solving, creativity, and complex system design—are as relevant as ever.

Programming Proficiency & Application Development

The fundamental role of coding in software engineering isn’t likely to change any time soon. Python and JavaScript are pivotal languages that every programmer will need to know. These languages support AI and ML projects and the frameworks that power modern applications. 

Python libraries, like TensorFlow, NumPy, Keras, and Scikit-learn, are foundational tools for AI and machine learning development. JavaScript has front-end and back-end development applications through frameworks like Node.js, Vue, and React, bringing AI capabilities to web interfaces. As AI integration deepens, the essence of coding as a skill—conceptualizing and creating digital solutions—will be invaluable. The development of future products will require deep programming and product development knowledge.

We teach these languages in most of our programs because of the popularity and versatility of Python and JavaScript, but they aren’t the only viable options. Languages like Java, PHP, and C# are also highly utilized in modern programs. Whatever language you learn, coding skills transcend specific languages; by learning to code, you learn problem-solving, system design, and adaptability. With AI tools automating tasks and generating code, software engineers can focus on higher-level problem-solving and creativity. This partnership with AI enhances efficiency and highlights the importance of programming knowledge. Engineers need to understand code to oversee AI’s contributions effectively, ensuring applications are efficient, scalable, and ethical.

Understanding AI and ML Principles

Engagement with AI projects is growing—a look at Github’s annual report shows a massive spike in AI-related projects. Developers are adapting to incorporate these new technologies in their toolkits. Software engineers must understand how to integrate AI into their projects, extending beyond traditional applications to include AI-driven functionalities like image recognition and language translation.

Knowledge of AI principles will be critical for addressing complex challenges. Not every engineer will need to be a data scientist, but familiarity with AI and ML concepts will become more essential with time. This knowledge is vital for software engineers in two ways:

  1. The ability to implement existing AI models. You must know how to use AI tools and incorporate them into products. For example, programming knowledge will help you interact with APIs, but you’ll also need to understand the model parameters and how to tune them to get the output you want. This takes some familiarity with AI concepts and a working knowledge of manipulating models for a desired outcome. Your knowledge of Python and development practices will be helpful here, as many of the most advanced AI and machine learning models are accessible via Python.
  2. Understanding how these technologies can be leveraged to solve real-world problems. This will soon become a real differentiator. Understanding models well enough to leverage them for specific circumstances will be critical in the future. Most of the recent discussion has been around Generative AI language models. Still, dozens of models exist for specialized purposes and work far better than ChatGPT for solving particular problems. For instance, we could implement a chatbot in a web application. What model should we use? Why that model? How can it be customized for the best user experience? These are the questions that developers will be asked in the future.

Creativity, Problem-solving, and Ethics

As AI becomes more embedded in software development and our everyday lives, the emphasis on ethical considerations and responsible use of AI will be magnified, and unique human skills such as creativity, empathy, and ethics will become more critical. AI can automate tasks, enhance workflow efficiencies, and augment the capabilities of software developers through tools like GitHub Copilot for code suggestions or automated testing and debugging tools. However, the essence of product design and development—understanding user needs and ethical implications, as well as ensuring accessibility—remain deeply human tasks that AI cannot replicate.

This evolving landscape necessitates a collaborative approach, requiring software engineers to work closely with data scientists, ethicists, and other stakeholders to ensure AI is used responsibly and beneficially.

Navigating the Future of Software Engineering with AI

Integrating AI into software engineering is a shift towards a more dynamic, efficient, and innovative approach to technology development. However, the human element is still as relevant today as it was 20 years ago. We may not know what the future holds, but we do know a few things:

  1. AI is reshaping all industries, not just tech. This means that technical skills will become increasingly important regardless of profession because you’ll need to work with these technologies whether you are a developer or not. Even if you move into another industry—retail, aerospace, medical, finance, etc.—all these industries will soon require some understanding of AI and the skills to work with it. 
  2. Coding is becoming table stakes for everyone. Many middle and high schools in the US already teach some basic coding to prepare learners for a future where all industries are more dependent on a tech-savvy workforce. Prompt engineering, software development, and communication skills will become more valuable over time, so getting a head-start by learning to code is always a solid career choice.
  3. The world needs intelligent, creative, and informed professionals to create the next generation of technologies. As AI technology becomes more accessible, one’s ability to use AI as a platform for innovation and advancement in all sectors will be the differentiating skill set. The reality is that companies are currently deciding how to optimize their workforces by augmenting current products with AI, but that won’t last long. 

Next-Gen AI Tools

The next generation of AI-powered tools and processes will enable the rapid development of new products and experiences. Efficiency gains may help companies in the short term by reducing costs. But, that effect will diminish significantly as product development cycles speed up. To stay competitive, companies must innovate and build products faster and at a higher quality. More products, more experiences, more competition. In the long run, AI will almost certainly create more technical jobs than it will displace. Still, future jobs will require workers to display high efficiency, communication skills, intelligence, and training in multiple technical domains.

Future Roles in Software Engineering with AI Integration

As AI becomes more intertwined with software engineering, new roles may emerge that will displace some traditional programming roles. New roles like Prompt Engineer, AI Quality Assurance Manager, and AI Ethics Officer are emerging and growing in response to the rapid adoption of AI into workflows and product solutions. These roles will also likely adapt with time, so we can’t expect to know the exact titles 5-10 years from now.

However, considering Generative AI’s known capabilities and limitations, we can speculate how it will impact software engineering roles.

  • Full-Stack Developer: Developers manage front-end and back-end systems. They write business logic, implement user experiences, and incorporate AI features to enhance user experiences and backend efficiencies. These developers will use languages like Python and JavaScript to develop full-stack products incorporating adaptive content and intelligent data systems. Understanding AI will enable these developers to create more responsive and smart applications.
  • Front-end Developer: Front-end developers create the interfaces we interact with every day. They create every page you see on the web with Javascript, HTML, and CSS and build applications using popular frameworks like React, Vue, and Svelt. Front-end developers can leverage user data to create personalized experiences, utilizing AI algorithms to tailor content and interfaces to individual preferences.
  • Back-end Developer: These developers create the server applications that talk to other systems and serve content to front-end applications. They build APIs, interact with databases, and make secure web applications by implementing authentication and validation. These developers will increasingly rely on AI for data processing and analysis, optimizing server-side operations, and enabling more sophisticated data-driven functionalities.

The Future is Bright

As AI continues to evolve, so will the roles and skills required in the field. Learning software development will give you many essential skills for the future. You’ll learn to code, work through complex problems, collaborate and communicate with stakeholders, work with AI tools, and start a lifelong growth journey.

Now is the time to embrace a life of continuous learning and ethical considerations that will be essential for those looking to lead the way in this new era. It’s never too late to start coding. We’ll see you at the keyboards!

The Data on Barbie, Greta Gerwig, and Best Director Snubs at the Oscars

When the 2024 Academy Award nominees were announced in late January, one of the most hotly discussed topics was that Greta Gerwig, director of Barbie, was not nominated for Best Director, despite the film being nominated for Best Picture. I assumed a Best Director nomination went hand-in-hand with a Best Picture nomination, so how common is it for a film to be nominated for Best Picture, but not Best Director? It turns out, fairly often, at least since 2009.

50 years of Best Picture and Best Director Oscar nominations
The chart above comes from Flatiron’s analysis of over 50 years of Best Picture and Best Director Oscar nominations. Films that win these two awards are often nominated in both categories.

From 1970 to 2008, the Best Picture and Best Director categories had five nominees each. It was common to see four of the five Best Picture nominees also receiving a nomination for Best Director. And in 32 of these 39 years, the film that won Best Picture also won Best Director.

In 2009, the Best Picture nomination limit increased to 10 films. Best Director remained capped at five, so naturally, this resulted in more Best Director snubs than before. In terms of winners, the larger pool of Best Picture nominees seems to be aiding in separating the two awards. Best Picture and Best Director Oscars have gone to two different films in six of the last 14 years (this happened only seven times in the 39 years before 2009).

Barbenheimer

Although it’s no longer uncommon for a film to receive a Best Picture nomination without one for Best DIrector, Barbie wasn’t just any film. Barbie was one half of the cultural phenomenon known as Barbenheimer. A mashup of two highly anticipated and starkly different films—Barbie, and director Christopher Nolan’s historical biopic Oppenheimer—both hit theaters on July 21, 2023. The goal of seeing both films back-to-back became one of the defining characteristics of the Barbenheimer phenomenon. While both films were hugely successful at the domestic and international box office, Barbie out-grossed Oppenheimer by an estimated half-billion dollars worldwide.

The two films dominated the zeitgeist for much of 2023 and both received enormous critical acclaim. Oppenheimer has dominated this awards season, however, with 13 Oscar nominations garnered and multiple important wins at other film awards ceremonies leading up to the Academy Awards on March 10.

We’ll return to how we think about “importance” in the context of nominations, but for now, let’s compare the two films along the lines of major award ceremonies, ratings, and box office revenue.

Barbie vs Oppenheimer

analysis comparing Barbie and Oppenheimer performance by major awards
The graphic above comes from our analysis comparing Barbie and Oppenheimer. Both films have numerous award nominations and have brought in over two billion dollars combined.

Minus its take at the People’s Choice Awards, Oppenheimer has taken home more awards overall, despite having a similar number of nominations at most award shows. Barbie appeared to be on a roll this award season, with nominations for picture, director, screenplay, actress, and supporting actor at the Golden Globes and Critics Choice Awards in early January. However, Greta Gerwig was left out of the director category when the Oscar nominees were announced on January 23. This leads to the question, what films are most similar to Barbie, not just by nomination count, but across major categories? And were those films nominated for Best Director?

Movies Like Barbie

We began our Best Director snubs analysis at Flatiron by collecting all past nominees across the entire history of the awards ceremonies noted in the image above—swapping out the People’s Choice Awards for the Writers Guild Awards—for a comprehensive dataset of non-fan nominations. We also merged categories like Best Adapted Screenplay and Best Original Screenplay into one screenplay category for ease of comparison. Similarly, we lumped all acting categories–male, female, lead, and supporting–into one, and all Best Picture categories into one if split into drama and comedy/musical categories (like the Golden Globes does).

With a dataset of over 3,000 nominees going back to the 1920s, we found films most similar to Barbie across our grouped screenplay, grouped actor(s), director, and picture categories using Euclidean distance, a method for finding the distance between two data points. The five films below are the most similar to Barbie according to the awards and groupings we’ve selected. Interestingly, these five films, including Gerwig’s 2017 debut film, Lady Bird, all received a Best Director nomination at the Oscars (while Gerwig’s directing work on Barbie did not).

comparing barbie's nominations to other high-performing movies from previous award seasons

Predicting Best Director Snubs at the Oscars

A sample size of five is certainly not enough evidence to make a definitive claim of a snub, so we developed a predictive model that classifies a film as a Best Director nominee based on the other nominations it received, either at the Oscars or previous award shows. Our final model achieved 91% accuracy. For the astute reader, it also reached 93% precision and 96% recall. 

Based on films from 1927 to 2022, the best predictor of a Best Director nomination at the Oscars is a Best Picture nomination at the Oscars. This isn’t surprising, considering the overlap in nominees that we observed in the first image at the top of the article.

Other notable predictors are Best Screenplay at the Oscars or Critics Choice Awards, and Best Director at the Golden Globes or Director’s Guild Awards (DGA). These predictors align with intuition, given the importance of a good script and how common it is to have a filmmaker with the title of writer/director. In the case of the DGA, it’s hard to think of a more qualified group to identify the best directors of the year than the 19,000-plus directors who make up the guild’s membership 

Trained Model Predictions

Finally, using our trained model, we applied it to our list of 2023 films that received at least one nomination in a screenplay, acting, directing, or picture category. Given the long list of accolades received by Barbie at the Golden Globes, Critics Choice Awards, British Academy Film Awards (BAFTA), and all the filmmaking guild awards, our model predicted Greta Gerwig to have a 76% chance of snagging a Best Director nomination. Considering she was in third, just behind Christopher Nolan for Oppenheimer and Yorgos Lanthimos for Poor Things, I’d call this a snub. (Gerwig tied for third with Justine Triet for Anatomy of a Fall.)

which best director nominations were predicted by a trained model

Best Director Snubs and Flatiron’s Analysis

Rank-ordering the predicted probability of receiving the directorial nomination, the 2017 film Three Billboards Outside Ebbing, Missouri by writer/director Martin McDonagh was our model’s biggest snub. A film that initially received wide acclaim, it later faced criticism over its portrayal of misogyny and racism. Coincidentally, Greta Gerwig was one of the five directors nominees that year alongside Guillermo del Toro, Christopher Nolan, Jordan Peele, and Paul Thomas Anderson—a star-studded list of filmmakers if ever there was one. 

the biggest "best director" snubs over the last 25 years
The table above shows where our model was highly confident—but ultimately, incorrect—that a film would receive the Best Director nod.

It’s worth noting that many of the films listed in our table above also appear in a recent Variety article that ranked the biggest Best Director snubs over the last 25 years. While the writer of the Variety article does not discuss his methodology, it’s always a good idea in data science to validate findings with subject matter experts. In the case of our analysis and the Variety article analysis, there seems to be some agreement. 

Final Thoughts

As with all predictive models, our model is only as good as the data it learns from. A common criticism of the Academy is its lack of nominating women and people of color across categories, particularly for Best Director. Mitigating bias and ensuring fairness in predictive models are important concepts in Big Data Ethics, but we’ll save the ways one could address these issues for another post.

Learn Data Science at Flatiron School

Data analyst is just one of the career paths you can embark on after graduating from Flatiron’s Data Science Bootcamp. Our bootcamp offers students the opportunity to graduate and begin working in the field in as little as 15 weeks. Download the course syllabus for free to see what you can learn!

Header photo courtesy of Warner Bros. Pictures

Taylor Swift and Data Science: An Unlikely Duo

Data is everywhere, but one thing that might be more ubiquitous than data is Taylor Swift. The recent article “Taylor’s Towering Year”—authored by Posit (formerly RStudio)—illustrates several ways in which the two are not mutually exclusive by showing the data behind her record-breaking Eras Tour. In the article, they break down the tour’s staggering ticket sales, profound effect on worldwide economies, and boost in popularity for Taylor’s opening acts. Let’s discuss how Posit accomplished this and show you a concert tour visualization of our own.

Quarto

First released in early 2021, Quarto, the tool behind the Eras Tour article, is an open-source publishing system designed to weave prose and code output into dynamic documents, presentations, dashboards, and more. Paired with a variety of ways to publish and share your content, it is an excellent platform for data storytelling. 

Deciding to learn R vs. Python is a well-covered topic and often one prone to heated debate. In Quarto, there’s no “Bad Blood” between the two popular programming languages, where you can choose to run your project in R, Python, or both. It’s also compatible with the Julia and Observable JS languages as well as many of the most popular integrated development environments (IDEs) used in the field of data science, like VS Code, Jupyter, and RStudio. This flexibility means data scientists can collaborate on projects using the tools of their choice. 

How Quarto Generated the Eras Tour Data

Notice the See the code in R link in the left sidebar of Posit’s article that takes you to a virtually identical page. The key difference is this page allows you to see the code behind the data collection and visualizations. We won’t go line-by-line, but let’s look at the high-level steps they took to craft the “GDP of Taylor” data visualization toward the top of the article.

Data Collection

Expand the “See R code” section just above “The GDP of Taylor” visualization to see the first code chunk where Posit starts by web scraping the Wikipedia page for nominal GDP by country. Web scraping is a technique in which you write code to visit a website and return information or data. Be sure to read the terms and conditions of a website found in the robots.txt file that tells you what information you may scrape. 

Data Cleaning

Since Taylor was estimated to stimulate the economy by over $6 billion, the collected data is filtered to countries with GDPs between $4 and $10 billion for comparisons of similar magnitude. Next, Posit plots the map and GDP of each of those eight countries using the R library, ggplot2. Lastly, they stitch everything together with Taylor’s image and economic impact in the center using the cowplot library. Starting with several discrete plots and organizing them together, they are able to create an infographic that puts the Eras Tour in shocking perspective.

This is a great example of data science in action. As data scientists we’re often asked questions or have hypotheses but are not handed a tidy dataset. Instead, we must connect to an API or find data online, automate the process of collecting it, and manipulate it into a format that will be conducive to our analysis. Data collection and cleaning are often the iceberg below the surface while visualizations and predictive models are the parts everyone can see. Without good data, it’s incredibly difficult to produce insightful analyses.

Flatiron’s Highest-Grossing Concert Tours Data Visualization

Like Posit, we collected the data from the List of highest-grossing concert tours page on Wikipedia. Instead of a static chart, we created a bar chart race—a fun way to visualize data changing over time using animation. Below we have the highest single-year tours by gross revenue from 1993 to 2023. 

A gif showing the highest-grossing musical tours by year.

The Rolling Stones and U2 tours held most of the top five spots for a majority of the past 30 years. That is, until the 2023 Eras Tour nearly doubled the $617 million grossed by the A Bigger Bang Tour—the 17-year record-holder set by the Stones in 2006. Interestingly, Taylor Swift is the first female solo artist to crack the list since Madonna’s The MDNA Tour in 2012. With the Eras Tour projected to bring in another $1 billion in 2024, Taylor Swift may take the top two spots come end of year.

This analysis was originally created in our own internal Quarto project at Flatiron School and copied over here onto our blog. Give Quarto a try and you might just tell Jupyter notebooks and RMarkdown, “We Are Never Ever Getting Back Together.”

Header image credited to Posit

What Does a Cybersecurity Engineer Do?

Technology permeates almost every aspect of modern life – payment systems, fitness trackers, baby monitors, smart fridges – it’s simply everywhere. As a result, the modern digital landscape is fraught with opportunities for bad actors to take advantage of tech meant to make life easier.  

The ongoing threat of cyber attacks has led governments and private companies to employ increasingly sophisticated teams and techniques to secure their systems. But, in the field of cybersecurity, few roles are more central – or critical – than that of the Cybersecurity Engineer. 

What Is A Cybersecurity Engineer?

Cybersecurity Engineers are IT professionals that assess, prepare for, and respond to cyber-attacks. They often directly recommend and oversee the tools and methods used to keep systems secure and stay ahead of new or emerging threats such as malware, ransomware, and hacking/intrusions.

With a diverse skillset and deep understanding of a company’s networks, Cybersecurity Engineers are often well-situated to work in any number of entry-level, mid-level, and senior security roles as their careers advance. 

What Skills Does a Cybersecurity Engineer Need?

Security engineers must have a range of talents that address the most common and critical vulnerabilities a company may face.

Programming Langauges

Cybersecurity engineers are strong programmers in multiple languages and use them not only to evaluate or build the latest solutions but also to deconstruct the malicious codes and applications used to attack their systems. And because their efforts must fit the nature of their business, they need to be prepared to work in general-purpose languages like Python or C++, but also in languages specific to web or application work.

Penetration Testing

A cybersecurity engineer must be able to assess penetration testing and work with pen testers on new threats that have emerged in the industry.

Live Threat Management

They are critical stakeholders in real-time assessment, mitigation, and prevention of threats, as well as in live incident response and defense. They may also get pulled into troubleshooting everyday problems in the network and be asked to help drive broader company initiatives for a healthy network, such as change management, security audits, etc.

Strong Organization Skills

Critically, as members of a Security Operations Center (SOC) team, cybersecurity engineers are typically responsible for documenting and maintaining policies and procedures related to security concerns. This gives them a strong view of a network’s structure and defense, from the top down to the most granular level.

Hardware and Software Evaluation

They also need to be able to review new hardware and software options for ensuring network security and to understand specific threats their company may face from hackers.

Related reading: How To Become A Cybersecurity Engineer

What Is The Demand For Cybersecurity Engineers?

The Cybersecurity talent gap is well documented. There simply aren’t enough talented Cyber workers to fill available positions, with almost 580,000 job openings in the USA alone*. Demand is high, and growing – with the information sector projected to grow 32% over the next 8 years (which is much faster than average). 

The prevalence of tech throughout everyday life is only expanding – each day bringing more products, services, and innovations. This, paired with the persistent headlines of cyber incidents affecting countries, companies, and individuals each news cycle, the Cybersecurity talent gap only promises to expand. This can mean only one thing for those interested in a Cybersecurity career: opportunity. 

Cybersecurity Engineer Salaries

Overall, Cybersecurity professionals are paid quite well. According to ZipRecruiter, the average Cybersecurity Engineer makes $111,095* per year nationwide. 

Further reading: How Much Do Cybersecurity Engineers Make Around the Country?

As you progress through a cyber career, salaries increase even further: 

  • Chief Security Architect: $177,571 
  • Lead Security Engineer: $122,890 
  • Chief Information Security Officer (CISO): $148,746 

If the C-suite isn’t your idea of success, Cybersecurity engineers can also easily fit into alternative key focus areas. For example, they can use their knowledge of a firm’s networks to operate as a high-value penetration tester. They can also become a cybersecurity consultant, working with clients on a case-to-case basis. 

Considering the high demand and the quality pay, the next question you’re likely to ask is “How to become a Cybersecurity Engineer?” Well then friend, keep reading. 

How To Become A Cybersecurity Engineer

There are two main steps to becoming a Cybersecurity Engineer – acquiring skills and demonstrating those skills with a Certification. 

Did you notice that “get a traditional 4-year college degree” wasn’t on the list?

More and more often, 4-year degrees are no longer a pre-requisite for entry-level Cybersecurity roles. While this is still an evolving trend, at the end of the day, the only thing companies truly care about is whether or not you have the skills to perform in a job. 

We’ll cover the basics of the process below, but check out our blog “How To Become A Cybersecurity Engineer in 2024” for a more thorough overview. 

Step 1: Acquire Skills

Cybersecurity Engineers generally have a mix of hard skills and soft skills. Their hard skills include various programming languages and a broad knowledge of networking, database platforms, and operating systems. Soft skills, though intangible, are just as important when it comes to working on a team – these can include top-notch communication, problem-solving, and a general willingness to learn and adapt to changing conditions. 

While soft skills are developed over an entire lifetime and decades of a career, hard skills are easier to acquire in a short time – especially if attending an accelerated program like a Cybersecurity bootcamp.

Related reading: Are Cybersecurity Bootcamps Worth It?

Step 2: Earn Relevant Certifications

Cybersecurity Certifications generally achieve a similar purpose to earning a college degree – they demonstrate to prospective employers that you have the core hard skills required to succeed in the cybersecurity engineering space. 

Examples of common certifications include:

Related reading: 9 In-Demand Cybersecurity Certifications

See Yourself In Cybersecurity

Cybersecurity engineering promises to remain a critical and exciting career opportunity for the foreseeable future, and the ongoing talent job gap bodes well for those looking to transition to the field. 

If you’re set on a career in Cyber, Apply Today to Flatiron School’s Cybersecurity Bootcamp – a program designed to have you industry-ready in as little as 15 weeks. 

Not ready to commit? In the meantime, test-run what we teach in the course with our free Cybersecurity Prep – no strings attached!

*Job opening numbers and average salary cited 8 Jan 2024

How Much Do Coding Bootcamps Cost in 2023?

Coding bootcamps have grown in popularity in recent years, offering an accelerated path to acquire the skills needed to pivot into a new tech career. But, what exactly are coding bootcamps? Who do they help? And – most importantly – how much do coding bootcamps cost?

What Is A Coding Bootcamp?

Put simply, coding bootcamps are intensive educational programs that rapidly teach students the programming skills needed to become full-stack web developers.

At the end of a bootcamp, students walk away with coding experience in programming languages like JavaScript, HTML and CSS, Ruby, and a strong portfolio of projects.

As for who attends bootcamps, there really is no “typical” student. They may be career changers coming from a non-technical background who want to break into tech, professionals looking to deepen their technical skills, or new participants in the workforce taking an alternative avenue to traditional university schooling. No matter where our students come from, attending a coding bootcamp helps them develop an in-demand technical skillset. 

How Much Do Coding Bootcamps Cost In 2023?

Bootcamps are more than just one-off courses — they’re intensive, often fully immersive programs. But how much does a coding bootcamp cost?

According to Career Karma, the average cost of a coding bootcamp in 2023 was $13,035. Program cost depends partially on format, with full-time options averaging $14,237 and part-time options coming in at $12,226.

‌‌Tuition At Flatiron School

Flatiron School’s tuition varies by discipline – $17,900 for Software Engineering, and $16,900 for Cybersecurity Engineering, Data Science, and Product Design. While tuition represents a significant investment, eligible applicants can apply for scholarships (Merit, Access, Women Take Tech), and may qualify for loan options to fund their education. 

While tuition certainly is a big factor to consider when choosing a further education program, we’d encourage prospective students to make a decision based on a multitude of reasons – in addition to the price tag. 

Factors to consider include:

  • Curriculum Quality. Is it reviewed by industry experts? Does it include up-to-date emerging technologies like Artificial Intelligence? 
  •  Instructor Experience and Availability. Will you learn from knowledgeable, experienced professionals? Will there be continuous support throughout the learning process?
  • Program Flexibility. Is a program entirely online or remote? Do you value the in-person classroom experience, or would you prefer to log in from anywhere? 
  • Pacing Options. Can you commit to a full-time, 40 hours a week learning schedule? Or do you need more flexibility in your life? 
  • Academic Support. Are there technical coaches there to help you through a learning challenge? Or, is there an advising team to turn to if you’re struggling to adapt to the program’s demands? 
  • Career Services Support. Flatiron School graduates receive up to 180 days of 1:1 career coaching to help launch their career – support that it’s difficult to put a price tag on (but realistically, would likely cost thousands of dollars for a similar service).

When you select a bootcamp, you’re signing up for a path to the future. Choose a program that will give you what you need to succeed – in-demand skills, hands-on learning, and support both during the program and after graduation.

Coding Bootcamps vs. College‌

We mentioned that coding bootcamps were becoming an increasingly popular means of getting a technical education. However, you might wonder how they stack up against getting a computer science degree, especially once you consider the tuition of a bootcamp may roughly equal to a semester of college.

‌Some of the content may be similar, but there are fundamental differences between these two avenues, and we’ll cover some of them here.

1. Time Commitment

Most full-time students spend at least four years in pursuit of a bachelor’s degree, where they attend classes for several hours each day and commit several more in the evenings to studying and completing homework assignments.

Full-time bootcamps, on the other hand, focus on accelerated learning, which means that most of them run for 12 to 15 weeks, though that time frame can vary based on the curriculum and pacing (a part-time bootcamp will run longer).

‌Bootcamps frequently have rigid schedules, though if you need more of a part-time option, Flatiron School offers flexible pace options where a student may choose to pace themselves through the curriculum over up to 60 weeks. This is helpful for people who have other time commitments, such as a family or career outside of their education.

2. Financial Investment

There’s no comparison between the average cost of a bootcamp and the cost of a bachelor’s degree. ‌

The average price for a year in college for the 2023-2024 school year can be north of $29,150, with top-rated technology schools such as Carnegie Mellon and Massachusetts Institute of Technology (MIT) coming in at above $60,000 per year. On the other hand, even the most expensive bootcamp tops out at $30,000, though the vast majority are in the $10,000–$20,000 range. ‌

How To Pay For A Coding Bootcamp

The most straightforward way to ]pay for your education is to pay upfront. If you have the means, the advantage here is that you don’t have to think about it anymore afterward, and you can just focus on your studies.

‌Of course, not everyone can foot the bill all at once. There are several alternative ways to pay for bootcamps:

  • Scholarships. Many coding bootcamps offer scholarships that students may apply for. These are often awarded based on merit or diversity initiatives — such as scholarships for women or underrepresented minorities. You can also check for any local resources that might offer scholarships.
  • Educational loan‌s. While there isn’t much federal aid available for coding bootcamp tuition, the good news is that several private lenders offer financing to bootcamp students.
  • Payment plan‌s. Some bootcamps offer the option to pay for your accelerated learning in installments. Of course, the terms of your payment plan will differ from school to school.
  • Employer assistance. Did you know employers may offer tuition assistance? Ask your employer about their tuition assistance benefits!

What Salary Can I Expect After Graduating From A Coding Bootcamp?

At the end of the day, what really matters when selecting a coding bootcamp is the outcome – the likelihood of getting a software engineering or similar job post-graduation. While no program can guarantee a job post-graduation (unless they’re giving you one), it is helpful to look at previous graduates’ job placement rates to get an idea of what to expect.

Job Search Support

The best coding bootcamps support their students’ job searches post-graduation, and transparently report the results of those searches each year. Unless the program is new and you’re willing to take a risk, you’ll want to steer clear of bootcamps that either have low rates of job placement or have no data available. It’s a good idea to ask for a third-party verified outcomes report so that you have a clear picture of what you might expect upon successful completion of the program.‌

Flatiron School is proud to be the first coding bootcamp to put out job placement statistics that were examined by an independent third party. And, with our robust career services that offer up to 180 days of career coaching post-graduation, we’re proud to say that in our 2022 jobs report, 90% of graduates* got a job in tech.

*For job-seeking full-time and part-time graduates included in the 2022 Jobs Report, including full-time salaried; full-time contract, internship, apprenticeship, and freelance roles; and part-time roles during the reporting period. (See full Jobs Report here.)

Reported Graduate Salaries

Flatiron grads aren’t just getting tech jobs — they’re being paid well too.

Graduates of the Software Engineering program at Flatiron School boast average starting salaries higher than the national average. See the most recent jobs report for complete details.

Are Coding Bootcamps Worth It?

Coding bootcamps are phenomenal programs for developing new skills, but they aren’t for everyone.

‌Whether or not a coding bootcamp will be worthwhile for you is highly dependent on your goals and your ability to commit to the workload. However, below are some benefits and disadvantages of attending one. ‌

Advantages Of Attending A Bootcamp:

  • Develop skills quickly. For those looking to pivot to a career in tech, four years and thousands of dollars in tuition for a college degree might be too big an investment. Bootcamps teach you real-world job skills for a fraction of the cost, and in a fraction of the time.
  • Options to study while working. Many bootcamp students are already professionals in another field. They want to make a transition into a specific career — whether that be software engineering, data science, product design, or cybersecurity — but don’t have time or desire to put their current job on hold to pursue further education. The flexibility of a bootcamp makes that a possibility. 
  • Affordable tuition. While coding bootcamps do represent a sizable investment, they are much more affordable than college degrees. Even the priciest bootcamps cost less than a semester’s tuition at America’s top tech schools.
  • Career coaching included. Many top bootcamps offer career services and job search assistance to recent graduates. These offerings include anything from accountability check-ins to materials review and mock interviews. Part of landing a tech job is being prepared for the technical interview, and career coaches can make all the difference to job seekers.
  • Networking opportunities. A robust professional network is critical for any job seekers, and the good news is that bootcamp grads have one baked into their programs in the form of classmates entering a new industry along-side you.
  • ‌Develop in-demand skills‌. Where university programs might hold onto curricula that include legacy languages and out-of-date development approaches, bootcamps teach the most current and in-demand paradigms and emerging technologies (such as artificial intelligence). Starting and finishing your program within a year — or even a few months — means that there’s virtually no danger of your skills becoming outdated before you finish.

Disadvantages Of Attending A Bootcamp

  • Following a tuition payment schedule. Coding bootcamp tuition is paid either upfront or over a much shorter period than federal student loans – 5 years vs. 10 years. But, as a bootcamp tuition is far lower than even a year of attendance at many schools, the overall amount paid over the shorter time period will inevitably be lower.
  • Fast-paced learning schedule. Bootcamp programs are fast-paced, so students need to be prepared to study and work on projects for long hours to succeed.
  • Some employers prefer degree holders. There are still HR managers out there who expect candidates to have a college degree. However, many in the industry believe that bootcamp graduation is a respectable means to developing the skills required to get started in a rewarding career. 

‌No matter where you get your start, it’s important to keep learning in tech as the field evolves. Starting with a bootcamp and later going for a degree can be a viable path to advancement, though it’s just as likely – especially as opinions on university shifts – that you can learn the skills you need to move up the ladder both on the job and through learning on your own.

Ready To Get Started Learning To Code?

We covered a lot in this article, and we hope that you’re better equipped to do your research on the various bootcamps and educational paths that are available today.

But, whichever programs you’re considering, we’d encourage you to look at alumni stories and see if you can relate to their journeys. No matter where you come from or what technical level you’re starting from, a coding bootcamp can get you one step closer to your dream career. Some of our recent alumni’s journeys are below:

Apply Now to join other career changers just like these in a program that sets you apart from the competition. 

Need more time to be ready to apply? Try out our Free Software Engineering Prep and test-run the material we teach in the course.

Read more stories about successful career changes on the Flatiron School blog.

11 Best Websites to Practice Coding for Beginners in 2024

Indeed’s Best Jobs of 2023 ranked America’s most highly prized careers based on demand, pay, and potential for growth. These careers included:

  • Full-stack developer (#1)
  • Data engineer (#2)
  • Back end developer (#6)
  • Site reliability engineer (#7)
  • Director of data science (#25)

That means half of the top ten best jobs in America require coding skills‌. But, if you don’t have coding skills, where do you go to learn them?

At Flatiron School, we help pave the way for your transition into the tech industry. Our comprehensive programs are designed to provide you with the foundational knowledge you need to develop the coding and programming skills that are in such high demand. Our programs help students discover their full potential and pursue the career of their dreams.

But maybe you’re just ready to dip your toe in and explore your options? There are several coding for beginners resources online.  
So whether you’re looking to learn a new coding language or try out programming for the first time, it’s worth looking into coding practice sites for beginners.

11 Best Coding Practice Sites

Coding is not a spectator sport. It’s great to watch tutorials and read books on how to code, but to truly develop your programming proficiency, you must write the language yourself. Here are some of the best places to practice your coding skills.

1. Coderbyte

As you begin to develop your coding skills, you may be unsure what to practice first. It helps to work on real-world problems other coding professionals have faced—and Coderbyte has exactly that. With over 2,000 challenges on front and back end development, data structures, and algorithms that professionals have faced in their interviews, you’ll be able to hone your skills on examples that really matter.

Pros of Coderbyte

‌Coderbyte lets you use over 30 different programming languages and has a library of over 3 million solutions you can learn from.

Cons of Coderbyte

Coderbyte has a user interface that’s often complex for new users to navigate, so it might take some time getting used to this site.

2. Pluralsight

If you’re seeking a comprehensive learning platform that allows you to learn at your own pace, go with Pluralsight. You’ll develop a strong skill set in Python, JavaScript, HTML, and CSS, just to name a few. You can also receive learning recommendations based on what you’re focusing on.

Pros of Pluralsight

The platform provides a personalized learning experience as you can customize your training sessions with multiple features, including multiple language support.

Cons of Pluralsight

Users have minimal interaction with course instructors and industry experts, which makes it difficult to gain valuable feedback.   

3. Edabit

Unlock over 10,000 interactive coding challenges with Edabit. This free platform provides courses that are simple and practical. You can also access beginner tutorials to make the most of your learning experience. Plus, the challenges are ranked by difficulty, so you know exactly what level you’re at in your programming expertise.

Pros of Edabit

Learners gain access to a code editor that’s built into the platform. That way, users can create a code without having to switch to another application.

Cons of Edabit

You don’t gain a certificate for completing any of the tutorials. Also, some users have stated that the platform used outdated programming languages. 

4. CodinGame

Wanna play a game? CodinGame lets you practice your coding through fun games and code challenges. With single-round matches and both solo and multiplayer modes, this platform gives you a chance to practice coding the fun way.  

Pros of CodinGame

There are over 25 available programming languages.

Cons of CodinGame

Some users take issue with the size of the timers displayed on the programming tests. Unless you look carefully for the timer, you may miss the opportunity to submit your questions on time. 

5. CodeChef

Competition can be the best motivator to learn, and CodeChef offers exactly that. This platform lets users measure their skills by practicing more than 3,000 problems. You can compete against other coders, which creates great coding practice for beginners. But don’t worry—the competition is friendly, and participants often write posts and tutorials to help each other learn.

Pros of CodeChef

CodeChef users will be pleased to know that there is an active, supportive community that encourages growth. 

Cons of CodeChef

Users report that some practice problems lack clarity.

6. Project Euler

Project Euler offers a chance to solve challenging math problems with script. Over 1 million users have solved at least one problem on the site.

Pros of Project Euler

The site offers 111 programming languages.

Cons of Project Euler

If math isn’t your strongest subject, Project Euler may not be for you. The math-oriented programming languages get quite complex as you progress through the challenges.

7. TopCoder

Join a community of 1.7 million technical experts at TopCoder. On the learning side, they have an abundance of weekly challenges and explanations, along with challenging competitions that help you rise to the coding occasion.

Pros of TopCoder

The site is one of the most established platforms with an active user base.

Cons of TopCoder

Some users have experienced difficulty navigating the program’s user interface. Also, if you submit a support request, it may go unnoticed as their support system lacks efficiency.

8. One Month

Learning coding and web development in a span of 30 days with One Month. You can select from a variety of basic courses that cover HTML, Python, SQL, Ruby, and more! You also get to create real-world projects.

Pros of One Month

This user-friendly resource is great if you’re just looking to learn the fundamentals of coding and web development.

Cons of One Month

If you decide to switch to another programming platform, just note that there are no refunds available.

9. Geektastic

With detailed solutions to their multiple-choice and peer-reviewed coding challenges, Geektastic has a wealth of resources for programmers and a growing community of over 26,000 developers.

Pros of Geektastic

In addition to their interactive challenges and competitions, coders that rank high enough might even be allowed to join the review team. Members of this team get paid to review coding submissions for clients seeking a solution to their own coding projects.

Cons of Geektastic

Some users have raised concerns with how the challenges are scored, stating that they don’t reflect a candidate’s programming skills well. 

10. Geeks for Geeks

Made by developers for developers, Geeks for Geeks offers coding content for programmers of all skill levels, including beginners. Exercises in data structures, machine learning, web development, and much more are available.

Pros of Geeks for Geeks

Competitive challenges offer interactivity and a space to share coding solutions.

Cons of Geeks for Geeks

Geeks for Geeks primarily provides information in English, which means non-English speakers could run into trouble with the resources available. The website also has limited multimedia resources, mostly relying on text-based information.  

11. HackerEarth

What’s great about HackerEarth is that users can create and customize their coding assessments for technical positions. 

With HackerEarth, you’ll join a community of 7.6 million developers, participate in several programming challenges and customize your tests for a specific role.

Pros of HackerEarth

Not only does the website offer support in multiple languages, but it also includes AI proctoring to ensure exam results are accurate and reliable. 

Cons of HackerEarth

You might run into trouble navigating to specific problem types because the website has troublesome indexing and prioritization. 

Blogs to Help You Learn

They may be less interactive than competitions and online courses, but plenty of coding for beginners blogs are available to help new students gain programming proficiency. Here are some of our favorites.

1. The Crazy Programmer

This blog isn’t designed to give hands-on coding experience, but there’s a wealth of programming knowledge on pretty much everything else. From useful books and articles to tutorials and Q&As, The Crazy Programmer is a great blog to follow for those just learning to code.

2. The Hackr.io Blog

If you’re looking for courses or content that will grow your coding skills, The Hackr.io Blog will help you look in the right places. Written by a community of programming professionals, this blog is devoted to grading the most useful coding content so readers know they’re relying on quality sources. 

The blog touches on a wide range of topics, though, so those looking for resources on a specific language may find their content hit and miss.

3. Better Programming

As its name suggests, this blog is devoted to improving your programming. With posts on a range of topics in web design and coding, Better Programming features content from multiple industry pros on both introductory and advanced content. There’s truly something for everyone. As with Hackr.io, those concentrating on a specific topic may want something more focused.

Flatiron School: The Ultimate Coding Solution

What makes us different from coding websites? Here at Flatiron School, we work tirelessly to help students gain the foundational coding skills they need to begin a career in the tech industry. Combining flexible program options, industry-leading education, and up to 180 days of Career Coaching upon graduation, Flatiron School gives our students the jumping-off point they need to begin a rewarding tech career.  

Our programs contain a mixture of lectures, group work, instructor guidance, and community support to both equip our students with technical skills and prepare them to work effectively on a team. No matter what level a student begins at, Flatiron School’s Software Engineering program can take you from a complete beginner to industry-ready in as little as 15 weeks. 

If you’re committed to a career in tech, we’ll teach you the skills you need to succeed. 

Apply today to get started. Not ready to apply? No problem – test out our material with Free Software Engineering Prep Work or download the course syllabus.

If you’re an employer looking to bring new talent to your team, check out our tech training solutions and see how you can invest in your company’s growth. 

Software Engineer Salary by Company in 2023

Software engineering is a career that continues to be in high demand. In fact, the Bureau of Labor Statistics reports that demand for software developers is projected to grow 25% from 2022 to 2032 (much faster than average). In a world so reliant on digital experience, this number comes as no surprise. 

Companies of all sorts turn to software engineers to design, implement, and maintain software systems that address business challenges and client needs. With the right technical and programming expertise, software engineers can succeed while working in any industry

So, if you’re considering a career in the field you may be asking yourself – what can you expect from a Software Engineer’s salary? Below we’ll review how much engineers are paid at some of the top tech companies.

Software Engineer Salaries at 23 Top Tech Companies

Different industries have distinct organizational needs, so it’s no surprise that the average software engineer salary can vary based on the employer. Let’s look at some major corporations and the average software engineer salary* for each one.   

Amazon

You can earn anywhere from $146,000 to $233,000 annually as a software engineer with Amazon. The base pay, which doesn’t account for bonuses, stocks, or commissions, averages $183,000 per year. If you have more experience, you may qualify for a Software Development Engineer II position, which earns between $197,000 and $296,000 per year.

Apple

For a multinational technology company like Apple, software engineering earnings average $145,739 per year. Junior engineers average $86,725 with the company, while those with senior-level experience earn $190,489 on average.

Bloomberg

At Bloomberg, software engineers receive an average of $153,608 annually, which is higher than the national average in this role. An entry-level salary comes in around $62,000.

Capital One

The latest numbers show that Capital One software engineers make an estimated $139,952 annually, with top earners making as much as $205,000. Junior-level engineers can expect annual earnings of $103,000.

Cisco

The average engineering salary for Cisco employees depends on the job grade. Entry-level workers earn around $111,000 per year. Those at the highest level (distinguished engineers) report up to $708,000 in total compensation, which includes stock options and bonuses.

Citadel

Citadel software engineers bring home an average of $116,872 annually. The highest-salaried employees report earning $175,000.

Facebook (Meta)

Those working at Facebook (or Meta, the parent company) can expect an estimated annual salary of $207,000. This number represents the median salary and includes applicable bonuses, stocks, and commissions. As an entry-level worker, you may earn up to $189,000 annually.

Goldman Sachs

Goldman Sachs software engineers receive approximately $119,298 per year. This estimate is almost 20% higher than the average earnings for software engineers across other companies. As a newcomer to the company, you may earn around $85,000, although your location also plays a role in your starting salary. 

Google

A software engineer working for the world’s most-used search engine earns an annual salary of $145,645. On average, entry-level engineers earn $95,793, while senior-level workers receive around $183,952.

IBM

In an entry-level software engineering position at IBM, average annual earnings amount to $92,043. Regardless of position level, the standard pay is $113,412 per year, with the highest earners making as much as $224,000.

Jane Street

Upper-level Jane Street software engineers report earning around $333,000 in total compensation. Those at the lower level earn between $101,000 and $156,000 per year.

Koho

The latest estimates show that Koho software engineers with at least seven years of experience can expect to earn a base salary of $122,263 per year. Those at the senior level make an estimated $138,000 annually

Lockheed Martin

At Lockheed Martin, a software engineer earns an average of $97,883 per year. On the low end, beginners make $93,190 annually, while senior engineers bring home a yearly average of $118,330.

Microsoft

Working for Microsoft offers an average salary of $147,129, although the exact yearly pay depends on experience level.

Netflix

A software engineer employed at Netflix earns an average of $193,626 annually. Exact earnings in 2023 range from $46,000 to $444,000 per year, depending on expertise.

Oracle

Oracle software engineers earn $141,515 per year on average. High-earners report taking home $277,000. At the entry-level, annual earnings still reach $76,105.

Revature

A Revature entry-level software engineer makes an average of $101,000 per year. The reported pay range for this position is $81,000 to $127,000. 

Salesforce

Salesforce software engineer employees report average annual earnings of $120,392. This estimate is about 20% higher than the national average of $100,260. Working in an entry-level position offers an average of $89,000 per year, while the higher-earners in the organization report making around $162,000.

Stytch

The base average software engineering salary at Stytch is $136,647 per year. At the entry-level, you might earn around $126,650 each year, while executive-level or high-end earners report average annual earnings of $145,557. 

Tesla

Tesla software engineers make a little over the national average, with a yearly average salary of $107,322. If you’re starting with little to no experience as an entry-level worker, your earnings may be closer to $81,000. The average salary for engineers with several years of experience is $141,000.

ThousandEyes

How much can you make at ThousandEyes? Broadly speaking, $160,717 is the average salary for software engineers. Depending on a candidate’s background and credentials, this figure can range from $67,000 to $294,000 for senior engineers.

Uber

Uber software engineers earn an average yearly income of $139,952. Beginner earnings come in at around $52,500, while high-level workers earn about $205,000. 

Walmart

A U.S.-based software engineer earns an average annual wage of $105,434 at this global retail corporation. 

Ready To Become A Software Engineer?

The opportunities available to software engineers with an in-demand skillset are varied and increasing. No matter the status of the “traditional” tech industry represented by the companies listed above, every organization – no matter the industry or size – needs an engineer’s capabilities. 

But, to land a software engineering position and start earning like an engineer, you’ll need the right skillset. That’s where Flatiron School comes in. 

Our Software Engineering program takes a holistic approach to learning, teaching both the latest technologies and problem-solving techniques. We’ll teach you how to code, but also how to learn and adapt. That way, no matter what technological revolution comes your way, you’ll be ready. Whether you have zero coding knowledge, are self-taught, or are somewhere in between, this course will take you from foundational skills to industry-ready in as little as 15 weeks.

Apply now to get started on your journey to becoming a Software Engineer. 

*Salaries cited as of 19 October 2023

AI and Cybersecurity

This piece on the future of AI and Cybersecurity was created by Matthew Redabaugh, Cybersecurity Instructor at Flatiron School.

There’s a fascinating conversation happening today about AI and the impact it may have as it gets adopted. There’s a wide variety of opinions on the 5 Ws.

  1. Who will be impacted? 
  2. Who might lose their job or have their jobs adapted? 
  3. Will particular industries need more personnel thus the impact of AI will create more jobs? 
  4. What will change in everyday life as the technologies we have been accustomed to change due to AI?
  5. Will that change be subtle or drastic?

These are the kinds of questions that people are asking, especially in the field of cybersecurity. The main question I want to answer today is, “What is the relationship between AI and cybersecurity and how might the industry change with AI advancements?”

In this blog post, we’ll delve into the intricate relationship between AI and cybersecurity, debunk common misconceptions, and explore how AI is reshaping the landscape of digital defense.

What is Artificial Intelligence?

Let’s begin by addressing some common misconceptions about what AI is. 

The primary goal of AI is to give computers the ability to work as a human brain does. While this definition isn’t particularly narrow, AI’s scope is also quite broad. For a computer to be considered AI, it must encompass the ability to reason, learn, perceive, and plan. This is often accomplished through the development and implementation of algorithms that rely on statistics and probability to achieve a desired outcome.

Applications for Artificial Intelligence

Some use cases for AI that are being actively worked with are speech recognition and understanding languages, as well as the AI that is being used for travel assistance (updating maps, using AI to scan roads and create efficient routes.) AI empowers cybersecurity professionals to enhance their security posture through automated responses to attacks, to identify phishing schemes, to detect anomalous activity on networks (previously done manually), by analyzing weak passwords and then requiring users to update them, and more.

Is AI Conscious?

A common misconception about AI is that it is currently conscious or will become so in the near future.

One of the most interesting use cases for AI is Sophia, a humanoid robot introduced in 2016. It is the first robot to have been granted personhood and citizenship status in Saudi Arabia. Sophia can hold simple conversations and express facial expressions. Her code is 70% open source and critics who have reviewed her code have said that she is essentially a chatbot with a face because her conversation is primarily pre-written responses to prompted questions. Her existence has sparked an interesting debate over the possibility of having AGI (artificial general intelligence) in the future.

While Sophia’s sophistication in robotics is undeniable, the notion of her “consciousness” remains contested.

AI vs. ML vs. DL

There are two other terms that are often misconstrued or used interchangeably with AI. These are Machine Learning (ML) and Deep Learning (DL). It depends on use context and who may be using these terms as to what their more specific definition is. I consider them as subsets. ML is a subset of AI and DL is a subset of ML.

What is Machine Learning?

Machine Learning is set apart by its ability to learn and respond differently and uniquely by ingesting large amounts of data using human-built algorithms. This is done through either supervised learning, where the computer is given specific parameters by the developer to compare data inputs. Or unsupervised learning, where the computer is fed data and the algorithms allow for the computer to find relationships on its own. 

Applications for Machine Learning

In our daily lives, Machine Learning shapes experiences on music platforms like Spotify and Soundcloud. These platforms use algorithms to predict the best song choice for a user based on their preferences. Youtube employs a similar video-generating algorithm to select a video after one is finished.

Machine Learning in Cybersecurity

Machine Learning is used a lot in the cybersecurity world. Its tools may be used to ingest large amounts of data from networks and highlight security risks based on that data, like malicious access to sensitive information from hackers. This makes threat hunters’ jobs much more manageable. Instead of having to set security alerts and then respond to those alerts, we can use machine learning tools to monitor our environment. Based on prior attacks and knowledge of an organization’s systems and networks we better understand that an attack might be taking place in real time. As you can imagine, these tools are far from perfect, but they’re definitely a step in the right direction. 

What Is Deep Learning?

Deep learning is again an even more precise subset of Machine Learning. It functions in nearly the same way as ML but is able to self-adjust whereas ML requires human intervention to make adjustments.

Applications For Deep Learning

Some examples that are being used today are computers that can do image and pattern recognition. We’ve also seen this done with computers being able to ingest hours and hours of sound from an individual and then mimic their speech patterns. Self-driving cars would also fall into this category as they actively ingest data about the conditions of the road and other cars and road hazards to correct the car’s driving.

The common large language models like ChatGPT and Google’s Bard are considered deep learning as well.

Deep Learning In Cybersecurity

The ability for DL tools to mimic speech poses a genuine concern for cybersecurity professionals as it will allow for attackers to perform spear phishing attacks that are much more convincing.

Using AI For Good In Cybersecurity

Elevating Cybersecurity Blue Teams

One of the most important tools in the field of cybersecurity is something we call a SIEM. This stands for Security Information and Event Management. Traditionally a SIEM tool would be used by security operations center analysts to give us a clear picture of what is happening on an organization’s computer networks and applications, detect any malicious activity and provide alerts to the analysts so that they can respond accordingly. 

With Machine Learning, these tools have been upgraded so that if a security event occurs, the response is automated instead of the security team having to do this manually. 

These new tools we call SOARs: Security Orchestration, Automation, and Response. To give you an example, if a user in your organization was hacked and their account was being used by someone else, with a SIEM, if it’s working as intended, it may alert the security team that an account is being used maliciously. The analyst would inform the necessary parties and take that account offline or take the network down where that compromised account is being used. 

With a SOAR, whatever response that would be taken by the security analyst to remediate the issue, is now automated. SOARs use the concept known as playbooks, prebuilt and automated remediation steps that initiate when certain conditions are met. This transition not only expedites incident response but also minimizes potential human errors, significantly enhancing an organization’s cybersecurity posture. This still requires human intervention because this technology is still far from perfect.

Combat Phishing Attacks & Spam

AI is being used in the cybersecurity field to help our security personnel identify and classify phishing attacks and spam. It’s also being used to help with malware analysis where we can run the code of a discovered exploit through an AI tool and it may tell us what the outcome of that malware would have on our environment.

Expedite Incident Response

We can use AI to help us with Incident Response, as I mentioned earlier, with the automated remediation efforts that can happen with SOAR tools. AI can also be used to gather data to predict fraudulent activity on our networks which can help the security team address a potential liability before data is stolen or malware is installed on a system.

Prevent Zero-Day Attacks

With Machine Learning, cybersecurity professionals have a much better chance of protecting themselves against zero-day attacks. This is when a system or application vulnerability was previously unknown to the application’s developer. With Machine Learning, that vulnerability could be identified before an exploit occurs. In addition, machine learning could identify an intrusion before data is stolen or an exploit is carried out.

AI Uses for Bad Actors

Even with all the positive possibilities of AI and Cybersecurity, there is a dangerous side. The same technologies being used to protect our networks can and are being used to make hacking easier. 

Trick Network Security

If machine learning tools are implemented on a network, proficient hackers may be able to identify this. They can then act accordingly to deceive the machine learning tool into thinking that the hacker is a regular user.

Elaborate Phishing Campaigns

A very scary use case for AI being used by hackers is to create far more convincing phishing campaigns. The major cause of breaches is still mainly a human element. And, phishing is still one of the most common ways that hackers cause data breaches.

At the moment, phishing attacks are generally pretty easy to identify. International hackers may use bad grammar or send from an obviously fake email. They may try to hide links to websites that can easily be determined to be falsified. But with the introduction of AI, all of these mistakes can be fixed. 

ChatGPT can easily pass as a human. It can converse seamlessly with users without spelling, grammatical, and verb tense mistakes. That’s precisely what makes it an excellent tool for phishing scams.

Convincing Impersonations Of Public Figures

Another thing cybersecurity professionals are worried about is AI being used to mimic speech patterns, which would make spear phishing campaigns much more difficult to detect. I can easily imagine a world in which Twitter employees are being bombarded with fake emails from Elon Musk, or fake phone calls because his voice would be so easily recreated by AI. And this could happen with just about any CEO or any personnel from any organization.

The Road Ahead

AI is going to make us more efficient and more productive, as almost all technologies have done throughout history. But, as we navigate the evolving landscape of AI in cybersecurity, it is paramount to remain vigilant against its misuse.

I’ll leave you with this quote from Sal Khan, the CEO and founder of Khan Academy:

“If we act with fear, and say, ‘hey we just need to stop doing this stuff’ what’s really going to happen is the rule followers might pause, might slow down, but the rule breakers, the totalitarian governments, the criminal organizations, they’re only going to accelerate. And that leads to what I am pretty convinced is THE dystopian state, which is the good actors have worse AIs than the bad actors. We must fight for the positive use cases. Perhaps the most powerful use case, and perhaps the most poetic use case, is if AI (artificial intelligence) can be used to enhance HI (human intelligence), human potential, and human purpose.”

Data Science vs. Software Engineering: Industry Trends and Future Predictions

The road to the future isn’t paved with asphalt—it’s a path defined by ones and zeros. For centuries, infrastructure was in the hands of physical labor engineers. Today, it’s the masters of data science and software engineers who will move today’s societies into the next stage of technological advances.

In this piece, we’ll examine industry trends in data science vs. software engineering, forecast the direction of both fields, and consider how they’ll impact each other in the future.

Industry Trends in Data Science

Hiring Growth

The industry is actively seeking data scientists. Estimates show data science employment is expected to grow by a staggering 36% from 2021 to 2031. The future is in the hands of skilled data analysts, data engineers, and data architects who can use data analysis to extract valuable, actionable insights.

Gathering Big Data

Projections suggest more than 150 billion devices will be generating 175 zettabytes of data by 2025. Much data will be generated and analyzed in real-time, providing almost-instant feedback for improved results (think content recommendation systems).

These mountains of captured data will drive company decisions, strategies, and future projections. People who can design complex new analytical models and then train machine learning systems on those models will be invaluable.

Analyzing TinyML and Small Data for Data-Driven Devices

The Internet of Things (IoT) has ramped up the need for data scientists who work with TinyML and small data. IoT devices are being developed for nearly every industry, calling for experts to gather and implement that data.

Smart homes. Smart transit. Entire smart cities. All of these call for small, low-powered devices that compute their ML and datasets. These TinyML devices require the expertise of data scientists to collect and analyze billions of data points. They’re then stored in the cloud, streaming new command instructions for these smart devices to act upon in real time.

This is where data science meets the true cutting edge of the future of data-driven devices.

Using AutoML

Analyzing monumental amounts of data collected from databases, platforms, and devices calls for integrating metrics using Automatic Machine Learning (AutoML). 

Data scientists will rely on automated tasks to gather accurate data streams. Likewise, industries will need their expertise to define what tasks are suitable for ML and to train ML on their information models to improve accuracy.

Industry Trends in Software Engineering

High Growth

Like data science, software engineering will likely see extremely fast growth. The industry is expected to grow 25% from 2021 to 2031.

For over a decade, businesses have relied more heavily on digital solutions to traditional scaling challenges. From digital platforms to app development in emerging fields like AI and ML, software engineers are in high demand to build the future.

Utilization of Agile Methodology and DevOps

Software development teams have significantly benefited from advances in Agile Methodology and DevOps programming and share centralized datasets while developing quickly and efficiently. 

Teams consistently share daily progress in small sections of completed applications, later joined to build a final product. Redundant processes like testing for errors and security issues are automated.

Agile and DevOps will trend upwards together as both continue to benefit from increased usage and advances in AI and ML.

Cloud-Based Platform Development

The reliance on cloud computing will increase. Centralized data repositories shared by development teams, massive amounts of storage, and an added layer of security will help businesses scale at cost.

AI and ML Automation

While the AI and ML fields are currently experiencing an explosion of public interest, they’ve been trending for many years. From every sector, automating processes reliably while using ML to train systems for specific tasks to increase accuracy is critical. The roles of AI and ML in Agile and DevOps are expected to continue driving innovations in development.

Advances in Cybersecurity

Cyber threats are rising exponentially. In 2022, there was an average of 1,168 weekly cyberattacks—a 38% rise compared to 2021. Paired with a proportionate increase in complexity and sophistication, companies both large and small are seeking news ways to secure their systems against the onslaught. 

There will continuously high demand for Software Engineering skills in Cybersecurity to keep systems and information secure.

Mobile App Development

The more we rely on smartphones for our daily needs, the greater the need for mobile-friendly app development and support systems. Whether it’s for companies needing to develop AI-based customer support, for apps using gamification to help people in personal development, or even for GPS-based beacon technology, there’s never been a greater need for mobile-first software development.

The Intersection of Data Science vs. Software Engineering: How the Two Fields Will Impact Each Other

It’s easy to think of these two fields as separate entities – as data science vs. software engineering. But, as multiple revolutionary technologies grow exponentially, we’ll see the intersection of technology fueled by advances in both fields—data science and software engineering. 

Increasingly sophisticated software tools will integrate cutting-edge AI and ML, requiring new skill sets from data scientists and software engineers alike. 

Software engineers will draw from massive repositories to streamline and optimize code development. 

Data privacy and the ethics surrounding intellectual property will call on advanced data analytics. At the same time, combining 5G, IoT, and advances in AR and VR will transform every industry.

Data scientists and software engineers will play fundamental roles in shaping the future of banks, hospitals, customer service, and ethical data mining. At the same time, new fields will be emerging, creating demand for roles that don’t exist yet.

Advances in AI and ML

With new applications developed every day that tap into the power of neural networks and large language models, the world will need analysts and other data experts. Data analysts will formulate how to use millions of new data points. Meanwhile, software engineers will experience increased demand to help companies accelerate data use to gain an edge over competitors.

Programs designed to help the user automate tasks will require the expertise of data scientists and programmers to integrate AI and ML upgrades to features. Companies based on a digital platform model will need constant new integrations for greater datasets from users and features to help the user make smarter, faster purchases using advanced predictive models.

Advances in IoT

IoT is going to change the way we look at the world. Every device, appliance, and gadget will operate on analytics designed by today’s data scientists, with code optimized for even the simplest systems. At scale, everything from traffic patterns on our roads to railways and airport runways will require complex models that other machines will read and interpret. 

Cities will rely on well-crafted information systems and dynamic analytics to manage electricity use, waste management, hospital equipment, and other systems. The potential use cases are virtually endless.

Advances in AR and VR

Along with powerful CPUs and other advances, we’ll probably see accelerated movement into practical applications for AR and VR. They’ll factor into production tools, virtual work environments, live events, and virtual game environments — supporting and enhancing experiences in reality. This technology means coding opportunities galore, but it also means opportunities to collect unique new user data.

Advances in 5G

5G does for internet bandwidth what AI is doing for intelligent computing. This technology will open doors for front end developers to design radically upgraded visuals for desktop and mobile.

New predictive models will transform the market in ways we have yet to imagine. Improvement in computing data means collecting real-time information on users and their connections to one another.

Join the Technology Revolution in Data Science and Software Engineering

If you’re considering a future in data science or software engineering, get a taste of what Flatiron School offers: download a syllabus and try your hand at our free lessons.

Or, you may be looking to hire the best talent. If so, learn how we help businesses with our hire-to-retire dream team recruitment services and multiple technology training solutions.

How to Become a Software Engineer Without a Degree

Pursuing a traditional 4-year degree in computer science has long been the traditional career path for software engineers. But today, many software engineers are finding alternative paths to their careers. In fact, according to a 2022 survey, only 41.32% of software developers have a bachelor’s degree. 

With the evolving tech landscape, software engineering has become one of the most rapidly growing fields. There are more computer games, web and mobile apps, network control systems, and operating systems being developed than ever before, and they aren’t going anywhere anytime soon. 

As industry opportunities expand, so do the pathways to this lucrative career. Here’s how to become a software engineer without a degree, including the necessary skills you need to acquire and tips to help pick the right route for you.

What we cover here:

What Skills Do Software Engineers Need?

Software engineers need computer programming, coding, object-oriented design, and software development skills. Other life and social skills such as problems solving, logical thinking, and great communication can help you get a leg up in the software engineering field as well.

These required skills can be learned quickly, especially if you exhibit the 7 signs you could be a successful software engineer. Here are the key skills you will need for this career:

Essential Tech Skills

  • Programming Languages: Proficiency in languages such as Java, Python, Ruby, C++, or JavaScript are crucial for designing and implementing software solutions. 
  • Software Testing: Knowledge of basic and advanced debugging and testing techniques is required, even in the age of AI testing. 
  • Software Development: Engineers familiar with the ins and outs of developing software have a more solid understanding of the structures behind software performance.
  • Object-Oriented Design (OOD): Essentially, this approach involves defining, understanding, constructing, and identifying the objects of a system.

Other Skills

  • Problem-solving: The ability to analyze complex problems and break them into manageable components is crucial for software engineering.
  • Communication: Excellent written and verbal communication skills can help engineers articulate ideas and job requirements to coworkers and clients.
  • Teamwork: Many aspects of the career require collaboration, especially on larger projects that involve the efforts of a team.

But how does one go about acquiring the skills needed to become a software engineer, especially if you don’t have 4 years to go back and earn a traditional degree?

How Do You Become a Software Engineer Without Earning a College Degree?

To become a software engineer without a degree, pursue self-study and alternative professional development (such as online courses, workshops, learning platforms, and bootcamps) to learn the necessary skills and knowledge needed to enter the field. Doing so helps you to gain practical experience while building a comprehensive foundation for a career in software engineering.

Important Courses for a Software Engineer

A well-rounded curriculum should include foundational programming and specialized courses that include theoretical concepts and practical applications. This varies but may include:

  • Computer/Software Science
  • Data Structures and Algorithms
  • Object-Oriented Programming
  • Front End Development
  • Back End Development
  • Artificial and Machine Learning

Ultimately, the best programs should send you off with a final portfolio that demonstrates your high-level, ready-to-work knowledge, skills, and experience.

Pros and Cons of Earning a Degree, Self-Learning, and Software Engineering Bootcamp

There are several pathways to becoming a Software Engineer, with pros and cons for each avenue. Here’s an overview.

Earning a Traditional 4-Year Degree

Pros:

  1. Comprehensive education
  2. Clear credibility 
  3. In-depth, diverse knowledge
  4. Built-in networking opportunities

Cons:

  1. Time-consuming 
  2. Often prohibitively expensive
  3. Less focus on practical skills
  4. Little real-world experience 
  5. Curriculum may not address new technologies

Self-Learning

Pros:

  1.  Learn at your own pace
  2. Cost-effective, especially compared to 4-year tuition
  3. Ability to tailor learning to interests
  4. Source learning materials from open-source contributors

Cons:

  1. May lack a well-rounded structure
  2. Potential gaps in knowledge without guidance
  3. Must be incredibly dedicated, committed, and self-motivated

Software Engineering Bootcamp

Pros:

  1. Accelerated pace to gain skills quickly
  2. Emphasis on practical, real-world skills and application
  3. Networking and career support
  4. Guided learning and accountability structure
  5. Less expensive than a traditional 4-year degree program
  6. Flexibility to complete software engineering courses online
  7. Up-to-date curriculum addresses new and evolving technologies

Cons:

  1. Financial investment 
  2. Time commitment to complete coursework

Flatiron’s Software Engineering Course

College courses can be beneficial, but there are quicker ways to make it from beginner to a high-paying career in software engineering. That’s where Flatiron’s Software Engineering course comes in. 

Our bootcamp teaches you the skills needed to become a successful software engineer, with courses that cover everything from design to maintenance. In as little as 15 weeks, you can learn everything you need to know to break into the industry and land your first job. Download the Software Engineering Syllabus to see the skills you’ll learn. 

Need some flexibility as you complete the course? Both part- and full-time course schedules are available, with online and in-person campuses that fit your schedule and availability.

Apply to Jumpstart Your Software Engineering Career

Whether you’re a budding full stack developer or completely inexperienced, our Software Engineering program will take you from beginner to industry-ready in as little as 15 weeks.

Apply to Flatiron School today and get started toward a fulfilling career in tech.