Hand holding large ring of light.
Hand holding large ring of light.
Photo by Chaitanya Tvs on Unsplash

Understanding Big O Notation and Time Complexity is invaluable for a programmer, so what are Big O Notation and Time Complexity, and how do you find them for an algorithm?

Big O Notation is mathematical notation that defines algorithm efficiency. That is, how our runtime grows relative to input size. We talk about growth of runtime rather than speed as speed varies drastically. A powerful computer will run code faster than a weaker computer. Rate at which the runtime increases is independent of such factors making it a better measure of efficiency.

Time Complexity is what describes rate of growth by how many steps it takes to run an algorithm. We often represent time complexity as a simplified function, expressed with Big O Notation. …


Image for post
Image for post
Photo by Magnet.me on Unsplash

To land a software job you need to be prepared for each stage of the interview process. It begins with catching the attention of an employer, involves coding, and ends when both you and the company agree on an employment offer.

In this article I am going to go through each stage and cover what I have learnt over the years, which I still apply to this day when seeking new jobs.

Step 1 — Getting your Foot in the Door 🚪

So you have just graduated, or are feeling really confident in your self-taught skills, and you are ready to fire your resume across the Indeed, LinkedIn, and Glassdoor landscape. …


A Software cover letter for a job I ended up landing

My software cover letters almost always follow a similar pattern. I start with a friendly opener, mentioning the role and covering my pertinent personal qualities.

Keep in mind: I tailor every section of my cover letters to the role. The company mentioned they wanted someone who was comfortable working on new projects as well as joining established ones, so I bring it up. Even if I don’t have experience with a requirement, I will at least show interest in it.

Hello Company.

My name is John and I am interested in the Junior Software Designer position advertised on your web site. I am curious, passionate, driven, and a fast learner, who will put in the extra hours to accomplish what I seek to achieve. I can work on an existing project or build one up from scratch, and am not above learning from those around me with more experience.


How to keep it clean, legible, concise, and a bit casual.

To begin with, you can take a look at my resume, and then we will go from section to section discussing each one, including tips, tricks, the reasoning behind choices, and what I aim to convey within each.

Image for post
Image for post

Right Side vs Left Side

The first thing you might notice is that my resume is divided vertically into two sections. I give the right side a lot more space because it is the first place I want recruiters' eyes to go after they have seen my photo.

The right side covers the most pertinent information in regard to my candidacy, who I am as well as my professional and educational experience. Often this is what recruiters are looking for, so I want them to be able to find it without even having to look. …


Image for post
Image for post
Photo by Samantha Sophia on Unsplash

In August of 1971, Philip Zimbardo ran a gripping experiment at California’s Stanford University known as the Stanford Prison Experiment. Over six days and using students as full-time participants, Zimbardo studied the psychological effects of perceived power, specifically between prisoners and prison officers.

The outcome? Guard behaviours — some of which were considered “genuine sadistic tendencies” by Zimbardo himself — lead to psychologically damaging situations, and certain “prisoners” needing to be removed prior to the completion of the experiment.

Bear in mind that this experiment involved students exclusively.

It was determined that it was the simulated-prison situation and perceived power of authority, rather than personality traits, which had lead the students to behave in such an inhumane manner.


Silver macbook with book and phones nearby.
Silver macbook with book and phones nearby.
Photo by Fabian Grohs on Unsplash

When I think of essential programmer qualities, I ask myself what is required sit at a computer for lengthy periods, absorb highly technical info, solve complex problems, and maintain productivity in the face of what seems to be an ever increasingly distracting world.

Attention Span & Focus are two of the most important, and often ignored, skills of a programmer.

What is Attention Span Really and why do we Need it

Attention span, generally, is your ability to focus on a task at hand without being distracted. Your attention span is not set in stone however, and over the years I have found that mine has varied wildly. …

About

Trev

Teaching software topics to ensure I understand them

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store