Categories
Advice

You Going to Swipe Left or Right On This?

Swipe left or right on code? Next killer app for code reviews? I won’t jump right into development for that one. But, check this out:

for (int i = 0; i < 10; i++) {
  if (i % 2 == 0) {
    System.out.println(i);
  }
}

Let me rephrase my question: what do you think about this code? And, pretend the person asking the question is an interviewer.

Some possible answers:

  1. Can you be more specific?
  2. Looks good to me.
  3. Well, it’s a for loop that start counting from 0 and iterates 10 times before finishing. In each iteration, it checks if the counter variable i is even. And, if so, i is output to standard out.

Let’s be honest. Answer #2 is horrible. Hopefully, you picked up on that. Answer #1 is the best one. The interviewer might want you to simply explain how the code works and be content with that. They may right want to know if you can identify the programming language as Java. Or, maybe they just want to see what assumptions you make and what questions you ask. But, if you don’t ask for clarification on such a broad scoped question, you’re only guessing.

One of the primary rules of technical interviewing is never make assumptions without calling them out. If you make an assumption and go down a path of thinking completely outside the space of what your interviewer is looking for, you run the risk of making mistakes and striking out. Not only that, but you miss out on the critically important opportunity to demonstrate to your interviewer that you’re someone that doesn’t make assumptions—or makes them and clarifies them—and is ready to collaboratively problem solve.

Maybe in response to your follow-up question, they’ll say, “does it need any improvement? If so, how would you re-write it?” And, they might be looking for something simplified, self-documenting, and testable like this:

public void printEvenIntegers(PrintStream outputStream)
{
  for (int evenNumber = 0; evenNumber < 10; evenNumber+=2) {
    outputStream.println(evenNumber);
  }
}

// example call
// printEventIntegers(System.out);

Don’t be shy about asking questions during an interview. Your ability to ask questions is part of your assessment.

Categories
Advice

What To Say When a Tech Recruiter Asks Who Are You?

Who are you? Simple question, right? OK, let’s narrow the scope. As a Software Developer, who are you? Is the answer on the tip of your tongue or are you still pondering and searching your brain for the right words? Deep, I know.

Let’s break the ice. Here’s some sample answers:

I’m a recent college grad. I have a BSc. in Computer Science. I don’t really know what I want to do yet because I’m inexperienced. But, I’m a quick learner and a hard worker.

Anonymous Newbie

I’ve been writing code for 10 years, so I’m great at it. My experience speaks for itself.

Anonymous Vet

While I have only just graduated, I’m super passionate about front-end web development. I hope to one day become an expert React developer, and I’ve already taken steps to get there by contributing upstream and crafting my resume as a public website to showcase my skills and passion.

Anonymous and Hungry

Which ones stand out? Not having professional experience is not an excuse for not knowing who you are or what you want to be in your career. You absolutely can showcase your passion and skill without any experience as a Software Developer. Having 10’s of years of experience doesn’t exempt you from having thoughtful things to say. Recruiters may not ask this question exactly as phrased here. It may also resemble a phrase like “tell me about yourself” or “give me your elevator pitch”. Whatever form it’s in, have an answer. A thoughtful one.

Categories
Announcement

A “Hello World” For The Real Software Engineering World

What would a coding blog be without one of these, right? Hello World. The cliché example program literally every programming language, intro tutorial, etc. uses to demonstrate their product. Well, guess what? We’re not going to do that today. It’d be a waste of your time. You’ve very likely seen many before.

Have you ever thought about what your “Hello World” example would be? If you could document a short snippet as an example of what your tooling can do, what would it look like? If not, I highly recommend you take a moment to reflect on this. Think about the skills you’ve acquired in programming, building websites, apps, scripts, servers, etc. and use them to create a brand for yourself. Whether you have 10 years of experience or none, you need a brand.

A brand will tell those looking at your LinkedIn profile, your resume, your Github page, etc. who you are, what you do, and where you want to go. You don’t need 10 years, or even 1 year, of experience to create a brand for yourself. You don’t want to walk into a Software Developer job interview and be unprepared to answer the question, “Why should we hire you?” or “What are you passionate about?” The harsh truth is you shouldn’t even apply for a job until you know the answers to those questions.

Have your goals defined. Know what you want. And, (prepare for corny catchphrase) go get it!