Earlier this week, I had the opportunity to travel to NYC for the premiere of Code for the People, a short documentary that makes an argument for the open web and against walled gardens.
This past week, I was in York, England to see the folks from team Shilling. It was a good meetup, with a good mixture of fun and work activities.
The biggest takeaway from the meetup was seeing faces light up with joy as Claude Code worked magic. The most fun thing was playing Dungeons and Dragons, which I hear now makes me an official Shill.
This past week, I was in Lisbon with the Gamma team. It was a great week, filled with discussion about PCI compliance, demos, upcoming work, great food, and a bit of fun.
Earlier this week, I flew to Los Angeles to spend a couple of days with one of my teams, Chronos.
I grabbed this impromptu photo in our working space.
We took this photo at dinner.
And then grabbed this wonderfully imperfect set right before I ran out the door, with my phone balanced on a power adapter and the shutter triggered from my Apple Watch.😂
At a recent Automattic meetup I led a session between WordPress.com designers and engineers. As part of these discussions, the topic of roles and responsibilities came up.
Specifically, some engineers were questioning whether they should also be product owners or analyze data.
My response to this was probably a bit long winded, but was roughly that we’re all builders and needed to do whatever it took to get the job done.
Pablo Honey, one of our heads of design, put it much more succintly:
In June, I flew to Porto, Portugal to join the Crew team on their meetup.
After nearly 2 years with Automattic not having meetups, it was great to see some old friends as well as meet several new people that we’d added in the past couple of years.
Near the beginning of the meetup, I was so jet lagged, that I took any chance I could to sleep. Which was basically every time we got in a car. Even when our van for the wine tour broke down and we were stuck on the side of the highway.
For our work time, we focused our time around a security workshop and talks such as start, stop, continue. As you can tell by the photos, there was also much time spent on social activities.
Near the end of our time together, Derek Smart and I announced to the team that I would be leaving the division to become Head of Web Engineering at WordPress.com and that Derek would become Development Lead at Jetpack.
We spent some time answering questions and then some time jokingly trying to pitch projects over the fence between divisions.
Taken by Igor ZinovyevView from our coworking spotTaken by Derek SmartTaken by Igor Zinovyev
A few weeks ago, I traveled to Costa Rica for a meetup with our Backup, Scan, and Security Research teams. This was the first time that I had traveled for work in 2 years!
Over the past couple of years, I’d gotten comfortable with the idea of not traveling. It was relaxing to not be gone from home several weeks per year. This allowed me space to focus on other things like family and my shooting sports, even to a point where I won some things.
But, going to this meetup has reminded me of what I’ve been missing out on. It’s hard to simulate the impromptu, open, honest, and fun conversations that happen at meetups. Conversations that happen one-on-one as you sit around the pool, are walking to lunch, are at the dinner table, etc.
It’s also a very humbling and exciting experience as it reminds me how little I know and how much I have to learn.
Photos
Below are some photos from the trip. Most are from myself, though I did pull some from a Google Photos album that the team shared.
My team lead is out for a week or two. Before he left, he apparently set up a Slack bot that responds to pings with “ship it”. So, when I noticed that this morning, I had to troll him and get his permission to take a vacation for a whole year.
July 12 is an Internet-wide day of action in support of Net Neutrality. If you share our love of the free and open Internet and want to join the fight to preserve it, please join in!
Please take a moment today to help by:
(1) sending a message of support to the FCC, which you can do by visiting battleforthenet.com and
(2) enabling the Fight for Net Neutrality Plugin on your WordPress site, to show your support and encourage others to take action, too. Instructions can be found on this article.
A couple of weeks ago, I went to Costa Rica for a team meetup where I would work on my last project as part of team Poseidon.
I took my camera along and was able to get a few pictures which are below:
I didn’t get as many pictures this time as in previous trips, so I was super happy when Ashleigh Axios shared her pictures and video from the trip, some of which are below:
I spent the last week in Amsterdam with the JPOP Design team and Team Luna.
The week was packed with great conversations as well as a group project where we took a pass at implementing login via Calypso, and ended up with a functional example that we can continue to polish.
We also ended up having two town halls. One JPOP town hall and one company-wide town hall. So, it was a pretty busy week.
Apple, Facebook, Microsoft, Twitter and other tech companies filed an amicus brief tonight voicing opposition to President Trump’s executive order on..
I 80
[IN THE SAN FRANCISCO BAY AREA – SOLANO CO]
A HIGH WIND ADVISORY IS IN EFFECT AT THE SAN FRANCISCO-OAKLAND BAY BRIDGE
/IN SAN FRANCISCO/ (SAN FRANCISCO,ALAMEDA CO) – TRAVEL IS NOT RECOMMENDED
FOR CAMPERS, TRAILERS OR PERMIT LOADS
[IN THE NORTHERN CALIFORNIA AREA & SIERRA NEVADA]
IS CLOSED FROM COLFAX (PLACER CO) TO THE NEVADA STATE LINE – DUE TO REDUCED
VISIBILITY – MOTORISTS ARE ADVISED TO USE AN ALTERNATE ROUTE
EASTBOUND TRUCKS ARE BEING SCREENED AT APPLEGATE (PLACER CO) – DRIVERS MUST
HAVE MAXIMUM CHAINS IN THEIR POSSESSION IN ORDER TO PROCEED – PERMIT LOADS ARE
PROHIBITED
A HIGH WIND ADVISORY IS IN EFFECT OVER THE YOLO CAUSEWAY & OVER THE BRYTE
BEND BRIDGE / WEST OF SACRAMENTO / (YOLO CO)
This past Sunday, an 18-year-old who intends on starting at UNT next Fall and majoring in Computer Science explained to me the difference between a computer scientist and a programmer.
As he explained it, computer scientists are people who conceptualize software and programmers are the people who merely carry out the plan that the computer scientists made.
This kid went on to describe computer scientists as the people who do the thinking and the programmers as “dime a dozen.”
But, that’s not right…
The more the kid spoke, the more irritated I became because I do not perceive my role as a programmer to be one where I simply follow instructions without thought.
So, while I was initially very irritated, I later realized that:
Automattic is my first job out of University. So, perhaps my perception is skewed
This kid likely has no experience and is making assumptions
Thinking some more, it seemed like the best way to move forward would be to simply explain what I do as a programmer.
So, what do I do at Automattic?
This is the Automattic Code Wrangler job description as of December 21st, 2016.
My title at Automattic is Code Wrangler. But, that title is merely the default title for developers at Automattic and doesn’t mean much since all Automatticians can choose any title they like.
Further, Code Wrangler is a very generic job title at Automattic, so what I do can be very different from what a Code Wrangler working on another product does.
That being said, I’d still like to share the things that I do as a Code Wrangler (aka software developer) at Automattic.
Maker of things
As a Code Wrangler, bringing things to life with code, or fixing broken things, is my “bread and butter”.
I spend a majority of my time on the front-end building interactive UIs with JavaScript, HTML, CSS, PHP, etc., which you can see from the images I share in this post.
But, thanks to being on team Poseidon (the Jetpack platform team), I also get to do other interesting things, such as:
Writing a script to loop through all Jetpack sites and backfill missing data
Somewhat fix a several years old bug that is lovingly called an Identity Crisis
Add CLI commands to Jetpack’s sync functionality
And while I spend a majority of my time actually working with code, I do spend significant amounts of time doing other things.
Manager of things
Allen Snook, Kevin Conboy, and I were the main people behind getting the account management section into the newer JavaScript based version of WordPress.com nicknamed Calypso. You can find more information here.
At Automattic, we don’t really hire for typical project manager roles, at least to my knowledge.
Because of this, I’ve had the opportunity to take on the role of a project manager for several of the projects that I’ve worked on.
I like to get shit done, and I will gladly do whatever is necessary to push a project to the finish line.
This means that I am often involved in much of the planning for the projects I work on, which can include diagramming, white-boarding, creating and assigning tasks, discussing designs, etc.
Maybe I’m good at managing things. Maybe I’m just opinionated and don’t mind sharing those opinions. ¯(?)/¯
Breaker of things
Earlier this year, I refreshed the Secure Sign On module with design input from Michael Arestad. We were able to spruce the design up, but I also fixed many flow issues and bugs.
At Automattic, we have the “Flow” team whose job I understand to be:
Manually testing Automattic’s products
Implementing automated functional testing of Automattic’s products
Working with other teams at Automattic to improve testing processes
Generally being awesome
While I am not on this team, testing is definitely one of the things I like most about my job, even though testing isn’t mentioned anywhere in the Code Wrangler job description.
I often find myself asking things such as:
I wonder what happens if I rotate the screen here?
Does this input have validation?
What does the mobile layout look like here?
What’s a flow that wasn’t thought about?
How do things look in Internet Explorer?
I don’t have a strict testing list, other than the fact that I try and test Internet Explorer every Friday. Yet, I am often able to find bugs in new software as well as regressions in older software.
The thought I’d like to leave you with for this section is that testers are necessary to make sure that we have considered as many things as possible before our users unwittingly become our testers. Sure, some planning ahead can help reduce issues, but no one person can catch them all.
Designer
This is the user management section of WordPress.com, a project which I had the honor of leading. I worked with Miguel Lezama, Rocco Tripaldi, Rick Banister, and Kevin Conboy to bring this together.
I have the honor to work with amazing designers such as Rick Banister, Michael Arestad, Jeff Golenski, and many others.
And I’ll be the first to tell you that I’m definitely not a designer in the same way that they are designers. They’re all badasses.
But, one of the things I learned early on, is that as a developer, I can play a vital role in the design of a project
For example, if I am a developer on a project, and I am delivered a design, should I simply implement that design? I’m not so sure about that.
This is the form to invite users to a WordPress.com site. Worked on by myself, Miguel Lezama, Rocco Tripaldi, and Rick Banister.
On one hand, the designers have likely delivered what the ideal flow should be. But, have the designs taken in to account technical limitations? What about business limitations? If the designers only delivered mobile designs, what does this thing look like on desktops? Vice versa?
As the person who will implement a design, it’s my job to provide feedback to designers so that, together, we can can deliver the best product possible in the shortest timeframe possible.
I didn’t always understand my role to be like this. The first project I led, the user management section of WordPress.com (pictured at the top of this section), went very differently actually. At the beginning of the project, Rocco Tripaldi and I were given designs, and we immediately set out to make those designs a reality.
This is the Jetpack sync panel that is displayed within WordPress.com. This allows the user to trigger a full sync of their site and watch the progress.
After Rocco and I spent several weeks quietly working towards implementing the design, we finally came to the conclusion that the design was not then possible without some significant changes to how we stored data, so we decided to tweak the design a bit to be compatible with how we then stored data.
This was an expensive (to the company) lesson for me. Had I provided some feedback with the issues I was running into earlier, we could have made the decision to change sooner and potentially saved a month or more of developer time (two developers times 1-3 weeks).
In my experience, the best work that I’ve done has been a result of great communication and collaboration between development and design.
What do you do as a software developer?
One of the things that I became interested in after talking to this kid was the fact that software developers likely work very differently at different companies.
So, how do you work? Do you wear different hats, or do you tend to just do programming? Feel free to leave a comment or link back to this post.
Interested in wrangling code with me?
Automattic is always hiring, so if you found this post interesting, check out our open positions.
This picture was taken by Jeff Golenski at the 2015 Automattic Grand Meetup in Park City
If you’re interested in Automattic, a 510 employee company with employees that collectively speak 69 languages and live in 51 countries, we just published a review of 2016 for our company.
If you find the report interesting, why don’t you consider coming to work with us!
Howdy! We’re the people behind WordPress.com, WooCommerce, Jetpack, and a bunch of other products for WordPress. Take a scroll through our review of 2016.
We are passionate about making the web a better place. We don’t build software for free –– we build it for freedom. Our goal is to democratize publishing and commerce so that anyone with a story or idea can share it with the world regardless of income, gender, politics, language, or location.