Coding in Javascript Rants

This is going to be of a rant.

Learning a programming language is going to be hard. It is not that I can’t learn it. When I studied the materials on the fundamentals of Javascript such as functions, conditional flow, objects and arrays–I understood how it works. What threw me off is learning how to write it from scratch that points to logical steps by steps. Basically, I needed to learn how to think like a developer, telling the “dumb” computer what it is I wanted it to do by providing the rigid instructions.

That was the wall I hit.

And that is the wall I needed to knock it down.

And I will knock it down.

When I coded in javascript for the first time yesterday–I kept knocking down that wall little by little and my brain slowly made the connection, dot by dot, on learning how to think like a developer. That is pretty much how I felt–but I knew it would take time to truly understand the language to where I can manipulate the codes freely without being a bit scared of whether it works or not–or if I’m writing the code correctly.

HTML and CSS are my comfort zone and it is time for me to step out of it and move on with javascript. So, I better fail quick and learn quick (as my instructors told us).

Work that Flexbox!

The last few days we’ve been working with CSS coding and learned the art of FlexBoxing the webpage. I will have to get this off my chest:

Flexbox is not my to go to coding for web design.

Perhaps I will use it strictly for navigation bar or perhaps an image gallery (although I think that can get complex really, really fast). As far as I understand–this new method of creating a layout of the webpage is new and will have some glitches here and there. Perhaps in time, the developers who designed Flexbox will improve its usability or it may be done away.

However, I am extremely happy with the outcome of my  first weekly project that definitely contained the use of Flexbox. I had to create a webpage base on the mockup that the instructors provided for us. While in the middle a fight with flexbox layout, I somehow stumbled and realized I had the images accurately ratio-sized and at the height I was attempting for to replicate the way the mockup was designed. I had to go back and re-read what I just did until I understood what I did. It was a thrilling moment to have when I had the “ah-ah” moment after some serious coding (especially when I did a complete redo of the weekly project!).

I do admit that Flexbox was a fun challenge and it was also great to learn a new way to style a webpage. While I haven’t learned the Grid layout–I think I just may prefer that over the Flexbox

Messy Style in HTML & CSS

It looks like we’ll be spending some time on learning the rope of HTML and CSS styling. I do admit that I have some prior knowledge of it–but it is a messy one. The best way to put it is that I never learned the etiquette of how to write/code web pages. What’s even worse is that I never really knew that there are some HTML and CSS codes that are phased out or simply do not work in some browsers (whether they are new or old). What are some of the things I used to do? I used to:

  • leave a lot of whitespaces in the code file
  • multiple class, id and types that are identical to each other (meaning they overlap one another)
  • never left comments inside any HTML and CSS files for clear explanation of what I was attempting to do
  • never truly understood the concept behind selectors, box models, etc

What I struggled with the most in today’s learning is the CSS Precedence and their general rules. While I knew that CSS reads from top and bottom–but it really means that the most recent code in CSS format generally sets the priority in how the text, images, etc will be displayed on the web browser. Plus, if a selector is more specific than the other similar selector, it will also set precedence. Any CSS applied directly into the HTML file will take precedence over the external CSS file.

Come to think of it–there was another concept that I also struggled with.

Tables.

I admit. Tables are not my favorite coding, especially when it come to coding them in CSS. It seems that they have their own rules to follow that generally does not applied to the content of the web browser. I hope I made sense as I write this out–this is my brain processing, trying to figure out how this works.

Perhaps reading a few chapters from HTML and CSS: Design and Build Websites written by Jon Duckett clear things up a bit. I highly recommend reading this book. Let’s admit it, every HTML books we read are usually dull and very manual-like. This book is nothing like that. It is full of visuals and clear, concise explanation that actually makes it fun to read through the pages.

 

The Importance of Git and GitHub

Today is the first day of my coding boot camp, and so far it had been a fun challenge. The concept for today was to learn how to use Git and GitHub.

As a prospecting developer, the instructors stressed the importance of learning how to traverse and read our file system within the computer. There are two types of methods that we can use to navigate our file system: Graphical User Interface (GUI) and command line interface (CLI). If you own a Microsoft laptop, you would find that you can navigate your files via GUI simply by clicking on a Document folder or even a Music folder. However, on the other hand, you use CLI via the terminal to access these files as well. “The CLI provides a text-based interface that utilizes a special programming language called “Bash.” The CLI is considerably more powerful than Finder, and most programmers prefer it for managing projects and for interacting with tools like Git” (The Iron Yard).

Since I was used to Graphical User Interface, it was time to use the command line interface and make that second-nature to me in terms of using it and writing codes.

As it turned out, Git is a program where it allows people to create codes on their local repository. When the code meets the developer’s satisfaction, then they can push that code to the remote repository which is where GitHub comes in. Keep in mind–any changes we do to the codes within Git, it does NOT affect what happens to the codes in GitHub. GitHub is a great tool to use for developers to collaborate on a single project. It not only allow us to push our code into the remote repository, it also allows us to pull that code from the remote repository into our local repository to see what we can work with.

The Iron Yard not only uses us the ways of using Git and GitHub via terminal, they also teaches us the best practices of how to handle collaboration. That’s why when I learned how to create my own local and remote repositories–I also learned to collaborate with others using my local repository to a single repository that other developers are using as well. We needed to learn how to communicate the technicality of pushing, pulling, adding, deleting files and folders.

It made me feel good knowing that there is a website that serves to make collaboration between developers a smooth ride. Sure–there will be a stumble here and there, but that’s the point of collaboration–we just need to step away from the computer and discuss with other developers in person to see what we can do to make it work!

There’s several more concepts that I learned regarding Gits and GitHubs but I will get to those in later post as well.

Otherwise, this post would’ve become an extremely long post!

Why I Chose Iron Yard

Last week on Friday was a Meet & Greet party and an Installation party with the Iron Yard. The Iron Yard wanted to do this, to make sure everyone had a chance to meet each other and also ensure that their laptops had all the proper softwares needed before starting class next week on Monday with no problem.

It was a bit nerve-wrecking because it would be the first time I would attend the party where I would be without an interpreter. I was hoping that I had enough hearing to be able to understand what the instructors was talking about during the installation party. Luckily, it wasn’t that bad. Their voices were clear and they were very accommodating to me. How they were very accommodating toward me? The instructors knew that in order for me to comprehend what they were talking about, they needed to make sure they don’t turn their face away from me while they lecture the class. They continued to check on me to make sure I was doing okay. Even the director also made sure that I was doing ok as well. She did an exceptional job of ensuring that I can see her whenever she spoke to the group and her voice was loud and clear. They made it a little more easier for me to adjust to the classroom setting without an interpreter.

I am not saying it was okay to be without an interpreter. I just so happen to have enough hearing to be able to get on by without a need for an interpreter. Heck, I worked almost a decade in retail with jobs ranging from sales associate to an assistant manager. I even handle phone calls–in majority of cases (but not always). So, I knew I can also tackle this one. However, had I been completely deaf and hearing aids do not work for me–I would have pursued the need for an interpreter aggressively. However I wanted this long and knew I needed to get started with learning how to code.

I have a purpose and a need for completely changing my life. I am 30 years old. I graduated with a degree in Environmental Science about a year and a half ago. Unfortunately, the job market isn’t too good for me around where I live. I live with a partner who has a stable job. We have a daughter who will be turning 2 years old this year. We have great family support system around here too. I am not about to uproot our family to a different location just so I can get a job pertaining to my degree, especially when I didn’t have experience to back it up.

So, when my partner found out I knew how to code some in HTML and CSS–he suggested I should learn how to code other languages and should be able to find jobs a bit easier. Plus, it would be an ideal job for me–because as a deaf woman, I wouldn’t have to be face to face with customers or be in meetings on a daily basis as part of a job description (like retail jobs, anyone?). He was the one who looked into it and found Iron Yard. He went a step further–he visited the Iron Yard himself first and then later brought me in to meet with them to see how I like it. I became excited, because I realized this is something I should have been doing from the start.

I had enjoyed manipulating and designing websites many years ago–I remember how I spent countless hours learning how to do it from a book my aunt gave to me as a gift (it was an HTML and CSS book) and almost did nothing with my college assignments… 🙂 Somehow, I managed to get by.

When I realized the expense of going to the Iron Yard–I once again worried how we were going to manage our budget. I also considered going to UNCC Coding Boot Camp. Why UNCC Coding Boot Camp? Well, it is offered by the university and will give us a certification provided by the university. They do offer a 3 months full time course or a 6 months part time course. They teach a little bit of everything such as HTML5, CSS3, JavaScript, jQuery, Bootstrap, React.js, Node.js, C#, .Net, Database Theory, Bookshelf.js, MongoDB, MySQL, Command Line, Git, and many more. They offer career services, help you build a profoilo of web applications to show to potential employers. There’s so many benefits I can go on and on–but the Iron Yard still stood out for me.

The Iron Yard is a bit more specialized and still teach the front-end and back-end programming such as Ruby, Javascript, Terminal, HTML, CSS, Databases, Java, Cyber Security and many more. I learned that it would be better to be specialized in few languages and it would become easier to learn new programming languages later on. They have career support system, alternate weeks from activity day and lecture day (it depends on the concepts that we’re learning which is great). They provide 3 months of intensive program (Monday to Friday). That wasn’t the just the best part of it. I almost was ready to decline going to either boot camp because I wasn’t going to receive some help from the Vocational Rehabilitation (which I will explain a bit more in later post) until I received an email from the director, Michelle. She suggested I apply for the #YesWeCode Fund. I applied for the scholarship and suddenly in just the same day I applied, I received word that I was eligible for a scholarship to the coding boot camp (The Iron Yard). I was so ecstatic and in disbelief because I wasn’t sure if I was actually getting what I needed to change my life for the better and especially for my daughter. I emailed the Student Relationship Representative from the Iron Yard, Oliver with some questions regarding the scholarship.

It turned out I received the full scholarship to the Iron Yard! Excited by the turn of event–I decided the Iron Yard was the coding boot camp to go, not just because of the scholarship but the staffs they had were extremely amiable and very willing to work with me, even despite not being able to get an interpreter.

Oh, and please note–I did check into scholarships for the UNCC Coding Boot Camp, I didn’t find any. I also asked if they accept financial aids which they don’t either.

To read more about the #YesWeCode Fund, please go to #YesWeCode Fund: Scholarship application now open.

Iron Yard and Accommodations

Iron Yard is proving to be a great coding boot camp to go to.

I had a meeting with the director and the two instructors to discuss more about my accommodations. While they couldn’t sponsor an interpreter for my needs, they still had a lot to offer that I was really excited about. I found out that they changed how they structure the classroom setting. Originally, it was going to be a three hour mandatory lecture time Monday to Friday in the mornings then after that it was lab time (in other word, hands on coding).

Now, the new program will have a lot more hands on coding–which is perfect for me. I am a visual learner and I learn by hands on experience. Yes, lecture is important and they will have that–but they decided to make that “lecture” time for us to read notes and watch videos at night before the next class day–where we can focus more on hands on experience and the instructors will be there to help when we are struggling.

The director and the instructors were very receptive to my needs. I explained that while they talk clearly and have a deep voice (I understand people better when they have deep voice as opposed to high-pitch voice), I always have trouble understanding a student who makes a comment or have questions. I often had to turn around and see what the student is asking or commenting about. Luckily, the director explained that this would be a perfect practice for the instructors by repeating what the student said and then clarify their explanation themselves. The instructors agreed wholeheartedly.

They even go as far to mention that they will also provide a 1 on 1 mentor on a weekly basis to make sure that I’m fully grasping the new concepts.

The three of them explained that they are excited to have someone like me begin the program with them–because it will give them the experience they needed and know what and how to accommodate the next round.

From what I’ve learned so far–this is going to have a lot of hands on experience which is exactly what I needed. I may not be able to get an interpreter but I knew I can make this work. This is very similar to math classes. There were times that I told my interpreter that I didn’t need them in my math class because there were so much writing involved and I usually get lucky to have an instructor who speaks clearly and have a deep voice. In a way–this is a lot like math class. You’ll have instructors do some lectures but they will show you the codes up on the screen so you can follow along.

I’m excited to start with the The Iron Yard next week on Monday!

 

 

Coding Terminology

I am still doing some pre-work assignments provided by the Iron Yard. So far, it had been an easy ride until I hit some bumps. I’m noticing some various terms being used in the coding world that I’ve heard of but never really knew the meaning behind it.

  • What is API?
  • What is node.js?
  • What is the difference between Java and Javascript?

Knowing how I am, I knew I would go crazy with the research on the three questions I had so far–but I will take it all in a stride. I eventually will understand what they are. After all, I studied and practiced how to do SQL–so, I knew I can figure this out.

Right now, I’m reading up on Atom, a text editor, recommended by Iron Yard. From what I’ve read–it seems like it would create a smooth ride for me to learn how to code using Atom while avoiding issues I could have had with other text editors like browser compatibility. On the plus side, it is open source!

Now…I’m going to learn how to install the Atom text editor and see where that gets me.