Technical Advice Needing a Home

I just completed a set of interviews with a company for a technical lead position 1. At the last interview I got a bit quiet at the end which I explained to the interviewer was because my brain has now spun up and I’m starting to think about ways to fix some inefficiencies I heard about in the previous interviews. In each interview I made notes along the way about how I’d fix the issues, and I feel it is a tragedy to not allow part or all of this information to be used by someone 2. ...

March 12, 2014 · 15 min · 3090 words · Scott Brown

My Answers To Common Interview Questions

I’d like to play a little game with myself and enumerate each common interview question that I’ve received over the past few years. By writing these questions and answers down, it affords me two things: (1) to have the time to think about an answer instead of quickly blurting out something half-baked while having interviewers stare at me, and (2) to say the things in a manner that is not always available in the interview setting. ...

February 27, 2014 · 5 min · 1058 words · Scott Brown

Don't Call Us, We'll Call You

The phrase “Don’t call us, we’ll call you” is an old saying that stems from the theatre industry in regard to auditioners facing rejection. I’m going to co-opt this phrase and twist it a bit into how companies that interview candidates hold all the cards and act in a manner consistent with information asymmetry. I recently interviewed for a senior managerial position doing something akin to DevOps for a startup. I asked a number of questions about the type of work and such, very technical and job-specific in nature. I then asked about some things that appeared in the job description (see section “Job Description”). The interviewer (who was new to the company herself) said that she didn’t know the answer and that I should forward the questions to the in-house recruiter with whom I spoke with earlier. It seemed like a totally reasonable response, so I whipped up an email later that night and sent it off the recruiter. ...

February 25, 2014 · 5 min · 970 words · Scott Brown

Quickly Validating a Load-Balanced Website Architecture

I am in the process of consolidating a number of websites that I use into a smaller set of servers. This is partly being done to reduce costs as well as support less resources, but it also provides me with a chance to try out new things. In particular, I wanted to test out a load balanced architecture that will work within any VPS environment. Before I begin provisioning “real” servers and having companies bill me, I wanted to test that my ideal architecture works. I’m using the word “real” here to denote servers that will be public-facing and acting in a production-like capacity, as well as incurring billing charges. ...

February 2, 2014 · 7 min · 1310 words · Scott Brown

Interview Tips for Candidates

I mentor Computer Science students at my alma mater and one of them recently asked me if I could provide some tips about interviewing. It is a question that comes up repeatedly, so I finally wrote it all down and I’m sharing it here so that others can learn. I gathered these tips from interviewing on both sides of the table (or phone connection) numerous times, some ending well and others not so much. Enjoy! ...

January 29, 2014 · 5 min · 947 words · Scott Brown

FAQ for 2013

This year I decided to collect and bundle all of the questions I am asked on a regular basis, whether it is through mentoring or conversations with other developers. What is your favourite IDE? I don’t have a favourite IDE because I don’t use one (caveat below). I develop code in Vi/Vim, which is a terminal-based text editor that has a lot of features hidden away that could turn it into a full-fledged IDE if one chose to use it that way. The reason I stuck with this editor is that I found myself helping numerous clients who had remote servers that I needed to login and perform work. If one only has experience using a GUI text editor or IDE, then being confined to a terminal environment will feel like a prison and work performance will slow to a crawl. Regardless, I stuck with the practice of using Vim even after the engagements ended and I have been quite happy ever since because it means that I can code anywhere that has an SSH terminal application. It also means that I can make changes to any text file quickly and with less keystrokes. ...

December 7, 2013 · 7 min · 1305 words · Scott Brown

Refactoring to Decouple HTML, CSS, and JS

After reading Tips for how to decouple your HTML, CSS, and JavaScript, I was struck by how stupid I’ve been marking up my HTML for CSS and JS events. I started rewriting my latest project using these principles and they’ve really helped create a separation of concerns. To illustrate how this has helped, I was coding up a quick administrative interface to CRUD some service model classes in my project and I started to really hate the UI/UX I chose. I decided to switch to a table since the data is more tabular in nature and I was quite please to see that none of the JavaScript functionality broke. ...

October 29, 2013 · 3 min · 490 words · Scott Brown

Refactoring Rails into Service Objects

One of the things that I dislike about Rails is how some actions feel untestable. Take, for example, the act of grabbing the current user. This is bog-standard code that you’d see in a lot of Rails tutorials and people’s codebases. What I don’t like about it is that the current_user method is not easily testable. Heck, which test file do you put the tests in? ...

October 28, 2013 · 3 min · 529 words · Scott Brown

Where the name 'typicalrunt' comes from

I’ve been asked a few times where the name ’typicalrunt’ comes from, so I thought I’d write the meaning down and also explain why I don’t use my real name. I love learning about the origins of words, so here’s my explanation of my nickname. The handle ’typicalrunt’ is from 1997 when I needed a handle for all of my online activities (at the time, this mainly included online gaming). Typically a nickname is chosen for you through some kind of friendly back-and-forth with friends. This time I chose the name because I wasn’t called any nicknames (this changed in subsequent year, but I’m keeping those names secret). ...

October 26, 2013 · 2 min · 355 words · Scott Brown

Happy Programmers' Day

As a fellow programmer, I would like to wish every other programmer out there a Happy Programmers’ Day. This is a short article, but one that I feel the need to write on a day like today. I really like programming, as it helps me to not only solve people’s organizational problems, but also to bring some critical thinking to whatever is floating around in my head. Earlier this week I read Avdi Grimm’s book, Objects on Rails, and found it to be a refreshing take on how to build an MVC application, albeit on Rails. I very much like Rails but, as a programmer (and hence why I’m writing this article today), I have to admit that I have a love-hate relationship with all frameworks (mostly hate, but that’s just me). I dislike how a framework is doing things for me, because I enjoy figuring out how technology works. It seems that in this day and age, people like to build MVPs using the latest frameworks just to quickly get something up and making money. From a business point of view, I 100% agree and understand, but I’m also a programmer at heart and there is a very loud voice that yells at me whenever I use a framework. This is a voice that wants to build things properly so that scaling and readability are first-class citizens, not something relegated to “phase 2”. ...

September 13, 2013 · 2 min · 234 words · Scott Brown