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

Terry Threatt: Event Management to Software Engineering

Terry Threatt, a December 2020 graduate of Flatiron School’s Software Engineering program, began his career in sports event management, but a life-long interest in coding ultimately led him to tech. 

He shares his journey from planning events to writing code below.

Background

Terry Threatt began his career in the world of sports, first as a college athlete and then as an event manager for athletic events. But, despite his fledgling career in athletics, Terry had a secret – he loved coding, and his interest in Software Engineering was drawing him in. 

“I’d been experimenting with HTML, CSS, and JavaScript since I was 14,” he said. “The allure of coding never left me, it felt like a calling that combined my love for problem-solving and a desire to make a big impact.”

It was in 2017, just short three years after earning an MBA in Sports Business, that Terry’s passion for the field was “reignited through an Angular book” and he decided to seriously pursue a career change. 

“The field of tech drew me in because of its boundless opportunities to engage in new problems and the chance to make lives easier,” he explained. “I realized that with coding I could craft tools that streamline processes and create efficiencies in many areas and industries. It felt like a canvas where I could continually create, innovate, and learn.”

He started learning on his own, but eventually hit a wall. He recognized he’d need external guidance and support to progress to a professional level. 

“After years of self-study, I recognized some knowledge gaps and realized I needed a structured approach to take my skills to the next level,” he explained. “Flatiron School offered exactly what I needed to streamline my learning and prepare me for the ever-evolving tech world.”

Bootcamp Experience

To break through his learning plateau, Terry enrolled in Flatiron School’s Part-Time Online Software Engineering program. While the program’s format allowed him the flexibility to learn at his own pace while continuing to work, balancing existing responsibilities while adapting to the course is a challenge for even the most organized students. 

“Juggling the part-time program while working a full-time job was no small feat. Long nights of debugging and intense focus were required,” he said. “The time commitment was challenging, but it taught me resilience and discipline—skills that now define my approach to my work and growth.”

Despite those long nights, Terry thoroughly enjoyed both his coursework and his classmate’s company. 

“My favorite part of Flatiron School was the project/assessment period and the people. The assessments allowed me to gauge my progress and set reachable goals, while my cohort mates and instructor made the learning process enriching and enjoyable. We grew together, and the bonds forged will last a lifetime.”

Job Search

After 10 months of study, Terry graduated in late 2020, right into the height of the COVID pandemic. Despite the circumstances, he says his job search “went well” and was supported by his dedicated Flatiron School career coach. 

“My career coach was instrumental in my job search. She provided endless resources and motivation, guiding me toward landing my first role. Her support made the transition into tech smooth and inspiring,” he said. “It was a challenging job market at the time but I was still able to land a role as a software engineer for a commercial real estate company.”

When we spoke with him in August 2023, Terry reported that he was thriving in his new career field.

“Working in tech has been everything I hoped for and more. As a Software Engineer, I’m continually learning and have the opportunity to develop software that enhances people’s work. It’s a field where my creativity and drive can flourish.”

To see what Terry is up to now, visit his LinkedIn and his blog

Reflecting On His Journey

Looking back on the path he’s taken, Terry’s takeaway is that of embracing the possibility of transformation.  

“The biggest lesson I learned is that change is within our grasp. My decision to attend Flatiron School created a profound change in my life. It reinforced my belief that with determination and the right choices, we can shape our destiny.”

As for his advice to others just beginning their Flatiron School programs, he recommends trusting the process and staying the course. 

“The journey may be tough, but the rewards are immeasurable. Believe in your goals, and you’ll find that everything falls into place. Your dreams are reachable, and Flatiron School is a stepping stone towards realizing them.”

Ready For A Change, Just Like Terry Threatt?

Apply Now to join other career changers like Terry Threatt 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. Or, review the Software Engineering course Syllabus that will set you up for success and can help launch you into a new and fulfilling career.

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

Your Software Engineering Roadmap: Climbing the Career Ladder

With the non-stop demand for new software and mobile applications (the global application software market is expected to grow 24.3% CAGR from 2021 to 2028), there is no denying the heightening need for software engineers. In fact, the Bureau of Labor Statistics (BLS) notes the demand for software engineers is projected to grow by 25% from 2021-2031. 

So, with the evolving software landscape, how might this manifest in your career? The good news is there is a clear path forward in the software engineering field. 

If you’ve decided a software engineering career is for you, here’s your guide to the software engineering roadmap. 

Junior Software Engineers

Junior engineers perform a variety of entry-level tasks and projects for mid- and senior-level engineers. These may include:

  • Writing and maintaining code
  • Debugging software
  • Helping design software applications

Keep in mind, software engineering is a rather broad field. Thus, this is an excellent time to:

  • Learn and explore different avenues 
  • Reflect upon what you may want to specialize in later in your career

Job Titles

Job titles for junior developers can vary depending on a position’s specific focus. For example: 

Junior back end software engineer: Focusing on the server side of websites, junior back end engineers assist other higher-level software engineers with writing the underlying code to enable an application to operate. This involves understanding programming languages such as Java, Python, and Ruby. 

Junior front end software engineer: While back end engineers focus on the server side, front end engineers focus on the user-facing side of a given website or application. Front end Software Engineers at the beginning of their careers often leverage programming languages (e.g., JavaScript, HTML, and CSS) and design skills to help teammates build lasting software.

Junior cloud software engineer: A cloud engineer is focused on optimizing cloud-based applications and ensuring the programs meet customer expectations. At a junior level, you will typically handle your responsibilities under the supervision of a skilled cloud engineer. Understanding programming languages such as Java or C++ is recommended.

Salary Range

The salary range for junior software engineers is between $50,698 – $124,433 according to Indeed, with $79,426* as the average. Salary is dependent on location and experience.

Skills Required

Rest assured, it is possible to become a junior software engineer without a degree. Achieving this role requires commitment and dedication to the necessary hard and soft skills.

Hard Skills

Entry-level software engineers need excellent computer, programming, and development skills. They will also need to showcase this during technical interviews

Hard skills include knowledge of: 

  • Javascript
  • HTML
  • CSS
  • C++
  • Python 
  • Ruby

Soft Skills

Communication: While some tasks may involve working independently, more complex ones will merit teamwork and collaboration. Strong communication skills are the thread that cohesively weaves these parts together and will ultimately help one succeed in their role.

Willingness to learn: As a junior engineer, learning and development during this stage of your career is crucial. One must be willing to roll up their sleeves and continuously learn from different people and projects. This will lay the foundation for a successful and lucrative career.

Mid-Level Software Engineers

Junior engineers can progress onto a mid-level software engineering role after about 3-4 years working in a junior-level software engineer position. 

At this point in your career, you should have a good understanding of the software development lifecycle at your organization. In addition, you are confident in taking ownership of work with little direction and possess a high-level understanding of technical strategies.

Job Titles

With a more high-level knowledge, software engineers may choose to specialize in a particular area of software engineering. 

Job titles include but are not limited to: 

Systems engineer: A systems engineer works with IT firms and companies to install software programs. They maintain the overall system and conduct necessary repairs to safeguard security measures. 

Full-stack developer: Responsible for both front end and back end development, a full-stack developer creates visual designs for sites, mobile applications, and company platforms. They also run and maintain servers.

Salary Range

The salary range for a mid-level software engineer is $75,000 – $145,000 according to ZipRecruiter, with an average of $110,000.

Hard Skills Required

  • Computer science, design, and programming 
  • Python
  • JavaScript
  • Agile methodology
  • DevOps development
  • All programming languages noted under the junior-level section

Soft Skills Required

Problem-solving: Problem-solving is critical to a mid-level position, as you’ll dive into larger projects that require identifying errors and efficient solutions. This may involve staying up-to-date on new developments in software applications to make adjustments to match industry standards. 

Collaboration: Mid-level engineers must work with their teammates to ensure workflow processes are on track and aligned. For example, an engineer may need to be in contact with a user experience (UX) designer or project manager to test different applications/products and ensure projects are within budget.

Senior Software Engineers

As a senior-level engineer, you’ve reached one of the highest-paying software engineering jobs. You will begin to work with internal leads/managers/CTOs to design new software systems for your organization or clients. Depending on the nature of the role or team, you may spend more time mentoring, designing, and leading than programming.

Job Titles

Job titles include: 

Senior software engineer: With the responsibility of establishing and meeting goals regularly, senior software engineers divide complex tasks into a series of steps for the team. They do not need much guidance and provide project status updates to the executives/CTOs. 

Principal staff engineer:  The principal staff engineer often liaises with the chief technology officer (CTO) to build plans for the engineering department’s long-term strategy and implementation. They are responsible for ensuring the team meets objectives and stays within budget.

Other role titles may include engineering manager and director of engineering.

Salary Range

The salary average range for senior software engineers in the U.S. is between $90,730 – $222,239 according to Indeed, with $141,999 as the average.

Hard Skills Required

  • Over 8 years of experience as a software engineer
  • Knowledge of all necessary programming languages and/or cloud applications (depending on the nature of the role or company)

Soft Skills Required

Adaptability: Not everything will go as planned. Thus, as the project lead, you will need to excel at and be comfortable with adapting to changes. And, more importantly, discovering new avenues for growth and opportunities amid those shifts. Having experience working in an iterative development environment will work to your advantage.

Time management: As you often oversee the progress of projects and objectives, time management is critical to your success as a senior-level engineer. Time management not only involves planning milestones but building those milestones in a way that optimizes the team’s workflow.

Executive/CTO

After 10 to 15 years of experience in the engineering and IT field, you may choose to advance to an executive-level position at a given company. 

Being a part of the executive level involves making company-wide decisions and possessing the leadership skills to manage all technological aspects of the organization. This requires being comfortable liaising with key stakeholders across the business and working with them to design a comprehensive roadmap.

Job Titles

Job titles in this top bracket include:

Vice President of Engineering: A Vice President of Engineering’s supervision ensures the engineering team has what they need to execute desired results. They oversee duties for the team, such as recruiting, product development, quality assurance, budgeting, and strategizing. 

Chief Technology Officer: The CTO oversees an organization’s science, engineering, and technology efforts. They focus on aligning technology/engineering goals with other departmental and/or organizational objectives. This involves communicating with other executives and managing the engineering department’s budget.

Salary Range

The salary for a CTO ranges from $112,078 – $305,608 according to Indeed, with an average of $185,073.

Hard Skills Required

  • Knowledge of all programming languages 
  • Familiarity with high-end technologies 
  • Knowledge of product development in AI, Internet of Things (IoT), and security

Soft Skills Required

Decision making: A CTO must make strategic decisions on how to allocate resources and navigate issues while keeping aligned with company objectives. 

Leadership: A CTO must be able to lead and motivate with impact. This requires excelling at various leadership styles and understanding how to leverage them depending on the circumstances and individuals involved.

Learn and Grow with Flatiron School

Climbing the career ladder requires having the right resources and tools by your side. We encourage you to learn about and develop your skills using Flatiron’s Software Engineering program. Offering both part- and full-time courses, this program is meant to align with your schedule. 

Learn how Flatiron School can help you find success in your software engineering career path. Apply today

*Salary ranges and averages cited current as of September 2023 

The Art of Debugging

This article on the art of debugging is part of the Content Collective series, featuring tips and expertise from Flatiron School staff members on topics ranging from program success to the job search. This series is a glimpse of the expertise you can access during your program at Flatiron School.

Despite what one might assume, the essence of coding is not writing code that creates something you already know how to create. It is finding the solution to problems that are occurring in code that you have never written before. Though the endpoint of a project is the finished product everyone sees, the real work is done through the debugging process to get the product working before and even after launch. This is the beauty of programming. And, the better you get at it, the better programmer you will be.

Finding Your Debugging Tool

Each language comes equipped with tools that programmers can use to determine how their code works. These tools help find any problems that might be occurring in the code. 

In different programming languages, there will probably be two kinds of tools for debugging. This first kind will be to see the values of variables and functions in the terminal or console as all the code is run (i.e. Javascript and console.log, Ruby and puts, Python and print). The second kind will be a stoppage in code so that you can evaluate each value at that place in the execution of code (i.e. Javascript and debugger, Ruby and IRB, Python and ipdb). Each of these is very useful for finding where the values of the code are changing and possibly being used the wrong way. 

Personally, I prefer the console.log type of debugger because I like to look at the full runtime of the code, which allows me to trace an error through the code more effectively. For instance, if a parameter I am using in a function is showing up as undefined then at each point the function is being called I can console.log the value being passed in and trace the one that is undefined to where it is originating. Each programmer will have a preference of what they like to use though, so you need to find which makes the code clearest to you.

Where to Start Using Your Debugging Tool

The valuable thing about these tools is that they allow you to follow the data through the control flow of the code.  This is imperative to find what is wrong with the code if it is not performing the intention it is written for. To fix this, you must start at the point of the error. The point of the error is when your code had been working then something new was introduced, and suddenly the code is no longer working.

An example of a starting point might be seeing an error in the console of the browser that looks like this: 

This shows you that something you are trying to use the .map method on is showing up as undefined.  You can find this code at the file and line that is in the weather.js file on line 14 in the upper right corner. After you have found where the error is occurring you can then check what each value is and trace each step of the value and how it got to the place in the code it was failing. The question of what is happening at that point of error and what should be happening will give you the greatest insight into how to fix the problem.

How to Research Your Issue

To develop the question of how to fix the flow of the code, it is essential to narrow the question to the essential aspect of what you want the code to do and how you want it to manipulate the data in the variable or function. Once you know the exact point of where the information is changing in the wrong way, then you can isolate the question you need to research.  

In the example above, once you have traced the code back to where the variable is being set to an undefined value, then you can ask the question why is the variable being set to undefined at this point. This will allow you to look for a specific way to solve the problem. Whether you are asking Google, using ChatGPT, or perusing the documentation, with the right question in mind the answer will become easier to find.  The more specific the question you ask, the more specific the answer you will get back. It will also provide you with the knowledge to parse through information that does not apply to your situation.  Many people are willing to offer their expertise but it is your job to find the solution that best matches your question.

Conclusion

By finding your system of debugging and developing fluency in tracing code to the source of an error, you can then describe the process to potential employers and show that when you say you can solve problems it is not just lip service.  A systematic way of debugging shows employers that you have used the process before and solved complex problems through that process.  It will give them more trust in your ability to tackle bugs that might occur in the new feature you might be working on for them.  Get good at debugging and employers will notice.

About Joe Milius

Joe Miius is a Software Engineering Technical Coach at Flatiron School. He has previous teaching experience and has been helping Flatiron School students understand coding concepts for 2 years. He loves problem-solving and takes on each new problem or question a student presents with vigor and curiosity.

National Coding Week 2023 | Student Project Showcase

This year for National Coding Week we’re highlighting a few recent Flatiron School Software Engineering graduates and their capstone projects.

Jack Holmes: Cultivating The Art Of The Photo Dump

Jack Holmes created an image-sharing platform called “Dump” for his capstone project that used cloud-based web storage using Amazon Web Services S3, and self-join association and active storage, both created with Ruby on Rails. The app takes advantage of the recent trend to “photo dump” on social media platforms like Instagram, sharing several snapshots from a certain time frame or event at once. With his new app “Dump”, Jack hoped to encourage authenticity on social media, instead of the typical, carefully curated content that the algorithm presents to users. 

Try Your Hand At Software Engineering For Free!

Try Today

Mark Shkreli: Money Mavericks

For his capstone project, Mark Shkreli pulled on his background working in the finance industry to create a financial education web app called “Money Mavericks”. His goal was to combine both financial news and up-to-date market data to give individuals the tools they need to succeed as retail investors in one central platform.

Casey Ramirez: Rambler

Casey Ramirez’s inspiration for his capstone project “Rambler” was while he was on a walk, thinking about coding. The app is a health platform for tracking miles and coordinating group walks with other local users. Users can post walks, sign up for walks posted by others, and share activities. Casey created the app’s front end with React and the back end with Ruby on Rails.  

Jon Hause: Memry

Jon Hause’s capstone project “Memry” was inspired by his wife and their love of Broadway, restaurants, and travel. The app is a digital scrapbooking platform designed to help users remember their experiences, logged in a chronological timeline. Jon used React, React Routers, UseContext, Tailwind, and Date Functions to create the website’s Front End. He used Rails, Ruby on Rails, PostgreSQL, bcrypt, and Active Storage in the Back End. 

Elliot Wynn: Playbliss.com

For his capstone project, Elliot Wynn created “PlayBliss.com”, a modern gaming library. He created the platform to help gamers keep track of their gaming libraries and create a “playlist” and filtering functionalities so that they actually play all of their games. He used React and Ruby on Rails to build the website.

Try Your Hand At Coding

The diversity of these projects, all from students who attended the same program and learned from the same curriculum, shows how coding knowledge can take you down a plethora of paths. 

Want to try out coding for yourself? Check out our Software Engineering Prep to learn the basics and see how you like the discipline. 

If you enjoy it, why not apply? An education in coding can take you far. And, in as little as 15 weeks, you could be ready to change careers into tech.

How to Become a Web Developer in 2023

Launching a career as a web developer can help open up a lot of doors in the tech world. Web development ranks as the fourth-best job in the tech industry. This promising career shows no signs of slowing down when it comes to demand, as overall employment is expected to grow about 23% by 2031.

If you are drawn to a fast-paced industry with problem-solving challenges and opportunities for career development, then a web development career may be the right path for you. Here, we’ll dive into how to become a web developer and what this career entails.

Key Article Takeaways

  • Web development is one of the most promising careers to pursue and is a safe option in an evolving economy.
  • Essential skills are JavaScript, HTML/CSS, and often other languages like C++, Swift, or Python. Soft skills are also important.
  • Web development offers high salaries, flexibility, and versatility. But there’s a lot expected of you.
  • Learning web dev skills can lead you down many career paths, including back-end and full-stack development.
  • Teaching yourself or attending college classes are fine options for learning, but coding bootcamps can be the practical choice.
  • Web development is well worth pursuing.

What Do Web Developers Do?

Web developers—also known as programmers, coders, or engineers—use front end computer languages to build websites, applications, and apps. They also update existing programs per client or employer specifications. Coding helps clients with front-end and back-end development to drive traffic to websites, programs, and apps. 

In short, web developers create a visual representation of the World Wide Web. Now that you know what they do, the next step is to identify the skills needed to learn web development.

What Coding Languages Do You Need to Know to Become a Web Developer?

There are several languages to choose from when learning to become a web developer or programmer, so it’s a good idea to review them. The different coding languages below detail which category they fit into and their primary uses. For a deeper dive into your language options, read our programming languages blog.  

JavaScript

JavaScript is the most popular language among web developers, and knowing it is an essential skill for almost any job function. Of the 1.11 billion websites, 98.3% use JavaScript. It is a versatile language often used on the server side. A vast majority of devices run on JavaScript, too, including iPhones, Android, Microsoft Windows, and smart TVs.

If you’d like to dabble in JavaScript, Flatiron offers free lessons that teach JavaScript. Codecademy also has a good intro program.

Typical Javascript roles include:

  • Software Engineer
  • Front End Developer
  • Full Stack Developer

A JavaScript developer earns an average annual salary of $116,751*. For a junior developer, that average comes in at $75,718 per year.

Python

Python is a popular programming language that is easy to learn and use. This program is used in a variety of fields, including scientific computing, data science, and machine learning. It is also used to develop 2D imaging and 3D animation packages like Blender, Inkscape, and Autodesk. Typically, it is used in back-end coding.

Typical Python roles include:

  • Back End Developer
  • Full Stack Developer
  • Data Analyst
  • Data Scientist

The average annual salary for Python developers is $123,309. Entry-level workers earn $116,847 annually, on average.

Ruby

Ruby is a popular scripting language used for web development and has a helpful community. It is a good language to learn because of its association with major tech companies. Ruby on Rails is a web application framework. 

Typical Ruby titles include:

  • Software Engineer
  • Back End Developer

Ruby developers earn an average of $125,000 per year.

SQL

SQL (Standard Query Language) is a standard language for sorting, manipulating, and retrieving data in databases. It is critical for sifting through massive quantities of data to answer specific business questions. In 2023, the average annual salary for an SQL developer is $96,296.

Swift

Swift is a relatively new programming language used to develop iOS and macOS applications. It is optimized for performance and built to match the realities of modern iOS development. iOS developers often use Swift and earn an average of $125,946 a year.

HTML & CSS

HTML and CSS are essential for learning web development and are the building blocks for websites. They are often the first languages any web developer learns and are essential at all levels, especially among front-end developers. Front End Developers earn about $109,843 per year.

Go

Go is a low-level language that is ideal for systems programming. It is a compiled language that runs close to the metal and is open source. Despite its relative newness, Go is gaining popularity because it’s easy to learn and features a modern syntax. It is used by IT companies and data scientists, as well as for many Google applications. 

Data Scientists make an average of $127,128 per year.  A Go developer earns an annual salary of $104,840.

C++

C is the root of many programming languages with wide uses in computer science and programming; C++ is simply an enhanced version of C. Developers proficient in this programming language can use the compilers for a variety of platforms, making applications developed in these languages largely transportable.

Figures show that C++ developers receive an annual salary of $118,851, on average.

Breaking Down the Pros and Cons of Being a Web Developer

Pro: Flexibility

Coding jobs are in high demand, so developer jobs often have great perks and work-life balance. The coding lifestyle fits very well with working remotely, so coders may have the choice to work on their own time—though this can vary by company and role. 

Pro: High Salaries

Computer programming is a highly lucrative career. According to U.S. News, software development ranks above all other job types in several categories, including:

Pro: Career Versatility

Being a coder means you’ll usually have a spot in almost any company. As the demand for automation and phone-based services expands, so does the demand for development jobs. This is the direction many companies are going in, so the demand for developers and web developers will follow suit.

Pro: Demand

As we touched upon earlier, demand for programmers, engineers, and web developers is only projected to grow and grow and grow. Software developer employment is projected to grow 25% by 2031, faster than the average rate for all occupations.

Pro: You Can Make Cool Things

We’ve all encountered websites with incredible “wow” factors. Web developers are responsible for creating some of the best experiences we have online, from the prettiest sites to the most functional ones. You can be the person who helps create that.

Con: Turnovers

Programming and development is a fast-paced industry, and there are a lot of benefits to that. However, changing jobs isn’t for everyone. Developers generally tend to switch jobs more often than other roles, and that could seem taxing to people who don’t want so much change.

Con: Startups Galore

Many of the companies that have the highest need for developers are startups. And with startups come more of the aforementioned change. Venture-backed, high-growth startups have many outcomes, both good and bad. Often, developers bear the brunt of this.

Con: New Languages

Developers are always expected to be learning. Languages and processes are always changing, and while that is exciting, there is often a lot expected from them.

What Other Jobs Can You Get If You Learn to Code?

There are a variety of in-demand jobs you can get by learning to code. People go down many paths in their first web development jobs, depending on their goals and ambitions. Consider what type of role you see yourself in when you decide which programming language you want to pursue and which bootcamps you might consider. 

The most popular development jobs are outlined below.

Web Application Developer

A web application developer maintains both internal and external websites for companies. To do this, they focus on designing and implementing application systems for use on websites and mobile applications. Developers in this area need a solid understanding of HTML, CSS, and other programming languages like JavaScript.

The average salary for this position is $108,068 per year.  

Software Engineer

Software engineers build computer systems, apps, and databases. The umbrella term—software engineering—is the main focus of Flatiron School’s flagship software engineering program.
The latest figures from 2023 show that the national average salary for software engineers is $139,952.   

Front End Web Developer

Front-end web developers make websites with form and function. The typical skills needed are HTML, CSS, and JavaScript to build websites and display them properly on web browsers. These developers work hand-in-hand with graphic designers and back-end developers to create functional and aesthetically pleasing web pages. The national average salary for a front-end web developer is $98,828.

Back End Web Developer

Back-end developers pull information from a database and relay it to a web user. They complete their tasks using PHP, JavaScript, Ruby, Python, or SQL. Back-end development focuses on data and uses these coding languages to pull information from a database to relay it back to the user.

The national average salary for a back-end developer is $107,918

Full Stack Developer

Full-stack developers know enough to create functional websites or troubleshoot issues on the back end of the site. Startups, medium-sized companies, and huge tech companies all need full-stack developers.

The national average salary for a full-stack developer is $124,218 a year. Learn more about pursuing this position.

Mobile Developer

Mobile developers create and publish iOS apps and Android apps with Swift. There is considerable room for growth in this particular field, as there is a high demand for apps, smartphones, and other mobile devices. The national average annual salary for a mobile developer is $114,669.

UX / UI Designer

UI/UX designers use code in their day-to-day jobs to focus on app user experience. They focus on user interface, user experience, and graphic design. Coding skills are often needed in day-to-day work. 

UX/UI designers earn an annual average of $115,956. Learn about the different kinds of design, including UX, UI, and graphic design, on our blog

Product Manager

Product managers work with developers and coders to act as the voice of the customer, understanding what they need and want. They benefit from understanding code and the functions of specific languages, which lets them address the needs of their teams.

They don’t need to be seasoned coders, but not knowing what goes into a product can facilitate project management and troubleshooting processes. The annual salary for product managers is approximately $153,698.

Database Developer

Database developers are responsible for the maintenance and development of databases. These employees can also work as database administrators, where they maintain the storage of information and make sure it is accessible to those who need it. Estimates show that they earn an annual salary of $108,713.

DevOps Engineer

DevOps professionals help companies innovate and stay competitive. In a business, they represent a team of professional coders, operations staff, and IT generalists. DevOps engineers make, on average $127,036 a year.

Data Analyst

If you learn the languages needed to become a developer but realize you love numbers, then becoming a data analyst might make sense for you. Data analysts are among the most in-demand positions in the realm of coding and computer science. They have skills that combine software engineering, coding, statistical analytics, and data visualization to tell stories and discover insights from big data.

They use Python, SQL, R, and Java to develop algorithms and build models to discover new problems and even predict consumer behavior. The average data analyst earns approximately $80,429 per year.

How to Get Started in a Web Development Career

Pursuing a career in coding does not necessarily require a computer science degree. Instead, this career requires dedication and patience—the years of experience come later.

Step 1. To get started, take some introductory lessons to see if you have a passion for coding. This passion is the single most important thing to get started in your career.

Step 2. Figure out what you’re interested in when comparing languages and job opportunities. There are several different types of developers, all of which have their unique benefits and drawbacks.

Step 3. Learn the skills you want to learn and stay diligent. Computer science classes and coding bootcamps can be hard. They involve a lot of learning in a short period, but once you’re done, it’s a rewarding feeling.

You can learn from professionals through bootcamps or get a degree in computer science.

Step 4. Build your online brand by establishing a good LinkedIn profile. Write about what you know and include any websites and apps you developed in your portfolio. From there, begin your job hunt. Once you begin the job interview process, make sure you practice for your interviews extensively beforehand.

How Do You Learn to Code?

To get a job in coding, you must first learn to code. Coding bootcamps are the best bet for getting into coding. These bootcamps are a middle ground between self-study and college degrees. They are more expensive and time-intensive, but they offer more support and motivation.

The entire purpose of a coding bootcamp is to get you job-ready as soon as possible without sacrificing education quality.

How Do You Know If a Coding Bootcamp Is Right for You?

Before you get into the program, it is important to pick the right bootcamp for you based on your goals, learning style, and expectations. You will want to look at the program’s success rate and curriculum.

Also, consider location. Some teach online, while others teach in-person. Some might focus on one or two specific languages, while others are more generalist, focusing on many different languages.

Find a bootcamp that teaches the languages that align with your goals and make sure they have career services. CareerKarma has an extensive list of the best coding bootcamps in 2023. Check out our web development bootcamp blog to learn more about coding bootcamps.  

Will Coding Bootcamps Get You a Job?

Coding bootcamps can help you learn to code quickly, but they don’t guarantee a job. During your research process, your selection must offer career services that will help you build an online presence after you graduate. 

Also, research job placement rates for any bootcamp you consider. Any good bootcamp will be open about how many of their graduates find jobs and their starting salaries. For example, we at Flatiron School release annual job reports.

Can You Teach Yourself To Code?

If a bootcamp isn’t for you, another option is self-study. While it is a cheaper option, learning on your own requires a lot of discipline. You must hold yourself accountable and solve problems on your own.

If you need additional resources, check our blog on the best websites to practice coding.  

How Long Does It Take to Learn to Code and Become a Web Developer?

The time it takes to learn to code varies based on a student’s diligence. Coding bootcamps take as little as three months to as much as eight months. Coding is a lifelong journey, and it is important to have a passion for learning as new languages and popularities will change rapidly. A career in coding is not far off if you’re willing to put in the time.

I’ve Learned to Code, but I Have No Experience, So How Do I Become a Developer?

If you learned to code, you need to prove it. There are a variety of ways to showcase your knowledge and understanding of coding. Write blog posts about topics you’re interested in or projects you’ve completed. 

Build out your professional brand across LinkedIn, Twitter, GitHub, and your website. Prepare for your interviews, as there will be soft skill and technical questions. Network in person and online to score more interviews.

Is Freelancing Worth It When Learning How to Code?

The key to getting started in freelancing is to find a strong gig marketplace. From there, apply for the gig that fits your situation. Follow up, and try not to get discouraged. Job searches don’t yield results, and then one day, they do!

Coders can have lucrative careers from freelance gigs, but first, it’s important to know where to start. Try getting involved with open-source projects. These projects consist of publicly available source code that anyone can modify. The ability to work with other coders of varying experiences can help develop your skills.  

To be more competitive, pick up some soft skills and come prepared for interviews. As your freelance career progresses, find opportunities to practice clear communication, conflict resolution, and time management.

Start Your Web Development Education with Flatiron School

As you can see, learning how to become a web developer takes time, patience, resources, and the right mentality. If you need the right guidance for career development, Flatiron School can help. Apply to our program and see how you can accelerate your profession as a web developer. 

*Salaries cited current as of September 2023

Ilolo Izu: Medicine to Software Engineering

Ilolo Izu, an April 2022 graduate of Flatiron School’s Software Engineering program, began his career on the “right” path. But, shortly after enrolling in graduate school, had a change of heart. 

He shares his journey from pursuing medicine to becoming a Software Engineer below.

A Background In Medicine

If you Google Ilolo Izu, one of the first things you’ll find – right below his LinkedIn profile – is his Wikipedia page. The fact that it exists is a testament to his hard work and the fairly substantial list of achievements he’d already earned before coming to Flatiron School. He studied Allied Health as an undergrad at Texas A&M University, where he competed as a student-athlete in track and field, setting a world record time for the 4×400 meters relay indoor in March 2018. He graduated with a Bachelor of Science, a minor in business administration, and a long list of student activities and awards. But, a few semesters into his graduate studies to become a Physician Assistant, Ilolo realized something – he wasn’t on the right path. 

“Living in a small west Texas town and studying 16+ hours a day made me reconsider what was important to me. I chose medicine initially because I knew it was a stereotypical good career,” he explained, “something that would gain some respect. Rather than finding something I was passionate about, I chose something I knew would give me a relatively good life.” 

Deciding On Tech

Following this revelation, Ilolo stepped off the path that would have led him to a career in medicine. In the search for his next career, Ilolo’s thoughts returned to an early childhood interest – technology. 

“I always have been a techie—whether modding video games like Minecraft growing up or even keeping up with the latest OS updates for all my devices or even trying to code my own game when I was in 7th grade from YouTube tutorials.” 

But, what made him finally pull the trigger on the significant life change, was jealousy. 

“I heard in a podcast that if a particular lifestyle or job makes you jealous, it’s a good inclination that it’s something you should try to pursue. After hearing those words, I took a big leap of faith into dropping out of grad school and pursuing learning to code.”

Bootcamp Experience

Having set his sights on pursuing a tech career, Ilolo enrolled in Flatiron School’s full-time online Software Engineering Live program. He chose the program primarily based on the testimony of previous graduates.

“Flatiron School had a solid reputation. I first heard of Flatiron when my friend working as a Software Engineer at Microsoft told me she had some coworkers who went through the bootcamp. This was really important to me as I knew that it wasn’t only about the skills that mattered, but also about the professionalism of each individual.” 

Joined by a cohort of other learners, he committed to studying 8 hours a day, Monday through Friday. Ilolo says that, while he “loved the technical projects” during his program, his favorite part was making connections with other students. 

“As an online student, it was especially important to me to connect with my cohort and build a sense of community. We worked closely together on a daily basis and held each other accountable for producing our best work.”

Despite being an online student, the cohort got to connect in person towards the tail end of the course. 

“I was thrilled to meet everyone in person during our final days in NYC, and we still keep in touch to this day. The bonds I formed with my cohort members have been invaluable in my career journey, and I’m grateful to have had such a supportive and motivating group of people by my side during the program.”

Job Search

Ilolo graduated from Flatiron School in April 2022 with a plan: to land his first role “within 3 months of leaving the program.” To achieve his goal, he started the job search early. 

“I began applying to positions during phase 2 of the program to gain experience and learn how to handle failures quickly. The hardest part was the technical interviews. You always hear they are hard, but you never really understand it until you take one. Once I became strict with my schedule, consistency was the only thing that I needed for everything to fall into place.” 

Ultimately, that persistence paid off. Within weeks of graduating, Ilolo landed his first tech job as an Associate Software Engineer at RippleMatch. 

“I was able to [land a role] within the first month. Consistency and dedication to my schedule played a big role in my success during the job search process.”

Working In The Field

When we spoke to Ilolo in March 2023, he had only good things to say about his new career. 

“As a Full Stack Software Engineer, I have the unique opportunity to dive deep into both the frontend and backend processes, enabling me to develop a comprehensive understanding of how everything fits together. Overall, the tech industry’s fast-paced and dynamic nature keeps me excited and motivated to continue learning and growing as a professional.”

And, if you’re wondering whether he ever thinks about his previous career path, Ilolo says that at their foundation, both fields actually serve the same purpose.  

“Being a software engineer [allows] me to still help people through the projects I’m building, similarly to how I was helping people in medicine.”

Ilolo also has enjoyed the constant pursuit of knowledge inherent to the field. 

“I love that technology is constantly evolving, and there’s always something new to learn and improve upon. I really love to learn and challenge myself. [Software Engineering] allows me to be a life-long learner.”

Curious to see what Ilolo Izu is up to now? Visit his portfolio website or his YouTube channel

Reflecting On His Journey

Looking back on his student experience, Ilolo’s biggest takeaway was the importance of “enjoying the process” and making the most of one’s time in the program. 

“During my time at Flatiron School, I learned that the journey is just as important as the destination. I realized that immersing yourself in the process and enjoying every step can make you a better engineer, designer, data analyst, or whatever you aspire to be. Utilizing the resources provided by Flatiron, such as the career coach, technical coaches, and fellow cohort-mates is crucial in achieving success. I found that everyone in the program is striving for the same goal, so working together and supporting each other is the best way to make it happen.”

As for his advice to other students hoping to transition into tech, he stresses the importance of making connections. 

“Make the most out of LinkedIn. Posting regular blog articles, setting up coffee chats, sharing technical insights, and growing your network can all lead to great opportunities,” he said. “Strong communication skills are just as important as technical skills, and building connections can often lead to unexpected successes. At the end of the day, people hire people, to work with people!”

As for what’s next, Ilolo looks forward to continued growth.

“Learning to code has been a challenging but rewarding journey. It’s allowed me to combine my love for problem-solving with my tech-savvy skills to create something tangible. Looking back, I’m grateful for the experiences that led me to where I am today, and I’m excited for what the future holds as a developer.”

Ready For A Change, Just Like Ilolo Izu?

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

Not ready to apply? Try out our Free Software Engineering Prep. Or, review the Software Engineering Course Syllabus that will set you up for success and can help launch you into a new and fulfilling career.

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

Tristram Jones: Retail to Software Engineering

Tristram Jones, an October 2018 Software Engineering graduate from Flatiron School, began his career in sports retail before pivoting into tech for better opportunities. 

He shares his journey from Retail to Software Engineering below. 

Background

A Michigan native turned Utah transplant and self-professed mountain lover, Tristram’s early career reflected that of somebody who loves to be active. After earning a Bachelor’s in Exercise Science, he worked at a running specialty store for 5 years. It was there that he first started to dabble in development. 

“While I was there I used Wix to help maintain the shop’s website. I eventually left the store and took my Wix skills to work for a digital marketing company,” he said. “We built cheap websites using templates and were forbidden from using custom CSS. The work was stressful and the websites weren’t great but I got a small glimpse into web development.” 

After 2 years at the digital marketing company, Tristram decided to move on to bigger and better things. To do that though, he’d need to expand and polish his skill set. 

“I wanted to learn more, and my pay was terrible,” he explained. “So I quit and enrolled in Flatiron.”

Deciding On Flatiron School

Tristram was committed to switching into Software Engineering, drawn by several very valid factors. 

“The higher compensation, temporal flexibility, and the ability to build things were all reasons I was drawn to the field.”

As for his decision to go the bootcamp route to grow his Software Engineering skills, as opposed to a traditional university, Tristram cites the support of trusted friends. 

“I have two friends that had gone to coding bootcamps in 2013 and pushed me to do the same. I needed the confidence to commit and [they] helped me see that I could be a good Software Engineer.” 

Although Tristram applied to several bootcamp programs, he says that Flatiron School was ultimately his first choice. 

“Flatiron School’s curriculum aligned with what I wanted to learn. I knew my aptitudes and interests aligned more with front end development and I hoped to gain a good grasp of React, ” he explained. “Flatiron was my top choice and, gratefully, I was admitted.”

Bootcamp Experience

Tristram enrolled in Flatiron School’s full-time Fullstack Web Development* program in July 2018. Joined by a cohort of other learners, he committed to studying 8 hours a day, Monday through Friday, at the school’s flagship campus in New York City. The transition into full-time studies, Tristram recalled, was abrupt. 

“I didn’t have time to complete all the pre-work and only had a very small base of knowledge before starting,” he said. “That made the curriculum much harder to master at such a fast pace.”

Despite a bumpy beginning, by the end of the program Tristram had built upon his initial interest with a new suite of development skills – supported by classmates and instructors throughout the course’s 15 weeks.

“I loved the final few weeks when we built our capstone piece. I loved the freedom to build, learn, and work through problems. But, my favorite part of the program was the people,” he said. “It made all the difference to be surrounded by other individuals as motivated, bright, and desperate as I was to make such a drastic career pivot. The instructors, I often say, were more talented in the art of teaching than my professors in college.”

Job Search

Tristram graduated from Flatiron School in October 2018 and jumped straight into the job search, focusing primarily on making connections. 

“I felt like networking in my area was the best way to land a job,” he said. “I messaged software engineers on LinkedIn and asked to meet them for lunch. One engineer recommended I join a public Slack workspace for JavaScript developers.”

It was through that recommendation that Tristram ultimately landed his first professional Software Engineer position. 

“The workspace had channels for different topics including meetups and job postings. I went to those meetups and applied to all job postings. I ended up getting a job at a startup that posted on that channel. They didn’t want to deal with the hundreds of applications they would have gotten if they had posted on a big job board.”

Working In The Field

When we spoke with Tristram in July 2023, he was currently working as a Senior Software Engineer at Vizient. Almost 5 years out from graduation, he says that he is loving his new career. 

“Reality is even better than I had imagined, I love what I do. I build things all day with almost absolute autonomy and never work weekends. I work from home, have a really cool team, and feel like I make a difference in my field.”

His advice for other Flatiron School students hoping to pursue a similar path is to focus on acquiring knowledge and skills. 

“LEARN! Read the docs first, then look for answers. Be humble and question your assumptions. And when you’re looking for a job,” he added, “prove that you know more than is likely assumed.” 

Reflecting on where he began his journey, Tristram’s thoughts center on the importance of pushing yourself past what you think is possible. Much like summiting a mountain, the hardest part of the climb is often simply believing you can make it to the top.

“I’m most proud of the moments when I took on a project that seemed beyond my abilities and pushed through my doubts to find success. Those stories remind me to trust my resilience more than my doubts.”

Ready For A Change, Just Like Tristram Jones?

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

Not ready to apply? Try out our Free Software Engineering Prep. Or, review the Software Engineering Course Syllabus that will set you up for success and can help launch you into a new and fulfilling career.

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

*Fullstack Web Development program is no longer available. For prospective students interested in this course of study, visit the Software Engineering course page to learn more.

The Abstraction of Parameters

This article on the abstraction of parameters is part of the Content Collective series, featuring tips and expertise from Flatiron School staff members on topics ranging from program success to the job search. This series is a glimpse of the expertise you can access during your program at Flatiron School.

While programming, you may want to have the same thing happen more than once but at separate times in the code. You can copy and paste the code from the first instance, but then you have repeating code throughout your project.  

While a practical solution, doing this adds many lines of code for you or others to parse through to find a bug should one occur. 

To help minimize code size, stick to DRY (Don’t Repeat Yourself) code.  Using functions with parameters and arguments allow you to reuse that same code over and over without adding all the lines of code each time.

What is a parameter?

A parameter is kind of like a variable that belongs to a specific function. Just like a declared function waits to be invoked or used somewhere in the code, the parameter waits to be given a value. It just sits there in the function until it is utilized and given a value.  

When declaring a function you must also declare the parameter that is attached to it.  To declare the parameter all you need to do is give it a name in the parentheses of the function you have declared. The syntax looks something like this in JavaScript:

function myExample(myParameter){

return myParameter

}

When giving a parameter a name you can name it anything you want to (as long as it doesn’t repeat the name of another variable or function in the same scope). However, it is helpful to others reading your code (and as a reminder to yourself) if you give the parameter a name that represents the value it is given. 

For instance, if you have a function that converts Fahrenheit to Celsius, then the value you want the function to change will always be the Fahrenheit temperature. So, calling the parameter “Fahrenheit” would be ideal.

function convertToCelcius(fahrenheit){

return (fahrenheit – 32) * 5 / 9

}

In this case, the parameter called Fahrenheit will always represent the temperature to be converted to Celcius when the convertToCelcius function is invoked and given an argument.

What is an argument?

Functions exist in two states. 

The first state is the declaration, or architecture of code that will happen when the function is used. 

The second state is the invocation of the function. This is the signal that the code in the declaration of the function should go through its coded steps. The parameter exists in the declaration version of the function and the argument exists in the invocation of the function. The argument is the value that is given to the function and, thus, assigned to the parameter of the function. 

In the previous example, the argument would be provided for that function similarly to this:

convertToCelcius(78)

This signifies to the code that the steps in the previous function example should go through its steps with the parameter (in this case called Fahrenheit) equal to 78. So, when you invoke the function like this, the code for that one time the function performs its steps is essentially the same as this: 

return (78 – 32) * 5 / 9

Notice that the parameter was replaced by the argument that was given to the invocation of the function. That’s because the parameter is essentially a stand-in for the argument that is passed in. This is what makes the function dynamic and reusable with different values.  

How Are Parameters and Arguments Linked?

The parameter of a function is like a container that can hold different things in it. Let’s say you have a favorite glass that you like to drink out of for every meal. On that glass, there is a label of ‘drink’. For breakfast, you have eggs and toast and your ‘drink’ glass you fill with orange juice. After breakfast, the ‘drink’ glass is empty so you can use it again for lunch (after rinsing of course). For lunch, you have a ham sandwich and fill your ‘drink’ glass with milk. Afterward, it is empty again and can be used for dinner and so on.

For each meal, the glass stays the same and always has the label ‘drink’. What changes is what the glass holds. If the meals represented a function, ‘drink’ would be a parameter in that function. Whatever it is filled with represents the argument for each meal (or the invocation of the meal function).

In Conclusion

Using parameters and arguments in your function allows you to reuse the code in the function for different purposes. This will keep your code sleek and minimize the lines you must trace back to find bugs in the code. It also shows employers that you can develop dynamic code for use in multiple places in an application.

About Joe Milius

Joe Miius is a Software Engineering Technical Coach at Flatiron School. He has previous teaching experience and has been helping Flatiron School students understand coding concepts for 2 years. He loves problem-solving and takes on each new problem or question a student presents with vigor and curiosity.

Jon Brundage Jr.: TV Production to Software Engineering

Jon Brundage Jr., a June 2021 Software Engineering graduate from Flatiron School, rethought his initial career choice during the COVID pandemic.

He shares his journey from TV Production to Software Engineering below.

Pre-Pandemic Career Path

Jon Brundage Jr. began his career with a degree in Media Studies and spent more than a decade in the field. But, like many others in the media, the 2020 pandemic threw a wrench in his plans. 

“I came from a twelve-year career in freelance television production working as a director of photography and camera operator,” Jon said when we interviewed him earlier this year. “When the pandemic hit, I had a lot of downtime to reassess what I was contributing to the world.”

While the world stood still, Jon used his time to take a tally of his current occupation. Through that contemplation, he came to the conclusion that it was time to pivot paths.

“[TV] Production is fun, but it is very physically demanding and requires a lot of time on the road. My wife was also pregnant with our son, and I knew I did not want to be a parent who was always away,” he explained. “So, between wanting to be more meaningful and intentional with my career and wanting more balance between life and work, I decided to make a change.”

Pivoting To Tech

Having decided to make a switch, Jon quickly settled on Software Engineering, citing the field’s versatility and demand. 

“I knew that software engineering would open a lot of doors to explore my next role,” he said.
“There are so many different types of companies and organizations that [need Software Engineers] and I was very attracted to the idea that my skills could be transferable to a wide swath of industries and employers.”

But, as a husband and soon-to-be father, Jon didn’t want to take the traditional 4-year degree route. To get to his goals faster, he started looking into bootcamps. 

“I asked some friends and family who worked in tech where I should go. Flatiron School [was mentioned by] my best friend who has been a software engineer for years, as well as my brother who is an accomplished graphic designer,” he said. “After some initial research, I knew it was the right choice for me to have a solid foundation to start a new career.”

Bootcamp Experience

Jon enrolled in Flatiron School’s Software Engineering Live program in March 2021, an accelerated, intensive course. Students in the program study full-time – 8 hours a day, Monday to Friday – for 15 weeks. Learning new Software Engineering skills at the break-neck pace, Jon said, was difficult to adjust to at first.  

“The most challenging part of the program was the gear switching,” he explained. “You spend two weeks learning something new, practice and test on it for another week, and then start all over. By the third phase I was used to it, but it’s overwhelming for the first few weeks.” 

What pulled Jon through the beginning difficulties of the course was the phase one instructor that helped him adapt to the material. 

“My favorite part of the program was my phase one instructor, who completely laid the foundation for my success in the program,” he said. “[He] explained this new world of Javascript in a way that was very accessible and had so much patience for all of my questions. He took this very big, intimidating process and gave me the tools to feel empowered from day one and I will be forever grateful for all his tutorage.”

Job Search

Jon graduated from Flatiron School in June 2021 and jumped straight into the job search, focusing primarily on making connections.  

“I put a lot of energy into networking. I asked friends and friends of friends if they knew any Software Engineers and if they’d have time to chat over coffee or Zoom,” he recalled. “I’ve always thought face-to-face networking is the biggest bang for your buck in job hunting, to this day.”

His original perception of Software Engineering being an in-demand skillset ultimately turned out to be true when a recruiter reached out to him with an opportunity. 

“I was extremely lucky in my job hunt. My current company actually found me and, after a few interviews, they brought me on as a part-time contractor. After a few months, I became full-time staff.”

Working In The Field

When we spoke with Jon in June 2023, he’d been working as a Creative Technologist at Schema Design for just under two years. His experience working in the field, he said, has been overwhelmingly positive. 

“I am thoroughly enjoying my new career. I work for a design firm and my role is fairly client-facing, which has a good amount of overlap of soft skills from my previous career,” he said. “My projects and stacks change every few weeks or months, so I’ve gotten my hands on a ton of technologies in the last year and a half. I’m learning new skills every day and constantly asking myself ‘How can I do this better?’.”

His position has also allowed him to expand his development skillset – building on the foundation he developed while at Flatiron School. 

“My company specializes in data visualizations so from the start of my job, I’ve learned some really cool frameworks and libraries. I’ve built sites in React, Vue, and Svelte, and some pretty cool interactive experiences with d3 and Three.js. [I rebuilt] the company website from scratch a few months back in NUXT3, which I find to be an amazing framework. It offers universal rendering so you get the flexibility of single-page applications, while also the performance and SEO of a static site. You can check it out at SchemaDesign.com.”

Reflecting On His Journey

Looking back on where he began three years ago, Jon emphasizes the importance of believing that you can actually make a change. 

“My biggest takeaway from Flatiron School was that I am capable of learning new tricks. I’d been in my former career for over a decade and worried that I wouldn’t be able to adapt to a new setting,” he recalled. “It took a while to believe in myself and get over impostor syndrome, but eventually, you do eventually feel like a real Software Engineer.”

His advice for current and future Software Engineering students is to lean into the uncomfortable nature of change. 

“Learn to be comfortable with not knowing. So much of software engineering is getting a problem or task you haven’t solved before and figuring out how to tackle it. Be confident in your ability to learn new skills, and know that this feeling of not knowing exactly what you’re doing means you’re on the right track. It isn’t forever and you will see tangible growth in even a few months from where you’re at right now.”

Ready For A Change, Just Like Jon Brundage Jr.?

Apply Now to join other career changers like Jon Brundage Jr. in a program that sets you apart from the competition. 

Not ready to apply? Try out our Free Software Engineering Prep. Or, review the Software Engineering Course Syllabus that will set you up for success and can help launch you into a new and fulfilling career.Read more stories about successful career changes on the Flatiron School blog.