Enterprise job recruiting

Hi Terrence,

I am following up on previous emails and calls. I am doing some research on PHP. I understand that you are focused on canonical model management, SOA or ESB initiatives. Do you have 10 minutes for a quick call tomorrow afternoon?

The [redacted] platform enables rapid service design, construction, and management all from a Canonical Model. This enables the following:
1) Your services are managed in our repository aligned to all of your business capabilities
2) Impact analysis on how a change from a provider system (Logical Model) can impact the Canonical and other services
3) Rapidly propagate the changes to the impacted services
3) Rules based version management control
4) Mapping provider systems to the canonical model reduces the number of mappings required by over 99% for a complex integration projects.

I know this is a busy time of year. If someone else is better suited for this discussion, can you please refer me to them?

I understood every third word.

The other day, I sat through a presentation from from an enterprise consultant, they had an 8 category scrum chart just for feature choice and a 10 category one for development. The former had categories like: “paths to insight” -> “validation” -> “harvesting”, so I spent most of my time imagining what would happen if people were story cards that ended up dying due to being harvested at the end of validation due to improper paths to insight.

Maybe if they spent less time throwing verbiage and more time doing, Enterprise wouldn’t be such a joke.

22 categories? This is agile?

My theory is that someone with Wernicke’s aphasia would make a killing in Enterprise software development.

You lost me there, bub

Reading this blog post ranting on PHP

No corporation supports PHP’s growth & maturity like Sun & Google do for Java, Google (Guido van Rossum) for Python (jnc Django framework), Ruby (inc RoR) by 37 signals etc…

37Signals & Ruby? Thank his noodly appendage PHP’s support isn’t as terrible as that company on that language.

You lost me there, bub.

When it comes to engineering choice, programming language is not even in the top 10 of important choices a software architect has to make. If you’re worried about the language, you’re worried about the wrong thing. (I’m also a little amused that the author holds Python as a language with great unicode support.)

response to questions concerning the VisualEditor

I feel somewhat responsible for putting James Forrester on the hot seat concerning this article as I was the one who asked him to take out time from his busy schedule to explain some of the challenges faced by the team concerning the project and manage expectations somewhat concerning the release.

I hope it is clear from the post that the VisualEditor project has to overcome many “firsts” to become a reality. Some of the ones mentioned include:

  1. The criteria to support 290 languages is beyond the scope of support of existing software.
  2. The VisualEditor UI needs to be programmable in such a manner that “free form” HTML editing cannot be permitted unless those edits can be synced with an internal, client-side “data model.”
  3. The VisualEditor needs to leave room for extensibility in all fronts to adapt to the extensible nature of current WikiText capabilities like transclusions and templates.
  4. A two-way representation needs to be created out of wikitext to HTML back to wikitext. This cannot be emphasized enough since before the [parsoid project][], it was actually unclear if this was even possible.
  5. In both the parser and in all points of the VisualEditor, edits must be made in a manner that only manipulates the areas intended by the editor so was to not introduce “dirty diffs”.
  6. All of this must be done in a forward thinking transactional manner to allow things like real-time collaboration, micro-edits, and the ability to walk through actions.

[parsoid project]: http://www.mediawiki.org/wiki/Parsoid “Parsoid—MediaWiki” Continue reading

Pear-to-Pear networking

This resume I’m reviewing claims the dude developed a “pear-to-pear private tracker”

Since [I had ComicLife open anyways][techcrunch], this was too good to pass up:

pear-pear networking

[techcrunch]: http://terrychay.com/article/the-only-people-who-read-techcrunch-are-your-competitors.shtml “The only people who read tech crunch are your competitors”s

The only people who read TechCrunch are your competitors

I’m playing video games and drinking champagne because after all the press I got, the only thing my client can say is “Aww. No TechCrunch? Is it too late to give them an exclusive?” FML

I’ll repeat a rant I first said five years ago to a CTO friend told me his co-founder and CEO was obsessed with getting on TechCrunch.

“Why the f— does anyone want to be on TechCrunch? The only people who read TechCrunch are your goddamn competitors. Think of your product, do your customers even know WTF TechCrunch is, let alone read it?”

No. Fucking. Way.

TechCrunch for Humans
This is what TechCrunch looks like to a normal human being

Anyone who gives a shit about being on TechCrunch is someone sending a big signal that they don’t give a shit about their customer, or that their real customer is their investors who are stupid enough to sink money in that person’s latest grift. Anyone who wants to be on TechCrunch has a a big inferiority complex and values their ego more than their business.

It’s okay I’m enjoying killing zombies with my friends who don’t even know what the fuck a TechCrunch is, thank God!

More dead zombies, less ‘Crunch.

Join Wikimedia (Senior LAMP Software Developer)

“Imagine a world in which every single human being can freely share in the sum of all knowledge. That’s our commitment.

If you don’t know already, I left Automattic (WordPress) and have joined the Wikimedia Foundation (Wikipedia) in February. Before this, I haven’t posted our regular jobs because I wasn’t too sure how relevant they were, and because I got burned by the Jobvite system spamming my twitter followers with jobs. (I apologize profusely!)

This is despite the fact that our infrastructure is PHP ([obviously][mediawiki]).

Until recently the Foundation has had lacked mostly Javascript and UI engineers and not senior-level PHP ones. But I guess when I joined all of the good PHP developers left! j/k :-D

Currently and in the coming months, we will have had three positions open up for a Senior Software full-stack LAMP/PHP engineer. If you want to work for the 5th most popular web property in the world with nearly half a billion monthly uniques (and probably the largest single-install open-source PHP project), you should really consider working here

Job description: Senior Software Developer at the Wikimedia Foundation

Be a part of a newly forming team that will be tasked to entice new authors to Wikipedia. You will create responsive UI-driven software components in a highly iterative environment to support user engagement experimental features for Wikimedia websites using JavaScript, CSS3, HTML5 and PHP.

Some of the projects you’ll work on:

  • Develop new experimental editor engagement features for Wikimedia sites.
  • Extend MediaWiki software to support new experimental features.
  • Participate in periodic technology meetings for design, development and testing of experimental features.
  • Scrum master for development team.

Required Qualifications

  • 5+ years of web development experience, including front-end development (JavaScript/jQuery/HTML5/CSS3), and server-side development using PHP/MySQL.
  • 5+ years experience with rapid iterative software development processes, ability to quickly grasp requirements, derive UI workflow and develop functionality.
  • Experience deploying code into high transaction volume production environments.
  • Experience with A/B testing, cross-browser testing, debugging.
  • Knowledge of Agile Methodologies such as Scrum and Extreme Programming (XP). ScrumMaster training preferred.
  • Familiarity with version control systems/continuous integration tools (we use Git/Gerrit/Jenkins).
  • Must be able to meet aggressive timelines, iterate rapidly, and switch rapidly across multiple projects.
  • Strong communication skills: Must be able to communicate clearly and effectively; have strong written and oral communication skills as well as be able to collaborate easily within a cross-functional team.
  • B.S. or M.S. Computer Science or related field preferred.

Extra Points if you have:

  • Experience with MediaWiki and other open source PHP-based content management systems
  • Experience in the Wikipedia community
  • Experience contributing to a major Open Source project
  • Understanding of free culture / free software /open source
  • Experience working with online volunteers.
  • Experience with wikis and participatory production environments.
  • Good sense of humor
  • Being creative, highly motivated, hard-working and ability to work effectively in multiple cultural contexts are great assets
  • Comfortable working in an open, highly collaborative, consensus-oriented environment

Please provide URLs to any existing open source software work you may have done (your own software or patches to other packages) if possible. We’d love to see what you can do!

About the Wikimedia Foundation

The Wikimedia Foundation is the non-profit organization that operates Wikipedia, the free encyclopedia. According to comScore Media Metrix, Wikipedia and the other projects operated by the Wikimedia Foundation receive more than 482 million unique visitors per month, making them the 5th most popular web property worldwide. Available in more than 270 languages, Wikipedia contains more than 21 million articles contributed by a global volunteer community of more than 100,000 people. Based in San Francisco, California, the Wikimedia Foundation is an audited, 501(c)(3) charity that is funded primarily through donations and grants. The Wikimedia Foundation was created in 2003 to manage the operation of Wikipedia and its sister projects. It currently employs 130 staff members. Wikimedia is supported by local chapter organizations in 38 countries or regions.

Apply by clicking on this link or contact me personally. :-)

Why working here is totally awesome

Wikimedia Foundation 90 second HR Video with Disclaimer Transcoded from original created and uploaded to Wikimedia Commons by WMFer, Victorgrigas. (It’s probably a good thing this was filmed before I joined the Foundation. A version with me in it would have been rated R due to strong language. :-D )

You should seriously work here. :-)

Wikimedia 503 Accessibility Hack Day (May 19, SF)

The Wikimedia Foundation is organizing a mini hackathon related to accessibility (ensuring our software is usable by people with disabilities or special needs). We’re working with Lucy Greco, an Assistive Technology Specialist at the Disabled Student’s Program of UC Berkeley on this.

If you’re a front-end developer or UI/UX designer, you can help. We’ll work with a user of Dragon text-to-speech, a user of on-screen-keyboard technology, 2-3 users of the JAWS screen reader, and 1 user of a Mac screen reader. So you can directly help improve the experience for real people who encounter issues with [Wikipedia] and our other sites.

The event will be at the Wikimedia Foundation offices (149 New Montgomery Street, third floor) on Saturday, May 19, beginning at 10 AM and ending probably in the late PM. Lunch and dinner will be provided.

Please RSVP with Rachel Farrand rfarrand [at] wikimedia dot] org by May 15 if you’re interested in attending.

It’s just a tool

Previously: Part 1, Part 2, Part 3, and Part 4.

I received an interesting question the other day from a recruiter:

Would you be open to moving away from PHP?

My answer:

First, by analogy. I’m a photographer, most of the cameras I own are manufactured by Nikon. This is like asking if I’m open to using a Canon.

I happen to be very adept with using a Nikon. However, I don’t think the photons bouncing around care much what logo sits on front of the camera they are in. I’d be a poor photographer if what I did was care about the brand of camera I carry instead of the picture I am taking.

PHP is designed to solve one problem: the web problem. It solves it very well—as evidenced by marketshare and its continuing durability. At nearly all other stuff, PHP happens to suck at.

However it (the web problem) [isn't that difficult] of a problem (having been solved repeatedly by languages such as Ruby, Python, C, C++, Java, Javascript, etc.). The real difficult parts are invariably outside the “web problem.” (Example: Twitter’s web problem was solved in Ruby using Rails, but their real problems were not web problems and of those problems, the most prominent was solved in Scala.)

I happen to be very adept at PHP. That pretty much means knowing that there is a better tool than to use PHP to solve the problem at hand at hand, and using that instead of PHP: MySQL, Apache, memcached, MongoDB, CouchDB, Scala, Erlang, Puppet, CruiseControl, AWS, etc.—none of which, to my knowledge anyway, written in PHP.

I’d be a poor programmer indeed if I thought that the problems I solved cared much the language I was adept in.

I’m not a poor programmer.

The Short answer: “Yes. Depends on the problem and the existing environment.”

(Recruiter was amused by my answer because he was owns a Canon. I suggested we “get on either side of the street and start making threatening dance moves at each other like the Jets and the Sharks.”)

Another question I got:

Which do you think is better [some programming language] or [another programming language]?

My answer:

They’re just tools. That’s like asking a handyman which they think is better: a hammer or a screwdriver.

(That elicited a laugh.)

Using a programming language is simply a choice. There are many things that go into making a correct choice that are far beyond what language one prefers for a problem that happens to be not that hard to solve in the first place.

PhotoAdvent

Last year, I decided to do a fun project with me and 25 of my closest friends called PhotoAdvent. It was a shameless copy of PHPAdvent, but wherever you see “PHP” you replace it with “Photo” — I even swiped (with permission) their theme from the previous year (delta writing it by hand because apparently they don’t use WordPress to do PHPAdvent and I have to support the mothership.)

In any case, this year I contributed an article. Let me tell you it was work convincing the curators at PHPAdvent to accept my submission. But after an intense lobbying campaign with the other two editors, we finally posted it.

PETS: Reflections of the Internal | PhotoAdvent
Four out of five Scrooges agree, this is worth reading.

So read it or die! And when you are done, you better tweet it or share it on Facebook, or I will get Gibson to CUT YOU! (No, I do not declaw my kittehs.)

Oh yeah…Happy Holidays!