Gaye Bulut

Making Apps

September 2015

Hey hey hey!

It has been a while since I updated my progress so the story of a self-taught dev continues. I was doing a lot of online classes, books and tutorials and I was not feeling like I was progressing fast enough as a dev. By a great deal of pressure from my mentor, I started making apps just using JavaScript, jQuery, HTML and CSS. (Hey, nothing wrong with being bas!c).

First, I made a simple pairing game making ajax calls to Instagram API which are shiny words for getting my images from Instagram. It was a crazy couple of days with ajax calls and callbacks. It was hard to get a good grasp of at first. But it happened. It happened! I got it! It was such a joyful moment, words can't describe it, I am afraid. I felt like I could concur this world. While at it, probably Mars too.

Then I came across to this cool web app on Twitter by accident. 2 devs seperately did an app that has hyperlapse videos playing along with chill music. You can imagine how upset I was because I did not come up with this idea myself. Afterall, Instagram is my alarm clock. Wakes me up every morning by showing me pretty makeup pics. After feeling betrayed by my own imagination, I wanted to do the my version of the app from scratch by the permission of those lovely devs.

The app gets the videos from Instagram which I was already familiar with from my first puzzle/app. Songs were coming from SoundCloud which also gave me a chance to play with SoundCloud API. After completing this app, and battling with some tedious CSS work which is pure evil btw, I realized how much I learned by making this app. I could have never learned this much from just classes, books or tutorials. Diving in, googling and stackoverflowing as you go is better. Way better. Just trust me on this. If it doesn't work out, you know where to find me. (Below is my Twitter handle and everything :))

Learning C

July 2015

Hello you!

For a while, I was scared of learning a second language after JavaScript. My reasoning was a bit unbelivable. I was scared that I was going to forget JavaScript once I learn a new language. Forget as in, cannot remember how to code in it, not as in I will fall in love with my new language and forget all about JavaScript. I should have known better as a bilingual person.

It took me a long time to build the courage to try. I was mostly influenced by a brilliant coder. He kept telling me that 'without understanding how the machine works, you can never be a great programmer, you can only be an OK one.' Well, that was terrifying to hear. If there is one thing in this life that I am scared of, that is being moderate at anything I do. I simply refuse to be a 'just' anything.

So I started taking Harvard's CS50 class which is online, free and awesome. Prof. Malan is fantastic at explaining things in simple terms and he has this great energy that pulls you right in. It is a very fun class since it is more like a highly sponsored festival rather than a class. There are also a few developers, from big companies like Dropbox, popping up in videos during classes that inspire you.

What I have been doing is: watching the lectures of Prof. Malan and the lab videos that are prepared by the awesome Harvard CS TAs. It was going well till week 4 and then I realized I needed a book to read along to confirm that I am getting all the nuances between my two languages. I found a free ebook that is very easy to follow. It is clean and to the point.

It was surprizingly simple to pick up another language. It is still frustrating at times (hello, debugging) just like any other language. The best news is that I have not forgotten how to code in JavaScript. Phew. That would have been a scary American Horror Story season (looking at you Ryan Murphy).

Now, I have this feeling that I can learn any language/framework in a matter of days. It is a very uplifting feeling. I love learning. It makes me feel alive and powerful. Like a shark. (?!)

Big Step

March 2015

Hi!

I went to Code Fellows JavaScript Dev Acc bootcamp and it was awesome. Ok, that sounded sponsored. Let's try again. Take 2! It was intense, stressful, tiring, exciting, fun and eye opening. It was 8 weeks of intense coding labor. Lots of reading (who would have thought) and a lot (A LOT) of deadlines. Constant homework doing. Constant coffee drinking. 3 hours of class every Monday, Tuesday and Wednesday. Thursdays were for algorithms and data structures (my fav) classes and whiteboard parties. Fridays were just guest speakers (not my favorite part).

Nights and weekends, you ask? No nights or weekends because you are either doing homework or trying to catch up with whatever you learned (were supposed to learn) 3 weeks ago. It was a very fast paced course. We all dreamed JavaScript at some point when we get a few hours of sleep at nights.

I am someone with 2 master's degrees and a bachelor's in engineering so I know tough and I know intimidating. This was both with so many inspiring aspiring developers in the mix. There were people who were 19 and there were people who were 50. They all loved what they did. It was humbling to be a part of. Everyone in there was there to change their lives. To become something they probably wanted (or were supposed to be) long time ago. I really loved my classmates and teachers, and I still see some of them everyday.

If you are someone who is thinking of doing something similar, I have some tips I would like to offer and wish somebody offered me before I went in.

1. Learn programming before you attend to a bootcamp. Bootcamps do not teach you programming. They teach you tools. We never learned anything about JavaScript. We learned Angular, Express, MongoDB, Node.js and React. If you already know how to program (which does not mean writing 'hello world' or 2 + 2) which means making little apps on your own and being able to solve all the easy questions on Leetcode, then you are good to go. If not, learn programming! Otherwise, you will try to run before you can crawl. No bueno.

2. Be familiar with the subjects beforehand. You do not have to master them, just be familiar because as one of our teachers kept saying it takes 3 times to learn most of CS concepts. First time, you don't get it. Second time, you sorta kinda get it. Third time 'aha' you think you get it. (You probably still don't, but it is OK, you are closer now). If you already have ideas on the tool you will be taught, it will be so much easier and more fun for you. You will get so much more out of the experience.

3. Don't be 2 things: a smartass knowitall and a person who is paralized by fear. I promise you, however much you think you know, you know nothing Jon Snow. Yeah, I just did that. #sorrynotsorry. Programming is something you can never know it all. Never ever. Also, do not get intimidated by thinking how much you don't know. You will always be feeling like you don't know anything. That feeling will never go away. Be fine with it. Just be a better dev than you were yesterday. Work harder today than you did yesterday. Start believing that even though you might not know it at the moment, you can figure it out. You know enough to be dangerous! Keep at it and code away. That is how you will get less sucky.

I guess that is it! I would certainly do it again. I loved every minute of it. I just wish I was more ready for it. But that is what today is for. I will keep learning until I suck less. And so should you.

And if you are wondering where my classmates are right now. I believe, almost all of them are working as developers at great places like Expedia. I was offered a TA position right before graduation for a pilot project so I volunteered for a non-profit to teach web development which I loved. And currently, I am waiting for my green card so I can finally start interviewing and working for a kickass company. Till then, I am coding coding coding.

Happy coding!

Third Step

December 2014

Hey you,

A lot has happened.

Last time I wrote, I was attending the Foundations I course at Code Fellows. The class was very intense and some parts went over my head. I got scared and frustrated but kept going. I was very relieved when the class ended because I had time to study everything my teacher went over, again and on my own.

So I took a month off and studied. I started doing the simple apps in '180 websites in 180 days' website, created by Jennifer Dewalt, which taught me a lot. I gained some confidence and enrolled the Foundations II class in JavaScript at Code Fellows.

This time, I was feeling more confident and it showed. I understood the subjects a lot more easily and was able to answer some questions in class. My teacher thought I was brilliant and we became the bestest of friends (now, you now how to become my friend). She said I was ready for the last part of Code Fellows program which is also known as development accelerator (DA or dev acc). It is a bootcamp where you learn and code like 16 hours a day. It is intense. Well, it is a bootcamp :/ I was accepted without even having to do the challenge that you need to submit to be able to get in due to my teacher's feedback.

Now, I had two months off to get ready. I started reading "JavaScript the Good Parts", "Eloquent JavaScript" and "The definitive guide to JavaScript". All of them are fantastic books and helped me tremendously. They gave me a basic understanding of the language and programming in general.

I would like to emphasize that the language should not matter as long as you are learning how to code. Language is just a tool. And once you know how to program it is easy to switch and learn new technologies and languages. I did not make this up, I promise. I was told by many experienced developers.

It was a frantic two months in terms of getting ready because there were many resources out there and there was not a lot of time to study every one of them. Also, having a lot of resources can distract you from focusing on the important ones. I felt like a kid in a candy store so I tried to do all of them at once. It would have been smarter to only focus on a couple of things and learn them well rather than trying to do all at once.

Next step: JavaScript Dev Acc.

Second Step

October 2014

Hello world or should I say console.log("Hello, world");

That's right! I am learning a thing or two using Codecademy tutorials. One of the things I don't like about it that it does not give proper errors so I could understand and fix my errors. I had to do trial and error many times. They are all so vogue and makes you a bit mad if you are stuck on one question.

Codeschool? I closed that tab so fast, it was not even visible to human eye. It was not OK in a world that has a lot of free resources for beginners.

Actually, something interesting happened this week. I saw an add for the fundamentals class at Code Fellows and shoot an e-mail to see if there was any last minute spot available. And guess what? There was! I signed up and went to the first class and lab. Oh, my my!

Is it intense, you ask? Yes, it is. Is it fun, you ask? Yeap, for sure. I realized long ago that when I have a deadline and a clear direction I can learn faster than a Kardashian gets a divorce. And in a classroom setting, I can stay disciplined and inspired. There were 150 people in the first class and around 30 people at the lab. I was shy and talked to only 1 TA and 2 students in total. Everybody was very inspiring and friendly but my engineering education (*insert being a geek as an excuse here) made me a little introvert over the years which I will be working on next week! I promise! At least I will try to look into people's eyes. #notacreep

They gave us so many assignments, it is unbelievable. I understand why it is a bootcamp. I already started dreaming in JavaScript. No joke. I love deadlines. It keeps my head in the game and gives me purpose. Talking about deadlines, gotta run. I have a million of them before midnight.

I also bought two books as suggested by my teacher: Jon Duckett's CSS and HTML book Jon Duckett's Javascript and jQuery book

They are my new Game of Thrones books! They are also my free weights because they are HEAVY! Oh, before I forget Codecademy's Javascript and HTML tutorials are actually two of our assignments so this shows that they are actually useful.

Much love!

First Step

September 2014

Hello World! Or anyone?

How I became a Software Developer? I am glad you asked. Well, I haven't become anything 'yet'. But I will! And I wanted to write about my experience and what I will be doing to get there hoping somebody would benefit from it.

I am someone who does not know how to code. No previous coding experience or knowledge. None. Nada. Zero. Sifir. I guess that covers my background in Computer Science. I decided to learn how to code because my former industry is... Hey, we don't talk about exes here. And also, coding is the coolest effing thing!

Thankfully, I have an amazing Software Developer by my side who constantly tries to give me advice and what do I do? Not listen to him of course. So far so good, yeah?

Currently I am doing the Codecademy's JavaScript (JS) beginner tutorials. I just started two days ago and so far I completed 22%. We will see if I will actually learn anything from it. I am also doing the CodeSchool's free JS classes (only two classes are free) just to see if it is any good. I will also try the Khan Academy's JS tutorials this week.

The reason I am focusing on JS is because it is everywhere. It is the language of the web. I need to start somewhere and JS looked like a good place to start. However, my main goal for the next two years is to become a proper SD who knows everything :) The best Junior SD who ever lived. (Read it in Harry Potter audiobook voice, otherwise it doesn't sound cool.)

Let the journey begin!