Home > Careers > Day in the Life: Software Engineer

Day in the Life: Software Engineer

software engineers at work

Forage puts students first. Our blog articles are written independently by our editorial team. They have not been paid for or sponsored by our partners. See our full editorial guidelines.

Software engineers are the backbone of websites and applications we use every day, but what’s going on behind the curtain? What does a day in the life of a software engineer actually look like?

We asked different types of software engineers at various levels and types of companies what a day in their work life is like — from the tasks they work on to the people they talk to, the tools they use, and what they think makes them successful. 

Find your career fit

Discover if this is the right career path for you with a free job simulation.

Day in the Life of a Software Engineer: Engineer Manager

Joe Ferrer is an engineering manager at Forage, an ed-tech startup. His work combines conventional software engineering work, like coding, and some management responsibilities that come with a more senior role. 

What Tasks Do You Work on Every Day?

Ferrer’s primary goals are to help improve the company’s core product, optimize the site’s speed, and increase site monitoring.

Some of his regular tasks include:

  • Reviewing code
  • Writing code
  • Triaging and fleshing out task tickets with his team
  • Exploring engineering improvements for the team and the product
  • Collaborating cross-functionally with the product team

Who Do You Work With?

Joe works closely with software engineers, quality assurance engineers (QAs), product managers, directors, VPs, designers, and data analysts. He meets with each group at least once a week, with meeting topics depending on how he’s collaborating. For example, meetings with software engineers might be standups to discuss status updates, while meetings with VPs and cross-functional team members might be more strategy-oriented.

Tools and Skills

Because there are many types of software engineers, the tools that each engineer uses and the skills they need depend on the part of the software they work on. Ferrer works in the back-end, data, and infrastructure side of software. The tools and skills for this work include:

  • Programming languages: TypeScript, Bash, SQL, NoSQL, and a bit of Python
  • Libraries and frameworks: React, Meteor, NextJs, and Serverless
  • Networking: Cloudflare and AWS services
  • Integrated development environments (IDE): VSCode and Vim
  • Code management and pipeline automation: Git and GitHub
  • Workflow management: Jira
  • Working with designers: Figma
  • Communicating with team members: Slack, Loom, Email, Zoom, Google Meets
Building with Cisco logo on the side

Cisco Introduction to Software Engineering

Build the technical skills you need to launch a career as a software engineer.

Avg. Time: 4.5-5 hours

Skills you’ll build: React, Git, networking design thinking

Ferrer has to be exceptionally organized and strategy-focused to manage all of these tools and skills while delivering on goals and leading a team. Ferrer sets a daily, weekly, monthly, and quarterly vision for success and knows exactly what success looks like for himself and the team — including quantifiable metrics.

>>MORE: Find success in the workplace by setting SMART goals.

As a manager with more experience than a junior engineer, Ferrer truly owns responsibility for that success with a focus on continuously improving and iterating. He often reviews how he and the team met (or didn’t meet) goals, seeks feedback, and coaches his teammates. 

Day in the Life of a Software Engineer: Data Engineer

Mike LaGrasso is a data engineer at Saatva, a direct to consumer luxury mattress and bedding brand. 

What Tasks Do You Work on Every Day?

As a data engineer, LaGrasso’s job is to support all areas of the business by acquiring data, maintaining and storing it, and making data accessible to the team. LeGrasso’s typical day includes three main types of tasks:

  • Adding new features: Before anyone else in the business can use data, LaGrasso might have to build a new feature so they can access it. To do this, his work “can range from pulling in new data sources, like ad performance on YouTube, or building a dataset to track sales of our newest products,” LaGrasso says.
  • Bug fixes: Addressing mistakes in code or business logic.
  • Maintenance: Updating software to new versions of APIs and libraries.

Who Do You Work With?

To complete these tasks, he works alongside analysts across marketing and operations teams and software engineers.

When he works with analysts, his goal is to make data accessible. He consolidates numerous data sources into a single data warehouse with raw data and curated datasets to do this. 

“The analysts have a different challenge for us each week, from tracking how effective our newest ad campaign has been at bringing in new sales, monitoring how well our supply chain is holding up to the demand for new products, identifying the impact of opening a new Saatva viewing room on customers within 15 minutes of it, and beyond,” LaGrasso says. “Each of these goals requires us to identify what existing data we can leverage to answer these questions and what new information we’ll need to pull in.”

>>MORE: What Is Data Engineering?

When working with other engineers, he aims to stay on the same page as them. As the engineers release new features, they collaborate to capture any operational changes in their data warehouse.

LaGrasso spends most of his time doing independent work rather than in meetings; however, there are a few recurring meetings he attends:

  • Daily 15-minute standup to discuss what everyone’s working on
  • Weekly planning on Monday to discuss the tasks to work on that week
  • Weekly check-in with analysts to recap what they’ve worked on and what to work on next
  • Bi-weekly look back to self-assess how everyone performed and what process improvements can be made

What Tools and Skills Do You Use?

Unsurprisingly, the tools LaGrasso uses are data-focused:

  • Programming languages and libraries: Most of the jobs LeGrasso uses to extract data are written in Python, “using a library called Pandas to manage, manipulate, and format the data,” he says. He also uses some SQL to pull from various database tables. 
  • Source-code editor: He uses VS code to write his Python scripts.
  • Data exploration: He uses PostMan, an API platform, to test API endpoints, and DBeaver, a database administration tool, to explore databases. 

Crush the coding test

Prep for your next assessment with our free Girls Who Code Technical Interview Prep course.

Soft skills come in handy, too, especially when LeGrasso is working closely with his team and stakeholders. 

>>MORE: Learn what a “stakeholder” is and other corporate jargon you need to know.

“My team has three guiding principles that help lead to our success: look for opportunities to close tickets earlier, pair program as much as possible (even with external stakeholders), and ask better questions,” he says. “These principles lead us to better communicate with our team and our stakeholders, allow us to identify any complications early, and ultimately deliver results much faster.”

Day in the Life of a Software Engineer: Lead Software Engineer

Brad Steiner is a lead software engineer for Dandy Technology, a robotics startup in Boston. The startup’s product is a robot that sprays weeds on your lawn. Steiner’s team works on creating a camera that recognizes weeds from grass and tells the robot only to spray on the weeds.

What Tasks Do You Work on Every Day?

While working at a startup, Steiner’s day-to-day can vary depending on what kind of project he’s working on and how advanced the product is. For example, when he first started, he had to write the initial prototype software for the robot. Then, he spent a lot of time improving the robot and building new features. Now, he optimizes the robot so the team can scale the product.

Regardless of what part of the product he’s working on, as a lead engineer, he spends time working with his team and ensuring they’re working efficiently and strategically. Some of his everyday tasks include:

  • Reviewing his team’s code
  • Communicating with team members about project progress and updates
  • Strategizing and prioritizing upcoming work for the team

“Some days I am debugging a difficult problem and I don’t write a single line of code,” Steiner says. “Other days I am working on a new feature where much of the day is spent writing new logic and integrating components.”  

>>MORE: From junior engineer to lead engineer to the chief technical officer, learn what the software engineer career path is like.

Who Do You Work With?

Steiner works within a small company with four other full-time engineers: a lead engineer, two software engineers, and a QA engineer. 

The team usually meets once a day, when everyone shares status updates. Sometimes, Steiner will join external calls with potential customers to hear their needs or talk to potential vendors to vet their product.

What Tools and Skills Do You Use?

“Our code is mainly written in C++ and Python and developed for a Linux operating system,” Steiner says. “We use the Robot Operating System (ROS) as a framework for developing our code. ROS is an open-source project that provides messaging and a lot of packages for commonly implemented robot software components. For example, one of the packages can create a local map around the robot based on what obstacles it senses. For someone interested in robotics, I’d recommend learning C++, Python, Linux, and ROS as these are commonly used throughout the robotics industry.”

Steiner’s success comes from maintaining good software development practices and using the right tools, like using source control to track code changes, doing code reviews, adhering to code standards, and documenting code. 

>>MORE: Practice code analysis and reliability with Electronic Arts’ Software Engineering Virtual Experience Program.

Day in the Life of a Software Engineer: Senior Back-End Developer

Svyatoslav Artyukhov is a senior back-end developer at FunCorp, an international company that develops entertainment tech products and services. Artyukhov is currently working on Yepp, an app that rewards users for reading, creating, and sharing memes.

What Tasks Do You Work on Every Day?

While working on Yepp, Artyukhov has developed many different services, including text-on-picture recognition, face swap, and a marketplace for users to buy products in-app. 

To make these services possible, he works on a few tasks daily:

  • Writing functionality for new services
  • Maintaining the functionality of existing services
  • Writing technical documentation so every developer understands how the project is structured
  • Writing technical specifications for developers to know what they’re working on
  • Designing the inter-service interaction of each app’s multiple back-end services

>>MORE: Learn more about what a back-end developer does and how to become one.

Who Do You Work With?

Artyukhov works closely with other back-end developers, mobile developers, and a QA team. He also works with the chief product officer and other company leaders outside the software engineering team. 

He has a conventional daily standup to discuss team progress and status and uses Jira to manage all the tasks the team is working on. In addition, as a senior developer responsible for more cross-functional team collaboration, he regularly meets with product managers and owners to discuss weekly goals and tasks. 

What Tools and Skills Do You Use?

Artyukhov uses various standard back-end software engineering tools to get his work done, including:

  • Visual studio code for Python and JavaScript development
  • Intellij Idea for Java and Kotlin development
  • Compass MongoDB and PGAdmin for administration and development of Mongo DB and Postgres, respectively
The lyft logo

Lyft Back-End Engineering

Jumpstart your career in back-end development with a free four-task job simulation.

Avg. Time: 4-5 hours

Skills you’ll build: Software architecture, Python, refactoring, unit testing

The Bottom Line

Even though we spoke to four very different engineers, a day in the life of a software engineer does have some similarities. There are usually daily standups to run through tasks, code writing, testing, and revising, and more opportunities to set strategy as you move up the career leader. The most significant differences in tasks, skills, and tools depend on the type of software engineer, where you are in your career path, and even what kind of company you work for. 

So, what is a day in the life of a software engineer really like overall? 

  • Everyday tasks: Software engineers are known for their programming skills for good reason! Much of the job requires not just writing code, but reviewing it, testing it, and revising it.
  • Skills: The skills and tools you use vary greatly depending on what type of software engineering you do. However, most software engineers use one or two main programming languages and tools to test and review code.
  • Meetings: Engineering itself usually requires little meeting time, but engineers frequently meet to know who’s working on what.
  • Career path: As you move up the career ladder, your everyday work is focused less on independent work and more on strategy and prioritization.

Experience a day in the life as a software engineer and practice skills like programming, Git, and React with JPMorgan’s Software Engineering Virtual Experience Program

Image credit: Canva

Zoe Kaplan is a Senior Writer at Forage. Prior to joining Forage, she wrote and edited career and workplace content for Fairygodboss, the largest career community for women.