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. …
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.
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. …
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.
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. …
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.
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. …
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.
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. …