My story is a bit random and is not totally linear like most campers and developers out there. But I have to thank Quincy and all of the FCC for turning around my life and putting me on the right track.
I’m a 24 year old guy who moved from Egypt to the U.S. in 2013 in the middle of my double major in Economics and Computer Science. I had started to take a few classes in computer science in C++ back in 2012 and I fell in love with programming ever since. I will never forget writing my first for loop and having it execute on screen without errors on the first try. I will never forget my Harvard professor telling me that I have good coding skills and great potential if I keep it up. Coding just made sense and creating something and watching it come to life is the most rewarding experience that I have ever had in academia.
However, because of political unrest at the time, I had to leave the country and study abroad and I ended up in University of California, Riverside where I chose to continue my degree in Economics because it would allow me to graduate in shorter amount of time and cost me less. I thought I’d keep coding as a hobby on the side and maybe get a job as a developer later on. It was a mistake.
I’ve grown to hate economics, I no longer found the subject interesting and had some bad professors. I had no idea what I was going to do with a degree in Economics and no work experience after I graduated. It turns out as legal foreign student I had the right to work for a year, but the catch was I could only work in a job that’s related to my field of study (economics) so I couldn’t even work as developer intern no matter how good I was! That crushed me, I have been learning web development on my own (this was before FCC ) and learned basic HTML, CSS, and even experimented with ruby on rails.
I had to bite the bullet, I got a job as life insurance agent at a fortune 100 company, but they let me go on my first day of work after the manager found out that I would not be able to work for more than 1 year without sponsoring, an issue I let them know in advance but they had an internal miscommunication. Those were 2 months of unpaid training wasted. I was stuck in an apartment lease and had to pay rent from my parents’ savings. I did hunt for jobs desperately and practiced coding for the next 6 months. I got better at coding but job hunting in California was terrible. I finally found some connections in Austin, Texas where I had to relocate and work there as a business analyst and market researcher.
So, I moved there and only on the promise and complete understanding of the CEO himself that I will need sponsoring very soon. We agreed and my situation seemed to be resolved. I did a good job there and was bumped shortly to a Project Coordinator because of my existing technical knowledge so I worked with both the marketing team and the technical team. I took part in some QA testing and scrum meetings. Seeing and working with real developers had reminded me of how much I loved software development so much. But again I appeased myself and convinced myself that maybe I can grow into project management and be just as passionate about it someday.
I worked with that company for 7-8 months before I was notified that my work visa was not accepted because the HR department submitted my application later than advised. Even though I had this brief period of income stability I was never really happy. I felt like a robot doing random tasks dictated by others in a small office. Sure I worked harder than anyone else, sure I had amazing coworkers and a great boss, but I did not like where I was in life. It seemed pointless. I had periods of depression that never happened to me before when I would curl up in bed and flat out cry. I convinced myself that maybe it was a hormonal imbalance because of an unhealthy diet or something else.
Anyways, point is, I was screwed over yet again and was faced with a choice: Either pack my stuff and go back to Egypt where I would have to wait a year without work until I get drafted into the military for 2 years after which I’d be too old to be employable. Or I had to pursue another degree to stay a student in the U.S. After much persuasion from my family, I decided to stay and go to graduate school in Minnesota. Why Minnesota? My mother knew a person who had an accounting firm there who also persuaded me to come over and work in his firm as an accountant. He convinced me to enroll in any school for just one or two quarters while I worked for him and he promised to get me the work visa. I really had no choice. Either go back to unemployment and war in the desert or stay for a better future. So I packed my stuff and relocated to Minnesota.
I got into a random private school which only had Organizational Industrial Psychology degree accepting students (it was pretty late in the year to apply to anything), and waited for the Accounting firm guy to keep his promise. He didn’t. I was yet again stuck in a educational degree I had no interest in, and as i was running out of money I worked as warehouse worker when I got desperate for money to pay my rent here. I had to get up everyday at 6 am and drive through snow blizzards to work a minimum wage job packaging products. Then I went to classes at night and pretended to be interested while they took my money. I was living alone, I knew no one, and I could not make friends. It was almost Christmas, and I had hit complete rock bottom. Extreme depression was a daily companion and my goal in life was trying to keep myself from becoming suicidal.
Free Code Camp to the Rescue
I think I started Free Code Camp in late November/early December of last year. I don’t remember how I found about it but I was cynical about the certificates they had and the quality of the program. “All that for free? There has to be a catch. There is always a catch.” Well I checked it out anyways and the catch wasn’t money, nor was it really simple instructions and easy challenges with basic projects. The only catch I could find was the time commitment and progressive difficulty of the challenges, and I was completely fine with that! Once I started doing the challenges I was once again reminded of how smart I can be and the potential I had to become what I wanted to be in life. I was immediately hooked. Nevermind that I already knew some self taught HTML and CSS and some CS concepts vaguely. It was the perfect refresher and practice tool to actually get good and use that knowledge to build stuff!! I started doing the challenges and I remember I had a streak longer than 30 days. It was the best distraction from my depression and my collapsing life, and it was the only thing in the world giving me any kind of joy.
Back to School with A Web Developer Job
Slowly but surely, doing the challenges and projects on FCC started to give me a confidence boost and build up my morale. Just trying to solve those algorithms and problems on FCC encouraged me to solve my own life problems. Mainly the being-at-rock-bottom problem. So I started breaking down my problem to see how I can tackle it:
- What do I really want in life? Happiness
- What makes me happy? Coding
- How can I code for a living? Become a developer
- How can I legally become a developer?(remember I am an alien, not even an immigrant) Get a CS degree
So I decided to apply for the Computer Science undergraduate program at the University Of Minnesota in the Twin Cities. I went to the director of admissions and explain to her my situation. Luckily, I had not missed their deadlines and she assured me I would get in easily because of all my previous coursework including the CS courses. That was it. I had bet all my cards on that final chance. That is the the biggest risk I ever made and frankly the only life decision I made without influence from family or friends. At the same time, I looked at jobs available in the University and there was an internship opening for a Web Developer position managing all the university’s websites and analytics. It required knowledge in HTML, CSS, JS, and Node all of which I had worked with and have a portfolio from FCC to prove. Just before Christmas eve, I received acceptance letter to the Computer Science program, but no answer from the job application. I was going to count on it to pay the rent because I had to leave work at the warehouse before school starts.
The Internship, The Degree, The FCC
Holy crap a computer science degree is intense, there is little to no coding and a whole lot of math and pseudo code. Granted they taught me C first semester but that was just to compile it to assembly language and translate back and forth. But I found some of the complicated math and deep logic actually useful and had some application in web development like using matrix representation of a grid system to move CSS elements on the DOM and create custom effects, or using known proof methods to solve complicated algorithms. But it is HARD and being a full time student made it impossible for me to continue doing FCC.
The web developer internship on the other hand, was part-time 20 hours/week. I’d go from class to work and from work to class. I got to actually use the web development fundamentals that FCC taught at work and I still had to learn other web dev tools like SASS, Gulp, Github, and working with linux servers. Even though I am still getting paid minimum wage, this experience is invaluable and is exactly what I need. I LOVE what I’m doing and I LOVE going to work. I might have had the Imposter Syndrome at the beginning but I was so determined to get better and I have come a long way since February. Now that I don’t have school in the summer, I still work at the university, but I also went back to FCC projects and challenges and am trying to learn React in my free time.
Oh along the way, I met my first girlfriend and we’ve decided to get married after graduation, made a lot of good friends, and I have a game plan for once in my life. I am working my ass off to become the best software engineer I can be so I can apply to an internship at the Big Four companies by the end of this year. Even though I am struggling financially now worse than ever, I have overcome my depression and have become a confident, fast learning developer. I know for sure that I am on the right path and that I just need to keep doing what I love and eventually I’ll be successful and happy.
Even though I knew I liked coding, I got a degree in something I hate, I worked in jobs I didn’t like, and I hit rock bottom in 2016. I started FCC in November/December last year after which I decided to pursue a developer career full steam ahead. I got into undergraduate CS degree in University of Minnesota, got a web developer internship that I love at the university and am now practicing to get for interviews with Big Four companies.
The journey of becoming a developer is not easy. This is a huge shout out to Quincy and FCC community for making this possible and helping me turn my life around when I have lost all hope. This is definitely not the end of the road and the journey doesn’t stop once you get the job. I hope the takeaway for anyone who read this far is to do what you love no matter what the odds are and don’t force yourself to do anything you’re not passionate about, let alone hate because it can be a major cause of depression.
Keep on coding and have fun doing it!
P.S. This post is longer than I anticipated. I’ll probably publish it on medium.