By JavaScript Joe

In August, I started a paid internship as a frontend developer. Hooray! I was going to begin my career as a programmer less than a year after I started learning. This was amazing! It was exactly like all those success stories I had read on freeCodeCamp’s Medium channel.

Everything was going to work out perfectly. Or so I thought. On Friday, September 22nd, my boss and I were discussing being hired on full-time and he said, “I don’t think you’re at a junior developer level yet.”

But before I go any further, let me start at the beginning. I’m going to share how I began an internship as a web developer, what I learned, and how it helped me get a different job using my new skills.

Back story

I started learning to code with freeCodeCamp in December. I was having some second thoughts about my graduate school program and career trajectory. I had another year and a half in my Master’s program, after which I planned to pursue a Ph.D and then join the world of academia. However, a semester into my program, I realized it wasn’t the right path for me.

After a few months of coding and discussing my options with my parents, friends, and mentors, I decided I would leave my Master’s program that July. I hoped to find a job as a developer.

I made this decision in March, and knew that I had five months to ramp up my learning and land a job that started in August. That was my goal. Luckily, I was able to spend a lot of time coding and job-searching that summer.

I recommend doing these two things that set me in the right direction for the job search:

  1. I reached out to a developer on Twitter. He had worked in a role for a company that was currently hiring for that same role. I asked him about his experience.
  2. I joined Slack workspaces in the area I wanted to work. For me, it was Arizona WP, #yesphx and azwebdevs.

The developer from Twitter gave me a lot of advice about how he landed his first job. The second idea came from a close friend of mine whom I met through Chingu. After joining these Slacks, I periodically checked their #job channels for any opportunities.

In June, I found a post searching for a designer or developer for a paid internship with the intent of coming on as a full-time hire.

Fantastic! That’s exactly what I was looking for — an opportunity to prove myself. I quickly messaged asking if the opening was still available. After the contact said yes, I sent him a short explanation along with my portfolio. Then we set up a time to Skype.

After the interview, which was mostly soft-skill focused, he offered me contract work starting in July (while I was abroad). We planned to work together remotely until I moved back to Phoenix, and then work in person to see if we were a good fit. It sounded great.

My internship experience

During my first month, I was tasked with simple things. I created an icon, designed a web page layout, and converted a web page layout from a PSD to code for a WordPress site. It was really tough in the beginning — I hadn’t worked with WordPress prior to this internship. But it forced me to problem-solve on my own, as a remote worker.

In August, my boss and I agreed to extend the internship for a few weeks, and to revisit the question of full-time employment at the end of the month. I still had a lot to learn, and my employer said he couldn’t afford to pay me while I learned. So I suggested that we split it down the middle: I would do 20 hours of paid work and 20 hours of learning — all in the office. He agreed, and I began.

Since the company is a small web design agency with only one full-time, super busy employee (my boss), I didn’t have as much guidance as I would have liked to have at the junior level. But that forced me to figure out a lot of issues on my own. I also became more aware of the time my boss gave me to ask questions and get help.

My days were spent writing HTML, CSS and PHP. I usually arrived at the office around 8:30am or 9:00am and left around 6 or 6:30pm. We used two desks out of the co-working space CO+HOOTS. One of my favorite parts of this internship was working out of a co-working space. I highly recommend checking one out in your area!

We would meet in the morning, discuss what needed to be accomplished that day, and then start working. It’s safe to say that I learned that building websites is not as quick and easy as one might think.

Dealing with “Imposter Syndrome”

There were plenty of days when I felt like an imposter. My boss would be explaining a new task to me, and I would sit there thinking that there was no way I could really do that!

But this is where I grew the most. After those quick meetings, I would jump on my computer and think about how I was going to solve the problem. I broke it down step-by-step into small, manageable pieces and went from there. This strategy was the key to being successful in this internship.

It’s true that coding is a difficult job and it’s not for everyone. Sometimes, I felt like breaking down and crying because I couldn’t figure something out or I felt stuck.

In those moments, I used my breath to calm myself down. I remembered that I was still learning. My boss reminded me that it might take me a little bit longer to learn a new task, but that it was okay. His encouragement, along with the community at the co-working space, played an important role in staying strong.

Negotiations for a full-time role

At the end of August, my boss and I set up a time to discuss moving forward. In order to have a sense of security, I had been talking to a few other companies in case things didn’t work out at the internship.

My boss said he enjoyed working with me and wanted me to stay with the team. He didn’t feel like I was ready to take on a project without any guidance, but he wanted to offer me a full-time job. He just wanted one more month at the internship level to get me up to speed. I was amazed hearing his words — how exciting!

Fast-forward to mid-September. I had just finished working on my first big project — a redesign of a landing page for a WordPress site. My boss went on a 10-day vacation. Before he left, he mentioned that he had to fix a lot of minor things in my code — missing conditionals, incorrect Sass, and a few other little things. He spent more time refactoring my code than he could afford.

When he returned from his trip, he said that he couldn’t hire me on for the salary he originally offered. I thought that was understandable. I still had a lot to learn.

The unexpected end of the internship

On Friday, September 22nd, we had a phone call to discuss his original offer. During this call, he explained that he didn’t think I was quite at a junior developer level yet. His reasoning was that I still made significant errors in my code — although, he noticed I had improved since our first review at the end of August.

That being said, he gave me two choices — I could accept a full-time offer for 40% less than the salary he originally offered, or he would give me 20 hours of billable work at the same hourly rate as a freelancer.

As you can imagine, I was shocked. I couldn’t believe it. Right when I thought everything was working out — it wasn’t. I politely declined his offer. I believed I brought more to the company than what he offered to pay me, and I needed something more stable the freelance gig.

Now, you may be thinking that this is the end. That I gave up. I wasn’t “job-ready” according to my boss’ standards, and therefore should get a job doing something else. I almost believed that this was the end as well, but I didn’t let the story take that direction.

I believe a lot of the things that happen in life happen for a reason. In this instance, it wasn’t meant to be — my boss needed someone at a higher level, and I needed a fair salary. Instead of placing blame, I simply decided to look for new opportunities. And fortunately, new opportunities revealed themselves.

Moving Forward

I ended up accepting two new jobs. One was a full-time job with a marketing agency that offered me a hybrid role doing digital marketing and web development. For the other, I worked as a TA for coding workshops.

Both expressed interest in using my web development skills down the road. The marketing agency hoped I could help build in-house software tools to make their processes more efficient. As for the coding workshops, I can move up to a coding instructor once I feel comfortable.

Why you’re ready to start applying now

There is a plethora of information to learn in the field of web development. But I hope my story shows that you can get your foot in the door early. Even if you don’t think you’re ready yet, you probably are.

I took the jump and decided to look for jobs so early on because of the advice of someone from the freeCodeCamp community. He’s written quite a few popular articles for the freeCodeCamp publication, and I know a lot of us look up to him. He had an AMA via direct message on Twitter earlier this year, and this is what resonated with me from his advice:

“It’s worth applying now instead of waiting for the right moment. Because by the time you feel ready, in reality, you were ready months ago. “

-Jonathan Z. White

I hope my story reminds you to go for it. Start applying for jobs before you feel like you’re ready, and see what doors open up. The worst that could happen is, after some freelance or contract work, your boss says what mine said — “You’re not ready.”

But if that happens, at least you’ll have some experience under your belt and will have a better chance of finding a new opportunity. It will be a lot easier to convince someone to pay you for your skills if they see that someone else did in the past.

Although things don’t always go as planned, everything worked out and I’m thankful for that. We will always have the opportunity to continue learning, no matter where we end up.

Cheers to learning experiences, new opportunities, and all the future lines of code to come!

Please clap if you enjoyed reading this story and say hello on Twitter!