Companies

${ company.text }

Be the first to rate this company   Not rated   ${ company.score } stars     ${ company.industry}     ${ company.headquarters}

Articles

${ getArticleTitle(article) }

Topics

${ tag.display_name }

Community

${ getCommunityPostText(community_post) }

Contributors

${ contributor.full_name }

${ contributor.short_bio }

Jobs For Employers

Join InHerSight's growing community of professional women and get matched to great jobs and more!

Sign up now

Already have an account? Log in ›

  1. Blog
  2. Career Development

What Does a Software Engineer Do?

"It’s easy to write code, but creating something that others find value in is even better."

Woman software engineer with Python book
Photo courtesy of Christina @ wocintechchat.com

This article is part of InHerSight's What Do You Do? series. This series explores the working lives of women by job title. Readers can get a glimpse of what it's like to work as an account executive, software developer, restaurant manager, and more.

What does a software engineer do?

Software engineers are the brilliant minds behind the programs we use every day—social media, smart phones, apps, websites, and so much more. Ever gone on a Tinder date or asked Siri to switch on your lights? Thank a software engineer. (Or don’t, depending on how you feel about Tinder.) 

People in this highly sought-after career do the behind-the-scenes work to make our digital world function, and they draw on their knowledge of engineering, computer science, and math to problem-solve when it doesn’t. They also do a fair amount of Googling, as you’ll discover below—continuous self-education is a hallmark of this job.

Titles and specific functions of software engineers vary, but if you were to become one, you might expect to modify or build software applications; collaborate with a team of software developers, designers, coders, and programmers; and design full software systems, among other possibilities. 

Hear from four women what being a software engineer is like every day—and how they got where they are. Take note of the career changers here. No computer science degree? No problem.


Linda Vu

Software Engineer at Carewell with two years of experience

What does a software engineer do?

Broadly speaking, a software engineer’s job is to solve problems using a pragmatic approach and collaboration in order to implement code solutions. The specifics of solving problems look different depending on the priorities of your company, whether you’re on a team or working as a consultant, the ecosystem of technologies at your company, your personal competencies, etc. This list could really go on for pages and pages.

What’s your professional background, and why did you pursue your current career?

During college, I thought that I wanted to pursue an academic career. When I realized that modern social science research was boring and detached from tangible solutions, I decided that I would finish my B.A., but forgo grad school. I wanted to gain real-world work experience before making any more long-term career decisions. This brought me to a hair salon company in Chapel Hill, North Carolina, where I worked for three-plus years wearing a million different hats. I conquered many challenges in my time there that I didn’t know I was capable of. To name a few: I learned how to be charming under stress, led processes around training for our customer service standards, negotiated conflict resolutions, learned how to collaborate with many kinds of people, created marketing graphics and content, and implemented a redesign of our brand website. I had a lot of fun with the website and started teaching myself more coding principles from there. The more I looked into it, the more I realized that tech could benefit from having more workers like myself who are well-rounded in working with others. I felt inspired to take the plunge further from there, did a coding bootcamp, and then got my start at a digital consulting agency in 2019.

How do you help the company?

Outside of my daily duties on our engineering team, I really enjoy talking about Carewell to my friends and network. This tendency probably comes from my time doing marketing in my life before tech. The empathetic mission that Bianca Padilla and Jonathan Magolnick have established here to advocate for caregivers makes talking about us easy for me. We have such a killer backstory! Most developers cannot say that they work for a young woman as their founder and CEO and that this same woman came up with the business concept and built the eCommerce platform we’re using. Furthermore, as someone who has worked in customer service, I love telling people about the cool things our customer care team is doing under Brianna Maguire’s leadership. The thoughtful relationships that our CX team builds with customers is way beyond what you’d expect from a typical call center, and rightfully so since our customers are not average customers. They are caregivers who have a lot on their shoulders.

What does a typical workday look like?

A typical day starts with attending standup to get in-sync with the rest of our engineering team, led by our VP of Engineering Josh Miller, and our tech-lead E Thompson. After that, I examine whatever ticket I have assigned to me and strategize around it. Do I need to get more context about the user from our CX team? Do I need to sync up with Josh or E to gain access or collaborate for anything pertaining to the ticket? If no additional context is necessary, then I focus on writing the code, which probably involves a lot of Googling and research, tinkering around with some logic, seeing how my changes to the code affect whatever I’m testing, Slacking a coworker to talk through some logic, etc. Once I have a solution ready, I’ll open up a pull request and get my team members to give feedback on my code before we deploy anything. (Editor's note: In non-tech terms, she asks someone to double check her work before it’s finalized.) 

Throughout the day, I sometimes also juggle other duties, such as being a sounding board for my teammates on their code, calculating our engineering metrics, conducting hiring interviews, shamelessly asking my friends to engage with my recruiting posts for us on LinkedIn, etc.

What are the three most important parts of your job?

  • Prioritization
  • Time management
  • Communication

What’s the hardest part of your job?

Recently I’ve been juggling an additional hat to help our engineering team with recruiting. There’s a reason that being a recruiter is a full-time job (because it is). It’s been challenging to strike that balance between outreach and my coding tasks. I enjoy this hustle and bustle, though, and finding that balance is half the fun of working at a startup!

What’s the best part of your job?

There is so much I could say to answer this question! Speaking generally, the best part of working in software is the fact that it’s a career where you get rewarded for the pursuit of knowledge and personal growth. On a more specific level, the best part of my job at Carewell is getting the privilege to work for a dream team to support an organization I actually believe in. I am extremely grateful to be led by Josh and E. They are both at the top of their game in expertise but still possess empathy and a knack for mentorship that is rare in the tech industry. Knowing that all of our efforts help support the hard work of our customer care team is the motivational icing on top for me.

What’s one piece of advice you could give to someone interested in being a software engineer?

Coding is not some mystical talent that people are born with. Coding for a living is something that I truly think most people can accomplish, given the right education and attitude. Learning any new skill in coding is like its own exercise, and it requires your continued practice in order to reach a level that you could then leverage for a professional career.

Like learning anything new, it takes continued dedication over time. I used to eat sandwiches every day in college, and now I can make the perfect marinated egg for at-home Japanese ramen. This did not happen overnight—learning how to code is not that different. Learning how to use a code editor, how to Google whatever problem you’re up against, implementing solutions based on other patterns you found online—these things can all be taught.

Having the right attitude to learn new things is much harder to teach. I think the right attitude is to be humble and curious—this sector and its innovations are changing every day, so in order to keep up, you have to embrace the fact that entering this field is to enter a journey as a student for the rest of your working life. Humbleness is key. I’ve seen many a bruised ego get in the way of people’s learning and cause them to learn new things slower, ultimately holding them back and making collaboration on their teams difficult. Embracing that you can learn from anything and anyone is key. If all of this excites you, then I think you should dig into this career more.


Danning Ge 

Senior Swift Engineer at Frame.io with five years of experience (and her cat, Percy)

What does a software engineer do? 

A software engineer builds products and features by using programming languages. This process usually involves various team members including designers and product managers. It is the job of the software engineer to translate the product requirements into implementation details. 

What’s your professional background, and why did you pursue engineering? 

Programming courses were a part of my college degree requirement. My introduction to programming was actually very confusing and challenging. I was sure then that I would never pursue a career in software engineering but that changed in my first job after college at a startup where I was interfacing between engineers and sales. I realized I wanted to help build the product and sought out an opportunity on the newly formed iOS team. It helped that I had been exposed to programming in college, and working directly with software engineers helped frame those learnings in a practical manner. 

How do you help the company? 

I help build our suite of Swift products including the iOS and macOS apps.

What does a typical workday look like? 

After the morning standup where I check in with what I did the day before, I assign myself tasks from the task management board. Sometimes a top priority bug will take precedence over what is planned. We practice agile development so there will also be meetings including sprint planning and retros.

(Editor's note: A "sprint" is a tech term for the amount of work scheduled to be completed during a certain time period, usually about two weeks. "Retros" or "retrospectives" are meetings held after a product ships to discuss what happened during the product development and release process and how to improve the process in the future.)

What are the three most important parts of your job? 

  • Time management
  • Understanding best practices
  • Communicating with stakeholders 

What’s the hardest part of your job? 

Holding myself accountable for my own growth has been the hardest part of my career. Because there's always something new to learn, it can be hard to feel I'm "good" at software engineering. Some days are spent on building complex features while others are spent focusing on smaller areas of the app, including fixing bugs. It's very easy to slip into the mindset where my sense of accomplishment is directly correlated with the impact of my code. Documenting my coding experiences—by writing blog posts on technical challenges I've solved—and focusing on developing adjacent skills of engineering, including communicating trade-offs to stakeholders, have helped me improve as an engineer. 

What’s the best part of your job? 

Seeing something I built in the hands of users (myself included) makes me very happy.

What’s one piece of advice you could give to someone interested in being an engineer? 

Take the time to really learn the fundamentals and best practices of software engineering. While new frameworks and tools come and go, the principles of writing code that is scalable and testable remain constant.


Steph Lo

Swift engineer at Frame.io with five years of experience

What does a software engineer do?

A software engineer can do a wide range of things depending on their focus. This can go from creating applications to building and managing systems that the application needs for the business. We’ll work alongside business to understand their requirements to plan and develop the tools and applications. 

What’s your professional background, and why did you pursue engineering?

I started out my career as a headhunter (ironically for the tech space). After asking for the nth time to a candidate, “Where do you see yourself in 5 years?” I started asking that to myself! As my old boss said, “Headhunting never sleeps,” and while I was finding success in headhunting, I was definitely feeling the burnout. In college I nearly minored in computer science and was actually a term away from getting it, but I was spooked out of it by the idea of “engineering is hard, and women aren’t as great at it.” I’ve always loved problem-solving and doing puzzles (and amid this pandemic, I definitely am hoarding too many puzzles…), and there’s definitely a euphoria when you get something right. I eventually quit my headhunting job to enroll at a bootcamp. Needless to say, my puzzle-loving nature proved to be true. 

Read more: What to Do if You Want to Change Careers, But Don’t Know How

How do you help the company?

I help build out mobile applications at my current company. I’ll work with my team and cross-functional teams to better determine the requirements and timelines of a given project so that we’re best prepared when writing the code.

What does a typical workday look like?

In the mornings the team will meet at a standup, i.e. have a quick chat about what we were working on the previous and current day as well as bringing up anything that might be blocking our work. Considering we’re all working on pieces of the same codebase, it’s really important that we keep each other updated on what we’re working on. After that I’ll go over my tasks to do for the day and work on tickets (i.e. smaller chunks of work) that we have listed for the two-week period. 

What are the three most important parts of your job?

  • Prioritization: How and what should we tackle first? Some work might be isolated while parts of it might require more time and have a larger impact. If there’s coordination with another team, we’ll want to make best use of everyone’s time so that we can work in an efficient manner.
  • Understanding project requirements: There is a slew of things we need to know before we even start trying to map out the work. Having understandings of how to handle various scenarios before jumping in the code is imperative so that we don’t have to make changes later (or even worse, dump out everything and start from scratch).
  • Writing tested and robust code: Writing clear and well-tested code is important! We wouldn’t want to deploy a product that constantly crashes and behaves irregularly!

What’s the hardest part of your job?

Prioritization of work. Currently at my company, there’s a lot of new work that we need to do while maintaining the current code we have in place. Codebases are ever-evolving and while something might work at one point in time, it doesn’t mean it’s applicable later. Balancing time to update legacy work while tackling on new work is a very fine line, but if you don’t take the time to clean up previous work, you’ll just end up with spaghetti code, and nobody likes that.

What’s the best part of your job?

Creating a product that users love and actually use! It’s amazing to cross the finish line and see the months of work come to fruition. It’s easy to write code, but creating something that others find value in is even better.

What’s one piece of advice you could give to someone interested in being an engineer?

To the women, I noted before I was intimidated by the idea that women can’t be great at engineering. The majority of my current team is made up of women, and I’ve worked with other women on other teams—they all have been fantastic engineers. Also, while helpful, a degree in computer science is not needed! There are plenty of free resources out there to learn from, and with enough willpower and discipline, you can create a portfolio of your understanding and knowledge to show off to employers.


Miki Rezentes 

Sr. Backend Engineer at Frame.io with eight years of experience

What does a software engineer do? 

A software engineer solves problems. In order to solve a problem, we have to understand the problem and implement a solution. Both parts of the process introduce new and different challenges. Troubleshooting bugs, defining technical specifications, writing code, testing code, and deploying applications are definitely a part of the job, but we also have to be able to work with others. Coordinating the creation and delivery of software products requires collaborating with other teams on both the design and the delivery of the product.

Early in a software engineer’s career, the work is focused on completing technical tasks like fixing bugs or writing a specific piece of code. As you mature, the ability to work with others becomes increasingly important. Over a career, a software engineer grows in both technical and personal skills.

Read more: 6 Soft Skills That Stand Out in Today's Job Market

What’s your professional background, and why did you pursue engineering?

In 6th, 7th and 8th grade, I had a science teacher named Mr. Stoner. Every other Friday we had a programming class where I learned to write small programs in BASIC. In high school, I gravitated toward math and science. When I went to college it seemed natural to major in math and with a minor in computer science. While I was completing my associate's degree, I got married and had my first two children. I didn’t complete my four-year degree. Instead, I had three more children and focused on raising my little brood. I was a homeschool mom to five children for 16 years.

The time came when our family needed to do something to make ends meet. We decided I would go back to school to learn programming. I completed my degree and started my first software development job on my 38th birthday.
I’m a teacher at heart, and I love problem solving. Engineering lets me do both while making a good living.

How do you help the company?

I help the company by solving problems. When the company is trying to decide what to build, I help by providing technical perspective. When the company is building a solution, I help by either building it or supporting those who are. Communication is so vital to software development. My years of teaching experience are very valuable when working with other engineers or with non-technical coworkers. Being able to effectively communicate really helps the company deliver quality software.

What does a typical workday look like?

Even before COVID, I was a remote employee. My day starts anywhere between 7 and 9:30 a.m. and ends between 5 and 6:30 p.m. The number of meetings on my calendar varies day to day. Normally, I meet with my team in the morning for 15 minutes to get status updates. I may have other meetings for collaboration during the day. When I’m not in meetings, I’m solving technical problems like fixing bugs, writing code for new product features, designing new features, or writing documentation. 

What are the three most important parts of your job?

The three most important parts of my job are delivering technical solutions, collaborating with team members, and maintaining current systems. 

What’s the hardest part of your job?

The hardest part of my job is people. Technical problems are solved with data and iterating on possible solutions. Working with people requires much more care.

What’s the best part of your job?

The best part of my job is people. Delivering technical solutions is great, but having a team to celebrate with or a team member that you can help brings me much greater satisfaction. 

What’s one piece of advice you could give to someone interested in being an engineer?

In my experience, you have to have grit to be successful. Software engineering has lots of possible final destinations. You can start as a developer, then transition to management, design, or product management. No matter where your career takes you, you’ll need grit to make it there. Getting your first job can be challenging; prepare yourself accordingly. If being successful in software was easy, everyone would do it. Stay gritty, work hard, keep learning, and most importantly, make someone else tell you “no.”

Companies included in this article are InHerSight partners. Our partners join us in being dedicated to amplifying the voices and experiences of women at work, but we maintain complete and total editorial oversight. 

About our expert${ getPlural(experts) }

About our author${ getPlural(authors) }

Share this article

Don't Miss Out

Create a free account to get unlimited access to our articles and to join millions of women growing with the InHerSight community

Looks like you already have an account!
Click here to login ›

Invalid email. Please try again!

Sign up with a social account or...

If you already have an account, click here to log in. By signing up, you agree to InHerSight's Terms and Privacy Policy

Success!

You now have access to all of our awesome content

You’ve Been Matched!

On InHerSight, we connect women to jobs at companies where they can achieve their goals. View your dashboard to see your daily job matches.