In this week’s Techie Tuesdays, we explore the story of Mike Taylor, the web compatibility engineering manager at Mozilla who is also a punk rock music artist, and has been a linguist earlier in his life.
Mike Taylor’s story is not that of a usual techie. In fact, for quite some time, it was the story of anyone but a techie. He took up punk rock music for a while, dropped out of college, got a degree in linguistics (leant Portuguese in the process), even worked as a janitor. He did all of that but very little programming. Then one day he realised that he likes building things more than anything else.
Today, Mike is one of the key contributors to the world of web standards. He’s the Web Compatibility Engineering Manager at Mozilla, and here’s how he is making internet accessible to all.
Computer access — not a problem!
Mike was born in Provo, Utah, and grew up in Southern California. He lived in California for 10-12 years and then moved to Oklahoma which was a very different place culturally. As a kid, he was shy and quiet and loved going to school library. He recalls, “I read almost everything I could get my hands on. I really liked the book on BASIC programming but I couldn't do much since I didn’t have the access to a computer system.”
In class IX, Mike took a course on computer, wherein he got the chance to work on computers for the first time. Driven by his curiosity and interest in computers, Mike along with his friends, got into trouble when they somehow broke the network. He says, “The entire high school network was down. That's what really got me excited. I didn't have access to computers for another few years but I kept reading magazines and books.”
Love for languages and punk rock music
At high school, Mike took a different route. He fell in love with learning foreign languages and later with music. He had friends who had similar interests in punk rock music, and together with them, he started playing (bass guitar) in bands. He adds,
That was my life — learning languages, playing punk rock music, and going to shows.
While at Oklahoma, Mike went to college for one semester and then dropped out due to health issues. He was living with his punk rock music band friends, not really doing anything ambitious with his life. He worked in a night shift at a gas station and earned enough money to pay rent and eat. He recalls an incident which piqued his interest further in programming,
“We really loved the bands from California. Once the band 'The Gods Hate Kansas' toured Oklahoma and stayed at our apartment. Three of the band members were programmers and were remotely working on their laptops. I found that cool.”
Later on, Mike went to study linguistics at the Brigham Young University. He wanted to understand the science of languages and their underlying foundation, so he took a lot of courses on syntax which bridges programming and languages. Foundational papers and notions for languages also formed the basis for the work of many early parsers and compilers. He adds, “I did some field work in Brazil in sociolinguistics where I studied how societies use languages to understand each other (differentiate among people).”
While he was at the university, Mike wanted to become a professor later in life.
Once Mike visited his best friend whose little brother was working on myspace/diary land theme. Until then, Mike had only worked on network configuration and BASIC language, so he didn’t quite know HTML. When he asked his friend’s brother what he was working on, he received a cold response: "You won't understand, it's too complicated". Mike got really annoyed and soon went to the library and started reading a book on HTML with an aim to make a website. Eventually, Mike did make a website and with ease.
Since Mike was married by this time, he needed a job. He applied for work as a janitor and had to face eight rejections in interviews before he finally landed a job. He liked the job. It was honest work.
Sometime later, he saw an opportunity to become a Portuguese translator for a language learning software and took up the job. At this new job, he became the team leader. It was also an avenue into tech for Mike as he worked with developers while working on features (of languages). The software was built in Java and Flash. It rekindled in Mike the desire to build things.
‘When you graduate and you don't know what to do, you go to grad school’
After graduation, Mike ended up in New York University for higher studies where he received a fellowship for a PhD in linguistics. He got just enough money to survive. At this time, he and his wife had a four-month-old baby boy, and it dawned on Mike that he needed to look for jobs. In his first year, he got a translation job at a startup called PhotoShelter. They were trying to create a language tagging program where one can semantically search images. Mike helped design that system. That was his entry to the startup ecosystem and his introduction to AJAX. He immediately wanted to work on it.
He then got an internship (to work in HTML) with Igoyougo.com (owned by Travelocity) via Craiglist. This is where his mentor got him into the world of web standards. Till then, it was an unknown space for Mike.
Welcome to the world of web standards
Mike worked as a front-end developer at TuneCore. It started as a part-time job but he soon joined them full-time. He didn't inform the New York University about this, but they figured it out and terminated his fellowship stipend. Eventually, Mike did get his Master’s degree, though he couldn’t finish his PhD.
When Opera from Norway held a meetup in New York, Paul and Mike participated as speakers. Paul spoke about Modernizer library which could tell what APIs and capabilities your browser supported. Mike gave a lightning talk on HTML5 inputs.
Web access for all — Opera stint
Mike started exploring the idea of cross browser web. He adds,
The web was exciting to me because of the notion of everyone having access to the information. Libraries were my favourite place as a kid and the internet seemed to me like a giant library. That's why web standards were so important to me.
At Opera, Mike participated in web standards work for the first time. He worked in the developers relations team. Apart from speaking at events, he worked on web compatibility, i.e. understanding why links/web pages were broken on Opera. Here are the highlights of his work at Opera:
- Evangelism of open web - talking about web standards and inter-operability, and new APIs and capabilities in the browser.
- Open the web effort - trying to understand why things are broken (on browser) and fix it.
- Building demos and experiments - this was when Opera first added add-ons. Mike ended up managing the Opera settings as well.
- Web standards team - it was responsible for Opera's contribution to Web Standards. It was also involved in getting CSS device adaptation standardised.
After spending three years at Opera, when Mike was contacted by a former colleague who was at Mozilla, the timing just felt right for him to do something new — so he went ahead and joined Mozilla.
Web compatibility and life @ Mozilla
At Mozilla, Mike worked on web compatibility. At that time, Mozilla had started focusing on mobile and had its own mobile operating system — Firefox OS. In the past four years at Mozilla, Mike’s work has majorly been understanding what the web looks like and ultimately how to get the web to work for everyone. He’s also looking at why things are broken and where are they broken.
You may also like - Story of a programmer who fell in love with Hindi poetry — Satish Chandra Gupta
Mike’s main contribution to the world of web standards — Compatibility Living Standard
In order to describe a collection of non-standard (and often vendor-prefixed) CSS properties and DOM APIs that web browsers need to support for compatibility with the de facto web, Mike and his colleagues at Mozilla decided to create a standard called the 'Compatibility Living Standard'. This has been Mike’s main contribution to the world of web standards. Some of the research Mike did in sociolinguistics came handy while working on this. He explains the idea,
The mobile web was particularly designed for iPhones and you cannot ask internet to update itself. Usually, once the code is shipped on internet it's almost frozen. The idea was to document the things mobile web relies on and implement it on all the browsers. We want the websites to work for most people even if it means to acknowledge some of the ugliness of the past.
In order to support this work, Mike and his colleagues have built webcompat.com, a place where anybody can go and report a broken webpage. They have a life cycle for a bug report:
- Reproduce the bug,
- Move it to diagnosis phase
- Figure out the problem using tools — sometimes it is with the websites while at other times it is with the browsers. It can also be an inter-operability issue.
- Then file the bug in the Gecko (Mozilla web browser engine), Chrome, etc. (or the website if the issue is on that side).
On a lighter note, Mike says:
If you wait long enough, most problems will fix themselves. Sites will redesign or they'll go out of business.
“The ultimate goal for my team is to get fired”
Out of the ten Mozilla manifestos, three of them particularly resonate with Mike and motivate him to do his work:
(#2) Internet is a global public resource that must remain open and accessible.
(#5) Individuals must have the abilities to shape internet and their own experiences on it.
(#6) The effectiveness of internet as a public resource depends upon interoperability (protocols, data, format, content), innovation and decentralised participation worldwide.
We’ve an internal joke. The ultimate goal for my team is to get fired. When the web works fine, we won't have anything to do.
Qualities of a good techie
According to Mike, a good techie should have the following qualities. At least these are the ones he looks for while recruiting:
- Determination and interest in learning new things
- The ability to communicate
- Embracing diversity and the desire to listen to others. This is particularly helpful in building communities.
- Being passionate about things other than programming. Mike believes that it's nice to connect with people on a human level.
Related read - The untold story of Alan Cooper, the father of Visual Basic
How to build great communities
Mike suggests that taking care of the following attributes is most important while building and nurturing a community:
- Trust - Obviously you don't give the keys of the kingdom on day one.
- Transparency and openness - Openness breeds a welcoming environment.
- Some notion of a code of conduct - There should be an agreed set of guidelines for behaviour and those should be enforced. Your community will not succeed it you allow abuse to happen. Sometimes you've to kick people out of the community who're toxic.
Values close to heart
Mike keeps the following values very close to his heart which have in turn shaped him as well:
- Fairness, openness, honesty, and trust.
- Being non-judgmental - Giving people the opportunity to prove themselves.
- Mutual respect - Mike says,“I don't like people disrespecting each other. It should be possible for people to get along with others with totally different backgrounds in terms of religion, socio-economic strata, political ideas. We don't have to agree to everything but we should be civil with each other.”
- Hard work - Mike never shied away from hard work. He worked as a paper boy, as a waiter in crappy restaurants, as a janitor. He considers it all as honest work which builds character.
For Mike, the guiding principle while taking decisions is consensus building, i.e. seeking feedback and inputs from trusted peers.
Mike sees himself working on web browsers and technologies that help people push the limits of what's possible on a browser. He is also interested in understanding the shape of the web — its size and topography, and the technologies that support it. He is and will continue trying to understand the technologies that need to be supported next.