Google Year in Search 2018

I always enjoy Google’s video they post looking back at the year:

I have spent 2018 trying to blog more and this video inspired me to look back at my blog posts over the past year. The top blog posts were as follows:

The other popular page was my home page, which I assume is the place where many people are reading these individual posts.

You Are Interviewing the Company Too

Some great insight from Bethany Crystal:

This is so hard to remember — particularly when you’re in a pinch to find a new job. But the best interviews aren’t one-sided: They are mutual interactions to assess a “best fit.” As hiring managers, we aren’t hiring task-master robots; we’re hiring people with hopes and dreams and aspirations and needs of their own. As a candidate, you’re likely not just looking for a paycheck but for a team, a pathway, and an opportunity that helps get you where you’re going. If my needs don’t match your needs, it’s better for both of us to suss that out sooner rather than later.

Don’t Forget, you’re interviewing the company too.

Hiring a Full Stack Web Developer

At MAPC I am currently running the hiring process for a Full Stack Web Developer. If you thought trying to get a job was tough, hiring is also an equally challenging endeavor. It involves negotiation, meetings, and lots of phone calls. In this process I have been surprised at how many job candidates miss the basics.

The first thing that surprised me was how many candidates failed our technical challenge when I last hired a developer. We give most of our candidates a homework assignment that basically asks them to create a web form that submits information to a database. We tell them only to take a few hours and it is a genuine reflection of the bread and butter work that we do at MAPC. I usually take about thirty minutes to spin up an application like this in Ruby on Rails. Most coding bootcamps have their students do this as part of their projects. Yet many candidates failed to complete this challenge.

The second thing that has surprised me is how many candidates submit generic cover letters. Given the similarity of resumes, the cover letter is an important opportunity for a candidate to stand out. More often than not the cover letters I get in job applications have not even mentioned my organization or merely added it in mad libs style. As a hiring manager I care less about technical skill than why you want to work at my organization. A simple paragraph explaining specific interest in where I work makes a big difference in helping a cover letter stand out.

The final thing that surprised me is how many candidates I would phone screen that did not even look at my organization website. Recently we tried using a recruiter and so far two thirds of the candidates admitted they did not look at our website before the phone screen. They were talking to me but had no idea what my organization did. These folks were screened out right way, but shows a need to re-iterate to job seekers that going to an organization website is an important first step to standing out.

How Companies Track Your Location

A blockbuster report from the New York Times:

At least 75 companies receive anonymous, precise location data from apps whose users enable location services to get local news and weather or other information, The Times found. Several of those businesses claim to track up to 200 million mobile devices in the United States — about half those in use last year. The database reviewed by The Times — a sample of information gathered in 2017 and held by one company — reveals people’s travels in startling detail, accurate to within a few yards and in some cases updated more than 14,000 times a day.

Civic Tech Stacks

Mark Headd shared an interesting thought on Thursday:

Which I then briefly replied to:

However Chris Whong at NYC Planning Labs weighed in with an important point as well:

Technology is a tribal industry. Apple and Microsoft continue to fight for the desktop market. Apple and Google fight for the smartphone market. Users of technology are used to having choices, and are passionate about the choices they make. This extends to software development where folks often find a programming language and framework they love like Ruby on Rails and attempt to find employment coding in that framework. Greater adoption by others of your technology stack means more options and often a brighter future for you. Your opportunities grow with the size of your tribe.

A challenge software developers face is how frequently software development tools, languages, and preferences are changing. One of the most popular programming languages, Javascript, adds features more quickly than many browsers add support for those features. A software developer gets excited about using a backtick to denote something in their code but then has to implement a polyfill. A polyfill means having a tool re-write the code in a different way to get it to work in different browsers. This lack of uniformity means the developer needs to think about tools to automatically translate code for different browsers, or think about and code their Javascript in different ways if they want to use the latest features. Spending time on this axis of complexity becomes a tax on every project developed in Javascript going forward.

After years of software development many developers have used multiple languages and technologies. They become polyglots. They learn concepts that are portable from one language to another and when they have a specific project they will sit down and learn a new language and its libraries. Modern consultancies like Pivotal Labs use pair programming to reduce the amount of time needed for a developer to pick up a new technology. This agnostic approach means flexibility for the developer in picking their projects, but it is not free. The tuition of learning debugging tools, language syntax, and libraries must be paid along the way. Polyglots sacrifice time and familiarity for freedom.

The challenge Mark highlights is that many programmers are not polyglots. Even if they can learn other languages they are not agnostic towards what they use. The consequence is if a developer sees a job requires they program in Microsoft Visual Basic .Net but they like writing Python, the developer will often decline to apply for the job. Software development hiring pools become language segregated. In Civic Tech this means organizations that do not adopt fashionable languages cannot hire talent trained in modern software development processes. Solutions developed by one software community can fail to proliferate to others. Poor quality software is built not because of technical limitations of a language, but because of the bad practices used by the developers that adopt that tool set.

If we are going to succeed at building better software for government, government and software developers must meet in the middle. A North Star of government should be making sure its new software infrastructure is written in modern open source languages. This will increase the hiring pool and reduce the learning curve for new projects. At the same time developers need to learn the old languages and tools to re-write or interface with old systems. Harry Potter would not have been as successful if it was only available in English, and Civic Tech will not succeed if it is only available in Javascript.

This work by Matt Zagaja is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.