Now Playing Tracks

What Mentoring Has Taught Me

This post has also been published on Medium.

After studying the kinks and workarounds of the Microsoft Office Suite in my seventh grade “Computer Technology” class, I chose to buy an enlightening book about learning HTML and CSS to pursue my curiosity in the technical field. After learning this skill, I made static websites on a daily basis that helped me practice web design and understand how users interact with websites. Subsequently, I decided to embark on a journey of learning Java, an object-oriented programming language, because I felt learning computer programming was the next thing to do.

From then to now, I’ve learnt a few programming languagesworked on challenging problems, and interned for a company that helped me understand work ethic and how to finish every started project. After nearly four years of programming in plentiful languages, I’ve become a mentor for Coder Dojo.

While interning at DoSomething in the Summer of 2012, I met an ambitious engineer (also known as the “Drupalista”) named Rebecca Garcia, who opened me up to the idea of giving back to the young tech community in New York City, consisting of many students wanting to learn how to program and build products on their own. I immediately loved the idea, and began volunteering at the next possible session.

Immediately after my first time there, I learned two very strong lessons: ambition can come at any age andto work towards a goal.


“Intelligence without ambition is a bird without wings.” - Salvador Dali

The first lesson hit me right from the first session. When seven year olds were asking me about how to evaluate a certain problem using for-loops, it became apparent that ambition can come at any age. These students stopped at nothing to learn how to build video games, iPhone apps, and even websites by coming to every session and asking questions at every moment of uncertainty. I even helped a student that was a complete beginner to programming learn the basics of HTML, work on beginner Javascript animations, and begin using git for version control, all within one session. After every session, it becomes more evident that young students can exceed at learning to program and can truly look for great products to work on. With enough ambition, these kids can get a head start into programming and will have enough knowledge to create the games, apps, and websites we will eventually use everyday.


“The value of an idea lives in the using of it.” - Albert Einstein

Every once in a while, CoderDojo hosts a “drop-in dojo,” where students can come in with an idea for a program and a mentor/volunteer helps execute the idea to its full potential. I’ve begun to realize that novice programmers should attach themselves to a certain project, one that challenges what they don’t know and leaves space for what they already know.

Compare this to someone who wants to be able to speak enough of a language to survive in a foreign country for a month. The tourist won’t learn about letters, characters, and the sentence structure of the language, but rather the phonetics and how to say popular phrases.

We teach kids to start a project with an idea and to finish with their desired program running. CoderDojo doesn’t feel a student knows a sufficient amount in a language after taking a test or after doing homework, but rather by being able to complete a project using that language or framework. If you want to learn to program, have a goal in mind. Don’t learn everything about the language, just learn enough to complete your project and move on.


I was very fortunate when I began programming at a young age. I had a decent computer in the house that I could use on a daily basis, was blessed with programmer friends that could answer my questions no matter how elementary, and always had the opportunity to go to a nearby Barnes and Noble and pick up tons of books on a specific language. At CoderDojo, we help those with and without every privilege receive sufficient education to build what they want. We make sure every student has every resource they could ask for to complete their desired projects.

While mentoring at CoderDojo for the past few months, I’ve quickly come to the realization that the students can be very passionate for innovating and creating. The fact that students at the age of 7 are able to ask questions that college-graduate mentors have trouble answering blows me away at every session. Alongside stumping the experts, the students also come in with brilliant ideas for products that they wanted to build. Many students, in fact, leave the session with a working prototype of the ideal product that they wanted to build. Overall, mentoring has been nothing but a magnificent learning experience and I’ve been very lucky to teach some ambitious kids to program.

What Is Clean Code?

Since I began programming, I’ve always considered a program to be extremely similar to a math problem. You start off with a little information/idea, work hard towards your solution, and then get your end result. What happens in between the idea and finished product shouldn’t matter, “as long as it works”. The notion of such a simple process was one of the worst mentalities that ever crossed my mind. There are lots of things to be accounted for during the formulation of the end result in programming, similar to math.

How can one person’s code be better than someone else’s?

The distinction between a good mathematician and a bad one is very similar to the test you put a programmer through to see his/her skills. The end product is obviously a huge portion of computer programming, but there are other factors that determine whether your code is beautiful and readable comparable to another programmers’ work.

Some factors I take into account to make my code organized and readable:

Readability

  • Can someone look at your code and understand what’s going on?
    Or is it a cluster of equations with no specific order? 
  • Ask a friend to read over what you’ve written. If he/she can’t
    understand the processes and the functions, consider adding
    comments or having better variable names. 

Indentation

  • Though this may fall under readability, I feel this is something that needs to be pointed out. Sometimes, order and placement of code may not fully matter (in terms of readability), but the way you’re indenting your code is critical for it’s organization.
  • If your code looks like an essay, consider indenting; Indentation provides an actual outlook on how processes are being run in the program. 
  • Example of good indentation:image
  • Example of bad indentation: image

Performance

  • Is your code working or is there a bug every time you move your mouse? Make your code as simple as possible for the purpose of keeping bugs out and for keeping functions working.
  • Is it simplistic? Some base performance on the amount of lines written for the program. If you can write your program in a minimal amount of lines, you can code well-performed code.

Variable names 

  • If you’re still using variable names like ‘x’ and ‘a’, you need to learn to be more descriptive. Being illustrative with your variable names will help you use them later, and not initializing more variables with the same algorithm.

If you’re a novice programmer, consider these factors as you write your Hello Worlds. Though they may seem insignificant, once you’re writing thousands of lines of code, creating clean code is needed for your program to work well. If you’ve ever wondered what clean code consists of, I hope I answered your question. 

Elon Musk: A Self-Made Entrepreneur

Recently, I decided to write down a few paragraphs about my favorite entrepreneur. Elon Musk is the founder of Zip2, PayPal, Tesla, and SpaceX. The reason I chose Elon Musk to be my number one contender is: he’s willing to risk everything for the progress of the company and the beauty of the product. He’s built companies with all the money in his bank account, and didn’t expect success or profit.

His companies have disrupted the industries that they entered and have changed the world in a different aspect every single time.

Lessons Learned at Startup School

In my most recent post on the Huffington Post, I discuss my experience at Startup School, an event sponsored by Stanford BASES and Y Combinator.

At Startup School, tech startup founders came and spoke about how they built their business and gave tips to attendees about the lessons they learned along the way. There were countless things to learn from the experienced speakers and the hard-working guests of Startup School as a teenager.

16.

Today’s my birthday. Every year older I get, I will try to make a list of (5) goals I want to achieve before my next birthday. Here’s my list until September 23, 2013.

I was more involved with the tech community than ever before, at the age of 15. Here are a few accomplishments since my last birthday:

  • Got an internship at DoSomething.org.
  • Got Straight A’s. Woo!
  • Started this blog.
  • Took filmmaking courses at the local community college.
  • Started going to tech meetups, shows, and classes in New York City.

Here are my top 5 goals until I turn 17.

  • Get my permit.
  • Make a feature-length film in my free time.
  • Work on an app/site that requires over 72 hours of work.
  • Get another internship, preferably as an iOS developer.
  • Travel (more) domestically.

Go out and achieve your goals.

The Chronicles of my Internship at DoSomething

I started counting down the days until my internship at DoSomething.org from the day the summer started. As soon as my internship began, I fell in love with the workplace. We rode scooters around the office (freakishly addictive), had meeting rooms named after themes from superhero movies (Xavier School from X-men), and we worked with extraordinary people with unbelievable backgrounds. In summary, Fridays were the dreaded days, whereas Mondays were the days we waited impatiently for. 

Read More

We make Tumblr themes