I’ve been coding full time for approximately three years. Prior to working as a developer, I lived a completely different life, doing jobs that I didn’t care about just to pay the bills. Before going back to school in 2010 for computer science, I worked as an administrative assistant. At that time, my roommate and my boyfriend, both of whom were getting degrees in electrical engineering, were building an app together. I helped them with some of the design, and knew I was as intelligent as they were, and I thought “If they could do it, so could I.” So I took an entry-level programming class which I went to during my lunch break from work, and I got an A-. From there, I decided to go back to school to get a degree in computer science.

Currently I am an associate software engineer on the core services team at MuleSoft, a San Francisco-based enterprise software company, where I’ve been for just over six months. The work is interesting and I’m learning a lot. The projects I work on have given me the ability to work with a variety of libraries and frameworks and in several code bases, and I work with a great team who are collaborative and supportive.

Changing careers or just completely jumping into a new field isn’t always easy, particularly with engineering and programming, but there are a few things I’ve learned that made it doable for me. If you’re willing to build up your skills and put in a lot of work, that change is completely possible.

How to enter the world of programming

1. Take an intro course on programming. I spent some time trying to learn to program on my own, but there were some important basics that I wasn’t getting by going the solo route. Often self-service online tutorials skip over some of the fundamentals; I’ve interviewed prospects who were self-taught and passed on them not because they were self-taught, but because they couldn’t answer basic algorithm questions. Going back to school full time may not be an option for everyone, and there are several ways to learn entry-level programming in other formats, such as community college classes and online courses (like EdX, Coursera, or MIT open courses). I was working full time before my coding days, and started my education by taking a 1.5 hour class at the University of Washington during my lunch break two days a week. If you decide to start learning how to program on your own, you need to learn fundamental concepts and understand that it’s not just about cut-and-paste Ruby or JavaScript code.

2. Look for mentorship in your first coding internship or full-time job. I had an unpaid internship as a mobile application developer at Kiva in my first semester out of school, while concurrently working as a course development assistant at Mills. This internship was invaluable to me and my career growth, as I worked very closely with my manager who also served as my mentor. Starting out, I’d recommend building a company work history rather than jumping into freelancing. I’ve found that a lot of bad habits and hacky approaches can be adopted with a background in just freelancing. I’m not saying never freelance, but early on in a career, most people would benefit from working with and learning from others.

3. Choose a workplace that encourages learning and fosters employee growth. While there is potential to make a lot of money in engineering and programming, especially in the Bay Area where the demand for these roles is very high, focus on searching for career opportunities that will help you grow as a developer. I’m at MuleSoft because I needed to learn more and the company culture advocates for each employee to steer his or her own career path. I felt as though I was stagnating in my last job and I was in a position that didn’t have a lot of opportunity for growth, so I wasn’t becoming a better engineer. It’s especially important to look for a job early on in your career that will help you learn and grow.

4. Take advantage of those free conferences and meetup groups. There are tons of meetup groups out there to help you get into programming and find opportunities to learn more. There are several options on meetup.com, such as Girl Develop It and Women Who Code SF. Take advantage of free or inexpensive tech events, such as those hosted by some of those meetup groups, Hour of Code, Rails Bridge, Code Chix, and more. Sometimes developers can get free passes for paid conferences, like I did with Twitter Flight.

It’s never too late, as in my case, nor is it too early for women to enter the engineering field. Many girls are interested in engineering and technology at a young age, but by the time they reach college and the job market, most of them have chosen to go in other directions, often because they felt discouraged from pursuing these interests. Fortunately, there are many ways communities are encouraging girls and women to pursue their passion in a career in STEM. For example, there are several nonprofits such as Girls Who Code and Technovation Challenge that provide young girls opportunities to learn how to program.

There are also tech organizations driving initiatives to educate women in STEM and increase diversity among the workforce. Intel has pledged hundreds of millions of dollars to improve the diversity of the company’s workforce. MuleSoft is holding its First Annual MuleSoft Coding Cup in September, which includes a hackathon and industry-leading speakers, to help give girls in their formative years the experience, knowledge, and empowerment to pursue their passion for engineering.

With all these paths to engineering opening up, particularly for women, there are more reasons than ever to pursue a career in tech. The only person who can change your life is you. So get to it!

Willow Solem is an associate software engineer at MuleSoft, a platform for building application networks. Connect with Willow on LinkedIn.