Category Archives: General

How we work in NiteoWeb

NiteoWeb is a distributed team of Web experts spread around the World. While we do rent office space in Ljubljana, Slovenia, most of us work remotely. Here’s a quick overview of how we go by our days.

Communication

Instant messaging is done through Slack on different channels (operations, support, development etc.). We have daily standups at 9AM UTC on Google Hangouts when everyone has a minute or two to say what they’re working on and if they need any help. Once a week, Dejan has “catch ups” (better known as 1-on-1) with everyone on the team to keep himself in the loop.

About once or twice a year we fly the whole team somewhere nice and we’ll have an “IRL” (in-real-life) meetup. Here we discuss company status, projects and the future in a group setting.

Then there are ad-hoc in-person meetups that happen about once or twice a month, as needed.
Some of us might get together to watch a talk at a local conference or we go to lunch together to discuss project work.

Project and Company Management

Project and task management is currently done with either Plan.io (being slowly discontinued) or GitHub. Support handles tickets through GrooveHQ. We also have an internal document system (intranet) we call “intra”, running on Plone, where all our company processes and documents are stored.

We track cash flow with Xero. Finance reports are published to intranet on a monthly basis and are viewable to all full-time team members.

Monthly company newsletter covers the main events of the month and is a great reference point for digging deeper into parts of the company one does not know that well.

Development

NiteoWeb runs several SaaS projects, serving a few thousand customers. We use several techniques, libraries and services that allow us to make several deploys to production every day. That does not mean that we do not test code before shipping it. Rather, we have a workflow that runs a variety of checks and automatic tests and makes it very fast and easy to test new features in staging environments.

And even if we do push buggy code to production, we only push it to a fraction of users to minimize impact. The outcomes are great: happy users, since they get features and fixes fast. And maybe even more importantly, happy developers, since the code is actually being used minutes after being merged rather than being stuck in a bureaucratic production deployment workflow. Nejc has given numerous talks on the subject.

Setting Goals and Deciding What To Work On

We subscribe to the 12-Week Year philosophy for planning and goals. Every beginning of the quarter we review what we’ve done and if we hit all goals. Then we plan for the next 12 weeks (everything is of course viewable on our intranet). The time interval is just short enough for actual week-to-week plans while also being long enough to get things done.

We’re constantly updating and improving our work processes and will be updating this post as it happens.

If you like how we work and would like to join us, see our Careers page.

IRLs

NiteoWeb is a remote-first team. While we do have a physical office in Ljubljana, few people go there regularly. Most of us prefer to work from home, from coffee shops or from the beach. Wherever and whenever we feel we are the most productive.

While remote work certainly has its benefits, it does indeed have its challenges. Building rapport with coworkers is harder over digital channels than it is in person. While we do have a daily stand-up meeting on Google Hangouts where we all gather around a digital campfire for a few minutes every morning,  it isn’t enough.

About once a month those of us living in Slovenia try to get together for lunch, a picnic or a local tech meetup. These in-person gatherings are fantastic, but they are geographically limited. It does not make sense for people outside of Slovenia to travel for hours just to attend a lunch.  So we started doing semiannual gatherings where the entire team converges on a single physical location to talk, socialize and rant.

We call these gatherings IRLs (“In Real Life”).  In the summer we do it in Slovenia (or close by) and during the winter we do it in some warm place around the world. This summer we booked an AirBNB villa in Vodnjan, just across the border with Croatia. What a fantastic place we got!

The summer IRL was two days filled to the brink with insightful talks from the team, mindblowing idea pitches and great discussion about anything and everything. Besides politics, SpaceX and latest hacks we talked about what we as a company should do in near- to mid-term future. We updated our internal policies. And we had tons of great BBQ by the pool. I can’t wait what batshit crazy things we come up with at our next IRL, due in January 2017. In Bangkok!

20160615_122819 img_3193 img_3199 img_8178

WP Meetups

A few months back I noticed we actually have regular WordPress Meetups in Ljubljana, our base town. We attended one in April, where David talked about theming and Emanuel about bringing WordPress into the Public Sector. On the second one, in June, we were active participants: Janez and myself delivered a talk titled Lessons learned running 25k WordPress blogs describing how we scaled Easy Blog Networks to 25k blogs running on several hundred servers.

Both events also had a Lightning Talks section, which is what I normally enjoy the most. So many great ideas packed into such a short timeframe. Looking forward to the next meetup that should happen sometime in Autumn!

img_8157 img_7930 img_7932vlcsnap-2016-09-11-11h59m58s941

Y U NO USE CLIPBOARD MANAGER??!??!11?!oneone

Every time when I am in a pair-programming session and the other person does not use a clipboard manager I am taken aback at how such a thing is even possible. To me, a clipboard manager is such an essential piece of toolkit that I forget it’s there.

What is a clipboard manager? In its simplest form it’s a history of the things you copied. For example, you select text “Foo”, press Ctrl+C (Cmd+C on a Mac), then repeat the same on text “Bar”. The clipboard manager will keep both “Foo” and “Bar” values handy for use when needed.

Screen Shot 2016-06-21 at 23.15.17

My entire clipboard history, searchable, just one keypress away. Priceless.

Simple as that. And so, so effective! Every time you need to copy many things from one window to another, select and copy them one by one, go to the other window, paste them one by one. You save a ton of window switching and clicking around! Good clipboard managers support searching through the history of things you copied and they are smart about the type of content you copied, such as plain text, URLs, images, etc. There are many more reasons why using a clipboard manager makes your day easier.

Personally, I use the clipboard manager that comes with Alfred, the OS X productivity app. But there are literally hundreds of clipboard managers out there, for all major OSes and most of them do their job just fine. Choosing one is mostly about personal preference on keyboard for keyboard shortcuts and styling.

So, what are you waiting for? Get one!