Things you should know, before you start learning python or javascript

Shivek Khurana
6 min readAug 4, 2018

--

Photo by Ben White on Unsplash

In my last post, I offered assistance in getting started with code. 7 people responded. Their queries made me realise that my posts didn’t have a beginner’s perspective. Questions I received were on the lines of :

  • “I’m starting school(college), which classes should I take ?”
  • “I’m at school studying C/Java and want to get into a software oriented job, how should I go about it ?”
  • “I’m currently working in an enterprise setup and want to expand my skill set, which frameworks should I pick up ?”

These are tough questions. They are also very critical.

Code from outside the industry seems to be like magic (To me it feels like magic from the inside too). You type a lot on a black screen and you get an app.

Think of software as a movie. Say Up (I like that movie). Now imagine what goes into making that movie.

Somebody wrote the storyline, imagined the scenario and the characters. (Let’s call this the soul of the movie)

Someone else sketched those characters, gave them voice and a clothing sense. There must be a team that was responsible for imagining the background scenes, the furniture and other minute details. (Let’s call it the frontend — i.e what the audience saw)

Then another team took all of that and used their animation skills to bring it to life. (Let’s call this the backend — i.e. what went into building the frontend)

People who wrote the story might also know how to sketch and animate. People who designed the costumes might also be writers. But they played a specific role because either they like doing it, or they get paid more to do it.

Why a movie analogy, you might be wondering ? Well, reading further will connect the dots.

There are two ways to grow in the tech industry.

Philosophically sound but slow path

Is there anything (not necessarily tech related) that you are interested in ? It could be medicine, biology, personal finance, nail art, revival of medieval fashion, increasing farm land yield, creating better music or something else.

Photo by dorota dylka on Unsplash

Ask yourself what interests you because technology is omnipresent. Once you have a problem you’d like to solve, build something around it. A website, an app perhaps.

This is the way I got started. My football training back at high school made me addicted to working out. There were not many apps that’d let me record my sessions. I wanted to fix this. Google told me that a website can be used to store and retrieve data and this is how I built my first web application using php and html.

If you find something like that, you can ask Google (you can also ask me) about the what will be the best channel to target— an app, a website or an sms based service. Once you have a goal, tech becomes merely a tool to reach it.

By following this path, you build the soul first. You might find someone to build the characters or animations. You might end up building them yourself.

You first app will not be as polished as snapchat. It will have many bugs, but I personally prefer a movie with a good story over a movie with better vfx.

Ethically relaxed but fast path

Photo by Robin Pierre on Unsplash

If you want to explore the landscape, you can learn one of the following verticals and start freelancing, a job or even start building a business :

  • Frontend Development : This includes everything you see on a website. The buttons, the lists, all the pages and the logic around them. Remember the movie analogy ? The movie as you saw it in the theatre was the frontend.
  • Backend Development : This includes modelling the business domain, storing and retrieving data inside a database and most parts of the business logic. The effort that went into building that frontend, the animation tricks (re; movie analogy) and the camera positions can be thought of as backend.
  • Mobile Development : This is very similar to frontend development. The only difference is access to more sensors than a website.
  • Data Science : This includes analysing tons of data to draw meaningful insights. Data science can be used in business, research and opens the way for machine learning and artificial intelligence.

Depending on the vertical that interests you the most, you can start learning :

  • React is the defacto standard for Frontend.
  • For backend, I’d suggest Node + Express (Js) but you can also look at Django or Flask (python) or Rails (Ruby) or Laravel (Php) or Yada, Pedastal (Clojure).
  • Mobile development can be done using React (Native). That’s my personal suggestion, but some people prefer Java and Swift/Obj C.
  • The data science world loves python. There is tensorflow and pandas.

Once you have chosen your path, start building and publishing. Build simple stuff, record video demos put them on GitHub and youtube. This goes for all three problems (which class to take, how to go about getting a software job and expanding your skill set).

Build your portfolio. Build simple apps. When you introduce yourself, don’t tell them what you know, show them what you built. That’s more authentic.

Imagine Trent Opaloch walking up to you and saying I can operate cameras and landscapes and my job is to visualize the director’s dream. (Trent who?). Now imagine the same person walking up to you and saying, I’m a cinematographer. I helped direct Avengers Infinity War. Which Trent will you relate to?

Once you have 1 or 2 apps in your portfolio, you’ll begin to understand the intricacies of programming languages. You should not wait to build a massive portfolio before you start applying for jobs (or start taking up more responsibilities at your current job). 2 apps are enough.

Hi, if you liked this article and want to keep updated, follow me on: Medium, Instagram or Twitter

You might also like:

Ta.

--

--

Shivek Khurana
Shivek Khurana

Written by Shivek Khurana

🏋🏻‍♂️ Founder — Building Meta Blocks — The NFT evolution protocol | 🔫 Talks about 📜 code, 🏛 crypto, 🕸 web3 and 🪖 ed-tech | 👼🏼 Angel Investor | W

No responses yet