It’s Sunday following the 10th week of Tech Elevator’s 14-week coding bootcamp.
This week we learned about JavaScript with a commonly used library called Jquery and a styling library called Bootstrap. We also intensified our career search in preparation for upcoming ‘matchmaking’ events. I described matchmaking in Week 3. It’s basically the job interview version of speed dating. In the next two weeks, I’ll have ten 30-minute interviews through matchmaking.
If you’re not familiar with JavaScript, it’s a dynamically-typed, front-end language used to create dynamic web pages. What does this mean and how is it different from other programming languages?
JavaScript is technically an html scripting language, which means it’s used to interact with HTML elements on a web page. Our discussion of JavaScript brings us back to the other two front-end technologies which I discussed in Week 7; HTML and CSS. When I say front-end, this means they work entirely in the browser. Each time you go to a web page, your browser sends an HTTP or HTTPS request, then gets back a combination of HTML, CSS and JavaScript files accompanied by any pictures or other media required to load the page. HTML holds the page’s content, CSS determines its style, and JavaScript tells the browser how the page will behave.
If you’ve ever seen items fade into or slide across a page, this is JavaScript at work. The most popular and easy-to-understand examples of JavaScript are pop-ups and click ads. However, there are thousands of ways to apply JavaScript that have nothing to do with annoying ads or pop ups; a few examples are data validation and creating a more appealing user experience.
To learn JavaScript, you first need to understand its basic functionality. As I said before, JavaScript interacts with HTML elements. Two fundamental parts of JavaScript are ‘selecting’ HTML elements and listening for ‘events.’ Selecting HTML elements allows us to act on them; we can do anything from changing text color, to making the item disappear or move on the screen. HTML events happen from the user’s perspective and trigger JavaScript to act on the web page. The most common event is the click event, in which the user clicks on an element, but there are many more; check out this list of events. To create events, you write event handler functions in JavaScript, which continuously listen for a particular event on a specified HTML element and execute the event when it happens. For example, let’s say we want a paragraph to disappear when the user clicks a collapse button on our web page. To do this, we would write an event handler function to listen for a click event on the collapse button’s HTML element. When the user clicks the collapse button, the event handler would change the block of text’s CSS display property to hidden. If this example goes over your head, no worries; it will come with time.
In learning JavaScript, you’ll often run into the term ‘DOM,’ which stands for Document Object Model. This is a fancy way of describing how your JavaScript manipulates the HTML and CSS for a particular web page. “The DOM” is often interchangeable with “the HTML page.” There’s some more to it, but don’t let unfamiliarity with the term scare you away.
Tech Elevator required students to complete about 30 hours of pre-work before starting the bootcamp which included some JavaScript. I’d learned basic JavaScript before enrolling with Tech Elevator as well, so the language was nothing new.
Our classes this week focused on a JavaScript library called JQuery. JQuery is the most commonly used JavaScript library and makes the core functions of JavaScript easier.
We learned how to select and manipulate DOM elements, create event handlers, and do client-side validation. I touched on client-side validation in comparison to server-side validation in Week 8. In short, it allows us to ensure the user enters valid information into a web page without reloading the page from a server. For example, if you type a value into an “Email” text box that doesn’t have an ‘@’ sign, client side validation will give you a warning to the effect of “Please enter a valid email address.” Doing this with JavaScript is much faster than server-side validation, which dramatically improves the user experience.
After this week, I can write all of the JavaScript functionality for a basic website. This is one of the final pieces of becoming a ‘full-stack’ developer, which means I can write every part of a web application.
As I said earlier, the first of two Tech Elevator matchmaking events is next Wednesday, and I couldn’t be more excited. Over the next two weeks each student will complete at least nine 30-minute interviews with prospective employers who need tech talent. Each student gets to pick their four favorite companies, and are guaranteed to interview with three of them.
I continue to be impressed with Tech Elevator’s career services. Tech Elevator not only gives students the tools to become developers, but connects them with reputable and impressive local companies. In chronological order, I’ll be interviewing with Cardinal Health Fuse, Cardinal Solutions , PriorAuthNow, IGS, nChannel, Improving Enterprise, HMB, CoverMyMeds, ICC and RevLocal. Tech Elevator also connects students with employers who don’t attend matchmaking, one of which I have a phone interview with next week.
If you read my post last week, I’m still working feverishly on my passion project, and am hoping to have it up and running before the end of the bootcamp on April 21st. More updates to come.
Thanks for reading! As always, reach me at joeosterfeld@gmail.com with questions.
PS- I didn’t provide much clarification on what “dynamically typed” means with JavaScript. This term is often synonymous with “weakly-typed.” It will give you a better understanding how JavaScript compares to many back end languages. Here’s a good link to learn more.