JavaScript Tutorial

Aprende JavaScript desde cero

JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.jsApache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, single-threaded, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles. Read more about JavaScript.

This section is dedicated to the JavaScript language itself, and not the parts that are specific to Web pages or other host environments. For information about APIs specific to Web pages, please see Web APIs and DOM.

The standard for JavaScript is ECMAScript. As of 2012, all modern browsers fully support ECMAScript 5.1. Older browsers support at least ECMAScript 3. On June 17, 2015, ECMA International published the sixth major version of ECMAScript, which is officially called ECMAScript 2015, and was initially referred to as ECMAScript 6 or ES6. Since then, ECMAScript standards are on yearly release cycles. This documentation refers to the latest draft version, which is currently ECMAScript 2020.

Do not confuse JavaScript with the Java programming language. Both «Java» and «JavaScript» are trademarks or registered trademarks of Oracle in the U.S. and other countries. However, the two programming languages have very different syntax, semantics, and uses.

CSS Tutorial

Aprende CSS desde cero

Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a document written in HTML or XML (including XML dialects such as SVGMathML or XHTML). CSS describes how elements should be rendered on screen, on paper, in speech, or on other media.

CSS is one of the core languages of the open Web and is standardized across Web browsers according to the W3C specification. Developed in levels, CSS1 is now obsolete, CSS2.1 is a recommendation, and CSS3, now split into smaller modules, is progressing on the standardization track.

HTML Tutorial

Aprende HTML desde cero

HTML (HyperText Markup Language) is the most basic building block of the Web. It defines the meaning and structure of web content. Other technologies besides HTML are generally used to describe a web page’s appearance/presentation (CSS) or functionality/behavior (JavaScript).

«Hypertext» refers to links that connect web pages to one another, either within a single website or between websites. Links are a fundamental aspect of the Web. By uploading content to the Internet and linking it to pages created by other people, you become an active participant in the World Wide Web.

HTML uses «markup» to annotate text, images, and other content for display in a Web browser. HTML markup includes special «elements» such as <head><title><body><header><footer><article><section><p><div><span><img><aside><audio><canvas><datalist><details><embed><nav><output><progress><video><ul><ol><li> and many others.

An HTML element is set off from other text in a document by «tags», which consist of the element name surrounded by «<» and «>«.  The name of an element inside a tag is case insensitive. That is, it can be written in uppercase, lowercase, or a mixture. For example, the <title> tag can be written as <Title><TITLE>, or in any other way.


How I landed my first job as a web developer, with little time to study! My tips for beginners!

I started my first job as a web developer / design with a government agency almost two years ago and I want to share that experience with you.

I want to start with a background about how everything started. I wanted a website to post my Spanish Christian devotionals in the web so the people could read them. No, I did not want to use Facebook for that purpose as a lot of people was pointing as the solution. After a small research I found Weebly as the CMS to go for reasons that I actually don’t want to point out. So I made my first website. During that time somehow I fell in love with graphic design and after some more research I found web development the way to go and was determined to learn the most popular programming language in the world, Java Script.

As a full time employee, married man, father of three and christian religious committed I found myself in a dilemma. I have to give up something in order to make up the appropriate time to learn. Something I could never do! Really, deep in my heart I knew I had the cognitive capacity to learn a programming language, even at my after 35 age years old, age was not a limitation at all, just the time I did not have. So I found ways to learn at my own pace. After a couple years in the process I finally landed my first job, exactly what I needed to put what I have learn into action and still learning new skills. Keep reading for some tips and advise if you are in the self taught developer path.

Do not jump into a boot camp too fast

Unless you already master the basic skills, my recommendation is learn the basics first, I mean HTML, CSS, JAVASCRIPT as some frameworks and libraries. The first thing you will realize if you have no previous experience or very little knowledge about web development, is that will be impossible to learn everything in 3 months. Boot camps will make you dream with a $70,000 job in 3 months, but not to discourage you, that is not the reality.

If you are just starting, there are a lot of free resources as cheap courses where you can learn great skills. One of my biggest frustrations was that I completed a master degree in Curriculum and Instruction for what I could never got a job related. While doing some research I found web development and programming in general a great field of growing, so I went for it until I could land a decent job. And if I my age I could make it, you young people reading this, you can make it as well!

Just take your time to learn the basics and when you feel comfortable enough, and you can afford a boot camp, go for it!

Take advantage of the free resources!

There are a lot of organizations doing great things for beginners web developers, they have plenty of free content that you can take advantage of right now!

  1. Freecodecamp – I believe this people are the creators of Medium, which is another great resource and they are making an enormous contribution to the web development community with their free resources and learning curriculum. Big kudos for them!
  2. Udacity – this page offers a lot of free courses and premium degrees at an affordable price. I believe Google is their main supporter, go and give it a try!
  3. Flatiron School – they offer a free introduction to Javascript where you can learn a lot of one of the more popular languages in the world.
  4. Skill Crush – this website also offer a free coding bootcamp that can be very helpful for starters. From HTML and CSS to Javascript and Design.
  5. There is a lot more – the web is full of free resources that can be very helpful for starters. Check out this page listing 100 free resources for web development.

If you go for the free resources as a beginner, I believe is the right first step to take, also, as an added note into that, once you start a course, please completed, I remember at the beginning I was desperate to learn how to do something specifically and tried to skip throughout the course or look into another course to find out there are hundreds of way to accomplish the same goal.

Finally, another good resource is YouTube, with so many good developers teaching the basics and some more about web development. Go check it out! Once you get the hang of the fundamentals, go ahead and prepare for the bootcamp if you will. Check out the following resources where you can learn more in depth by paying.

Don’t be afraid to spend money for learning

Either paid subscriptions, or courses for a flat fee, it will still be cheaper than going to college or a boot camp. Here are some of my recommendations for learning if you are willing to pay a fee for learning. I assure you they are not only code along, but great instructors.

  1. Wes Bos – This guy is very popular on the web, he has great resources about web development, if you are willing to pay for his work, you won’t regret. He also has a very popular podcast with the latest topics and web development conversations.
  2. Kevin Powell – Kevin specializes in HTML and CSS, if you are into that, is worth to spend the money in his work.
  3. Level Up Tutorials – Level Up tutorials is run by Scott who also offers great value for the money into the full stack web development.
  4. Brad Hussey – I like this guy and the way he teaches, I have learned a lot from him if you want to go and check it out. Even though he teaches web development he has a big focus on how to success in freelancing.
  5. Academind – they recently released their own learning platform, Max is an awesome and very savvy web developer.
  6. Brad Traversy – Brad is one of the more helpful developers, even though he does not have his learning platform yet, his youtube channel offers a lot of free quality content. Give him a try!

There are a lot more of great resources, I did not include any subscription service, just because I never used one, since sometimes I could spend a weekend learning also sometimes a month went throughout and all I could do was to read and listen to podcasts due my time limitation.

Find your preferable learning method

As an instructor, on my field for now, I know there are different type of learning methods. Some people can learn by watching videos, others learn by drawing in a board while others grasp better by reading books. That is something that only you can find out.

I realized a lot of the free videos and resources are code along style, even though that is not teaching, you still can learn some about it. So my point is to encourage you to find your learning method as to find a great instructor where you can get the most.

Web development is not about sitting down and copy paste what you created coding along, you need to sit down with some ideas, and start coding to create them. That’s when you learn the most. So don’t be afraid to start your own ideas, and don’t expect to complete everything in one sit.

Create your personal portfolio

After some time (is relative) you will be able to find clients and make a good looking website for them, however is very important to create your own website with a portfolio of the best of your work up to date.

Create a notebook with clean notes

It is a great practice to sit down with a notes application to take notes as you take a course. Save snippets on how to do something, save instructions on how to create a setup for a specific library or on how to work with GitHub, etc.

Notes are very important and also you can use them as references for many purposes. With time, you will realize how helpful it is to type or write your notes as you take a course.

Make sure your notes are well organized so when you search for them be easy to find. I don’t stress enough notes are very helpful in the learning process regardless of your learning method. On my opinion, the best software to do this is Microsoft One Note. A real notebook with great organizational features.

So what I did to get the job

All of the above, during my little free time, all I used to do was to code, watch free courses, buy Udemy courses, read about web development, listening to podcasts, etc. Until I found my place in a government agency working as a bilingual Spanish web developer/design.

If you know and want to share your own story and or resources where beginners can learn for their money, please share and thanks in advance!


Overcoming Frustration in Programming

Is programming hard? That is relative. Is programming for a specific set of brain characteristics? No on my opinion. What is programming hard relative to? Well, that’s why I want you to read this.

There is one common denominator when we talk about the hardships of programming, regardless of what is your preferred programming language and that it is FRUSTRATION. When you try to learn a specific language, to master a framework, or even to do something with what you have learn and there it is, always that one bug that makes you either steam up, hit your desk, scratch your hair, sometimes scream, get anxious and so on. Welcome aboard.

There is a phrase that I heard and is very accurate:

“Programming is 30% coding and 70% debugging.”

– Anonymous

And that is nothing but true! We spend a lot of time debugging, re planning as we move on with our project, for good or for bad. And sometimes frustration knocks the door, but I want to tell you the key to overcome frustration in this post if you are new to programming.

My words about frustration

Here are my words about frustration in programming, this is all based on my own personal experience and I hope that they can give you some light or serve of any help.

Frustration is a path

I want to start saying that frustration is a path, yes, to either embrace, commit and get better in what you want to learn and do or hate it, discourage and walk away.

To the questions, is programming hard to learn? I believe that it is relative, I mean is not the easiest skill to do, and in a world where most of the people want to go the easy way, most of it will think that programming is hard to learn, but is also very rewarding. So my answer is based on if you are interested on learn how to programming, your success will depend on how much you can cope frustration.

So frustration can help you to either learn or get discourage.

Frustration is an ongoing issue

I believe that in programming, frustration is just part of the learning process, you start learning something, you get frustrated at times, you learn, go to the next goal and repeat. Is a lot like life (lol).

Some people start learning and do well with the basics let’s say in web development HTML, CSS, Java Script, they find a job and stop learning right there, and is OK, but if you are willing to keep learning new technologies and move on, your most important skill is on how to deal with frustration on my opinion.

Whatever your goal is as a programmer, you will have to deal a lot with frustration.

Frustration can be your main ally

When we talk about frustration, it can be our main ally if we really are willing and determined to accomplish something. Sometimes I am sit on my computer programming until I face an unexpected bug. I go to stack overflow, review my notes, my courses, etc. and I just can’t smash it. I realize I am tired and need a break.

Next time I sit to continue the project, I feel sharper, more focus, connecting all the dots until I find the repellent for the bug. And that is one of the main things that I have learn about frustration, when you really have the will to overcome it, all of your senses come together until you are able to make it out.

If you don’t let frustration to intimidate you, you got half the battle win. Yes, it is a lot like life!

Let me know your thoughts

Yes, frustration have inspire so many solutions to real world problems, specially in programming, at the end, that is what I like to code for, to provide solutions to people who are dealing with frustration.

It is the skill to overcome it, the most important one when we talk about learn, develop and grow in the programming world. The skill to face an overcome frustration.

Tell me what do you think and your story about frustration and the process of learning a programming language.