Revisiting this year’s resolution – Javascript and more

I know it is June and I am a bit (too) late to discuss my new year’s resolution. But the internet is free and I do have the right to write anything I want. So, to hell with formalities, here I go.

One of my biggest resolutions for this year was to work on more side projects and develop skills that I have always wanted to have and really passionate about. The skill that had easily topped my list at that time was ‘JavaScript’. Yes, you read it right. I desperately want to learn this language well and eventually want to start teaching it, speaking at conferences about it as well as contributing to open source. 

So, what have I achieved so far?

As I said, half of the year is already gone but I would like all of you to take a look on what I have done so far.

  • Frontend Masters is a site dedicated to teach advanced web development skills. The course content is top-notch and state-of-the-art. However, the best perks for me are to get to know the awesome instructors and opportunity to join LIVE workshop with them.However, the courses I have completed so far are:
    • Introduction to Web Development by Nina Zakharenko
    • Introduction to JavaScript Programming by Kyle Simpson
    • JavaScript: From Fundamentals to Functional JS by Bianca Gandolfo
    • CSS3 In-Depth by Estelle Weyl
    • Mastering Chrome Developer Tools by John Kuperman
    • The Good Parts of JavaScript and the Web by Douglas Crockford
    • Advanced JS Fundamentals to jQuery & Pure DOM Scripting by Justin Meyer
    • Advanced JavaScript by Kyle Simpson
    • Asynchronous Programming in JavaScript (with Rx.js Observables) by Jafar Hussain
    • Introduction to HTML5 and CSS3 by Christopher Schmitt
    • Creating an Open Source JavaScript Library by Kent C Dodds
  • Freecodecamp (created by @ossia) is a free, open source, full stack JavaScript learning platform. I find this website extremely useful to test my knowledge by working on small-scale projects that are well-described and well-organized. That way, it’s easier for a beginner to concentrate on the problem in hand rather than spending considerable amount of time in setting up the local environment. I have earned Front End Development Certification by completing 10 different projects and many more algorithm challenges. All my code and problem solutions are available here.
  • Udemy is another repository for online courses. However, I have completed one course from here so far but would highly recommend it to everyone who would like to give it a shot. The Web Developer Bootcamp by Colt Steele.
  • I got involved with Women Who Code-Silicon Valley and gained experience in hosting/organizing  tech-meetup series in Silicon Valley. Being one of the leaders of this chapter, now I have the opportunity to teach JavaScript in local meetups as well as learn from many more developers along the way.
  • I attended two big conferences in the past few months viz. Google I/O 2017 and IEEE Women In Engineering . They were both great and highly recommended for anyone who would like to network with like-minded people.
  • My work on ‘Reducing Gender Gap in Technology’ got noticed and I got the opportunity to be interviewed by Stanford’s 90.1 KZSU Radio Channel. You can listen to my full interview here.

Now that you know what all I have done so far, its time to tell you about my upcoming 6 months plan. Why? Well, first, Accountability. As they say, ‘having an accountability buddy always helps to achieve your goal faster’ and now I have not one but all of you to hold me accountable. 🙂 Second, simply for the sake of journaling. I should be able to quantify my progress at the end of the year and a concrete documentation will help me to measure my success/failure when the right time comes.

What am I going to achieve next?

  • Frontend Masters Courses:
    • Full Stack for front-end engineering by Jem Young
    • Interactive Data Visualization with D3.js by Shirley Wu
    • Complete intro to React v3 by Brian Holt
    • Webpack 2 – Deep Dive by Kent C Dodds
    • Sass Fundamentals by Mike North
    • Data Structures and Algorithms in JavaScript by Bianca Gandolfo
    • Advanced Asynchronous JavaScript by Jafar Hussain
    • Testing Javascript Applications by Kent C Dodds
  • I would like to earn two more FreeCodeCamp Certifications viz. BackEnd Development Certification and Data Visualization Certification.
  • I have two Udemy Courses in mind that I want to complete.
  • Speaking more at local meetups. I really want to get more comfortable with this process.
  • Webpack: Definitely the highlight of my second part of the year. This is my first ever big scale open source project and I am really excited to learn about it.

Thats all for today. I intend to write regular bi-weekly posts in order to track my progress and keep all of you posted. Do you have any advice? suggestions for me? Please feel free to drop me a line. 🙂

However, I do not want to end this post without thanking all my online mentors who are continuously helping me to grow. Thank you Sean, Kent, Ben, Quincy, Marc and all the other awesome members of this community for putting so much hard work into this process. You guys rock!!


Academic writeup collections

Here is a collection of some of the Academic blogs/webpages/writeups that have always been very inspirational for me (some of them are on Computer Science).

  1. 3 Golden Rules of Scientific Research 
  2. Volatile and Decentralized
  3. The great Mathematician, Ramanujan
  4. Teach yourself programming in 10 years
  5. List of Turing Lectures
  6. The identity crisis in Computer Science
  7. We don’t need beards to achieve in computing
  8. Coding Horror
  9. Black Female Coders
  10. How to be effective 

Enjoy !!

Importance of Keeping a Journal

I have been reading few articles on the importance of keeping a daily or weekly basis journal recently. Here are some of the interesting view points that I came across.

“Getting things done”
This talks about a concept called “Brain Dump”. Basically it consists in writing down in a system all the things that we need to do or may want to do at some point. Absolutely Everything. It has been proved that if we don’t store our tasks in an external system, our mind will take the responsibility to remind us repeatedly that we need to do them causing excessive stress. Writing everything down somewhere make our mind more calm and peaceful.

“Seven Habits of Highly Effective People”
I came across the name of this book from another blog. According to the author, we, the humans, are a composite of our habits which are consistent and often unconscious patterns. In the words of Aristotle, “We are what we repeatedly do. Excellence,then,is not an act,but a habit”. In this book, he has pointed out 7 habits shared by all truly effective people. Fortunately, these habits can all be learned and they can help you to give you the character to succeed.

  1. Be Proactive:
    Recognizing our own responsibility to make things happen.
  2. Begin with the End in Mind:
    We should know where we are going so as to understand where are we now. Then only it is possible to take the next step in the right direction.
  3. Put First things First:
    It talks about self-leadership and self-management:putting first things first. Leadership decides what are the “first things” and management is the act of carrying out your program. Here is a beautiful quote that says, “We don’t manage time. We can only manage ourselves”
  4. Seek to Understand, then be understood:
    The most important word that we need to know in mastering this habit is ‘listen‘. Listen to everyone but not with intent to reply, to convince, to  manipulate. We should listen just to understand. Its powerful because it gives us accurate data to work with instead of assuming our own ideas and motives.
  5. Think “Win/Win”:
    This talks about building up relationships with others. Here, the author uses a metaphor called ‘Emotional bank account’ to describes the amount of trust that has been built up in a personal relationship. We should build up trust with some people in our circle through courtesy,kindness,honesty, and keeping our commitments. Once this stage is reached, even if we make mistakes, the trust level compensates for it and the communication becomes easy, instant and effective.
  6. Synergize:
    Synergize is the habit of creative cooperation. Synergy means that together we can produce something that none of us could have produce individually.To be able to achieve synergy, we need to have enough integrity and internal security to open up to other people’s influence. We need to be able to emphatically listen to other people before trying to make our own point.
    7. Sharpen the Saw:
    We should always take the time to sharpen our mind and body to be better equipped to apply the 7 habits in life. We need to constantly renew all four aspects of our nature viz. Physical, Mental, Social/Emotional and spiritual.“To become strong, renew the spirit”.