The interview season for the 2018 summer internships is finally over. After over a month of interviews and tests at multiple companies, I will be joining Shopify as a Back-end Developer Intern.
In this article, I want to take you through my process for applying, preparing, and interviewing at Shopify. I also want to share with you some tips that I use when I apply and get interviewed for jobs.
I’m currently an undergraduate student at Concordia University in Montreal, Canada. I’m finishing the third year of my BEng in Software Engineering.
Generators have been an important part of Python ever since they were introduced with PEP 255.
Generator functions allow you to declare a function that behaves like an iterator.
They allow programmers to make an iterator in a fast, easy, and clean way.
What’s an iterator, you may ask?
An iterator is an object that can be iterated (looped) upon. It is used to abstract a container of data to make it behave like an iterable object. You probably already use a few iterable objects every day: strings, lists, and dictionaries to name a few.
An iterator is defined by a class that implements the Iterator Protocol. This protocol looks for two methods within the class:
The term “AI” is thrown around casually every day. You hear aspiring developers saying they want to learn AI. You also hear executives saying they want to implement AI in their services. But quite often, many of these people don’t understand what AI is.
Once you’ve read this article, you will understand the basics of AI and ML. More importantly, you will understand how Deep Learning, the most popular type of ML, works.
This guide is intended for everyone, so no advanced mathematics will be involved. …
Recently, there was some exciting news for developers around the world. Facebook changed the license of multiple libraries they develop. They switched from BSD-3+patents to a MIT.
That seems good, but what does it mean? What are the implications of different open source licenses?
This article will give you a quick understanding of the popular licenses. It will also teach you how to apply them to your open source projects on GitHub.
The most popular open source licenses have an important aspect in common. The Open Source Initiative (OSI) has approved them.
OSI formed in 1998 with the goal of promoting open source software. It has created the Open Source Definition (OSD) to define what an open source software means. …
Medium has a large amount of content, a large number of users, and an almost overwhelming number of posts. When you try to find interesting users to interact with, you’re flooded with visual noise.
I define an interesting user as someone who is from your network, who is active, and who writes responses that are generally appreciated by the Medium community.
I was looking through the latest posts from users I follow to see who had responded to those users. I figured that if they responded to someone I’m following, they must have similar interests to mine.
The process was tedious. And that’s when I remembered the most valuable lesson I learned during my last…
Sending sensitive information through the internet is always nerve-racking. What if somebody else sees the bank information I’m sending? Or even those dank memes that should not be spoken of?
Fortunately, there’s a pretty good solution to this problem: Pretty Good Privacy (PGP).
A software engineer named Phil Zimmermann created PGP back in 1991. He was an anti-nuclear activist, and wanted a way to transfer information securely over the Internet.
Zimmermann got into trouble with the US government in 1993 because PGP travelled international waters and reached a vast number of countries around the globe, violating US export restrictions for cryptographic software. …
For many developers, especially beginners, the terminal seems daunting. Some even find it inefficient and prefer to use a GUI application for their development needs instead.
While they might be right about some things taking longer when doing them in the terminal, they’re mostly wrong. Using the terminal is much faster than using a GUI, given the right setup.
The secret to speeding up your terminal workflow is the use of aliases.
Aliases are crucial to working in the terminal. They’re what domain names are to IPs. Nobody wants to remember
184.108.40.206 instead of