My story is a bit different from the stories you have read so many times. I did not get my first web development job in 3 months. Not in 6 months. Not even in a year. My journey took 18 months, which were tough and frustrating but also exciting and amazing.
My background, like many other self taught developers, is one that seems as far as possible from any type of technology. I have a Master’s degree in History. I worked as a guide in a museum, as a group facilitator in a non-profit organization, and as a teacher. I loved all of these roles. Otherwise, I wouldn’t have chosen to spend my time doing them.
At some point I decided to change it all. I wanted to make a bigger impact through my work, especially in non-profit organizations. In addition, after living in 3 countries (in 3 continents) in 6 years, I wanted to start a career that would not require me to find a new job and even a new field each time I move.
I didn’t need much research to conclude that technology can answer both goals. It can fill my passion to contribute in a (probably the most) meaningful way and it could offer me the freedom to move and relocate while continuing my work.
I quit my great job as a teacher, left a nice salary and job security behind, and started to be a “full time web development self learner.” That was my title for quite a long time.
I began learning web development by myself, thinking (after reading some impressive stories here) that all it would take is hard work and 3 to 4 months of studies, and I will be hired as a full time web developer.
The journey that was ahead of me was very different than what expected. It was much harder than I could imagine. It was confusing, challenging, and made me wonder over and over again if I chose the right path or if I should admit that this is not for me.
It’s hard and maybe impossible to point out what exactly made my journey different from all of the amazing success stories I’ve read, but a few things immediately come to mind.
Not all people thrive alone
I’m a people person. I love to be with others, to collaborate, talk, and struggle together. I’m less happy when I’m by myself for a long time because I enjoy the company of others.
Studying by myself for most of the day, most days, was one of the things that I won’t miss.
Not all people love challenges
I need to be very brave to admit that not all challenges make me happy and push me to improve myself. Some definitely do.
I ran two half marathons (does that count as completing one full marathon? 🤷) and it was challenging. I completed a Tough Mudder, and it was challenging. I relocated, including to places where I didn’t speak the language, and it was challenging.
Although these challenges were amazing and enjoyable, many others were not. I am eager to overcome challenges when I choose them, understand them, and know what I am accepting. In the case of web development I didn’t realize well enough what were the challenges I was going to face. I only came to understand the scope of these challenges further down the road, and that was a tough revelation. Instead of getting excited, I became frustrated.
Not everyone is made for coding
Wait a second. Don’t eat me alive. I’m not saying that not everyone can learn how to code if they want and put the time and effort. I am just saying that we don’t have the same background, the same way of thinking, and the same intuitions, so the learning process will vary between people. No doubt about that.
When I decided to learn web development, I had no background whatsoever. I never never never saw myself doing anything that was tech related beyond merely consuming technology like everyone else does.
For me, learning web development was like jumping into a deep ocean all at once. I remember one conversation I had with my partner a few weeks after I started to learn JavaScript. He had some high school and basic university background in programming, and he tried to explain to me how to solve an early freeCodeCamp challenge. I couldn’t understand what it meant to have an array of elements and what it meant to push an item to the array. The concept was totally foreign to me.
I’ve since realized that not everyone is made for coding. It comes naturally to some people. Others have been introduced to the basic coding concepts and way of thinking at a young age.
But for some of us it comes for the first time at age 33, when we have never heard of anything that is even in the same universe as programming concepts.
Yep, that’s me. I mean, that was me. I figured out the push method, and have since turned 34. 😅
My no-regrets dive into the web development ocean
Now I have to stop and make sure that I explain myself correctly. I do not regret any of this. If I could decide again, I would take the same path. But I would also make sure that I knew what I was actually committing to. I would align my expectations with reality.
There is no one way or one answer, but better researching about this journey, before committing to it, could have made a huge difference in the way I experienced things.
So how did I eventually make it? Thinking retrospectively, there were a few things that helped me overcome these challenges. Before I list them, I have to admit that I’ve read many similar lists and I’ve tried to follow some of them closely, but none of them worked exactly the same way for me.
Lessons from the long road
At the end of the day, this is a personal journey, so some of the things you read can help you, while others can put you down or just waste your time. I am sharing what I’ve been through, but I’m not saying that this is the winning recipe or the secret magic for your success as well.
Have a goal
Remind yourself what is your goal. What is your goal for this week? For this month? For this year? And above all — for your journey.
You can’t do it if you don’t have a clear goal, something to look forward to. I’m not saying that it was always clear to me — I wish it were. But the “what is your goal” question kept presenting itself, and I had to explain to myself why am I doing this. These were the times when my goal and my finish line became clearer.
Be honest with yourself
This one is a bit odd, I know, but it is one of the most important things I have realized. You will hear so many times what is considered better ** in web development. Backend vs. Frontend, React vs. Vue, Visual Studio Code vs. Atom, Vanilla JS vs. jQuery, Express vs. Hapi, and so on. So many opinions and beliefs. It can be very confusing. It confused me.
I wanted to prove that I can do everything, understand everything, and be good at everything. And guess what? I was following others’ opinions instead of creating my own.
I enjoyed some aspects of web development more than others. I struggled with some concepts more than with others. I was happy to write code with some languages and libraries more than with others. So why not create my own path? If people think that X is better than Y, does it mean that Y is my best option?
Being honest was relieving. It helped me enjoy what I do. I struggled with the challenges I faced, but those were my challenges — not someone else’s. And I was able to channel my creativity by using the tools and technologies that personally excited me.
Join communities
It’s hard to convey how important it is to become a part of the community of developers, and have those developers around you.
In my case, it was mostly a virtual community of people from all over the world. And sometimes I was lucky enough to meet people in person and even be a part of a community where I’ve lived.
It doesn’t matter in what shape or form your community is. As long as you know other people who struggle with you, other people who share similar passions to yours, other people you can look at and tell yourself: “this is how I want to be in the future.” People you can ask for help when you have a question, people you can help when they struggle with something that you’ve already figured out, and people you can rely on when you need some motivation.
And just don’t give up
At the end of the day, you have to believe that you can do this.
For long periods of time I had my doubts, but at no point did I get to a place where I felt like I was done trying. I always knew that I could do better, improve, learn, and eventually find a way to make it.
I was very lucky in two important ways. (Yes, luck is another big factor!) The first was the people and communities I found along the way. And the second is was the place I ended up living in.
Communities I joined (by ordered of joining them)
- freeCodeCamp: I began my journey with freeCodeCamp, which is a wonderful platform for learning web development, for free, with a rich and devoted online community. Joining and learning with freeCodeCamp helped my dream start to look like it could be a reality.
- Chingu is a great online community for people around the world who share similar end goals and are committed to help others and collaborate with each other along the way. It was (and still is) a place where I can create projects as a part of a remote team, but also a place to ask, answer, read, and think together.
- Meetup.com was an umbrella that gave me the opportunity to learn a lot and meet many professionals and newbies in person, which was different than virtual communities and led to some great friendships.
- Central NJ Design is the main meetup I was a part of, which opened the door to User Experience Design for me. In the end, this turned out to be my current choice of career.
- Founders and Coders is a web development (tuition free) bootcamp that I had the opportunity to be a part of in Nazareth, Israel. Participating in a full time, full stack, web development program gave me the wings without which I could not fly. I had the chance to create team projects with others, learn from more experienced mentors, meet professionals, and be a part of a community which its goal is to grow its members as developers by thoughtful curriculum and hard work of all people involved.
I was lucky to have the chance to mentor and work as a developer for the course’s next cohort. Teaching others is known to be one of the most meaningful ways to deepen your knowledge. Going over the materials again — this time as a mentor — pushed me to a better understanding of the concepts and tools I wanted and needed to master. It changed the entire picture for me and encouraged me to start looking for a full time job.
Moving to South Bend, Indiana
As I mentioned, the other piece of my success in finding a job was — surprisingly — the place where I moved to about 3 months ago. I use the word “surprise” because moving to a Midwest rust-belt city didn’t seem like the best choice in terms of my career. So I thought my only option would be a remote job.
I applied to 146 jobs (!) but only 9 of them were to companies in commuting distance. From these 9 applications I got 2 offers, after advancing but not getting any offers from the remote jobs.
I think there are two reasons for that: first, I was more prepared than ever when I applied to the last two places, which were towards the end of my application process, after asking several professionals and friends for advice and feedback regarding my application.
My confidence was higher when I knew and believed that I had value to offer (which wasn’t the case when I started applying). And my portfolio, GitHub, and projects were much more advanced — so overall I was a stronger applicant.
But the second point is maybe more surprising. The Midwest city I moved to, South Bend, IN, is apparently a place where technology is flourishing, where there are new exciting startups and young companies, where you feel the new spirit of entrepreneurship, innovation, and technology in their best forms.
Even as a junior web developer with very little experience, I could find a place where I could fit in, where I could contribute my skills and grow professionally at the same time.
I ended up getting two great offers, as a User Experience Designer and a Full Stack Web Developer, and wish I could have accepted both.
The next step in my coding journey
My journey took a very long time and put a lot of pressure on me, on my relationships, and on my partner. But I believe it was worth it. It pushed me to new places, showed me new sides of myself, and gave me the skills and strength I wanted.
The journey is still going. It has no finish line. The good thing is that there are many peaks to reach and mountains to climb. I am happy to know that I have already accomplished some of these goals and I am excited for the others that will come.