Our final installment of speaker highlights has SilverStripe's UX Developer Michael Andrewartha sharing insights from Rackspace's Shaunak Kashkap. This is followed by Senior Developer Russell Michell's highlights from John-Daniel Trask's talk on elastic search.
Shaunak Kashyap has been working in the Internet software industry for over a decade. In this time Shaunak has worked at small and large companies (Yahoo) alike. He started his career at a startup in Connecticut, worked at a Hollywood production company (World Poker Tour) in LA and eventually settled in Silicon Valley. Today, Shaunak works from his home office as a Developer Advocate at Rackspace. He shared some tips on how to help remote teams.
It can be tough being the only one in the room. Meet team members first face to face can help to build relationships that will continue online and always hang out in the team shared chat space. Also make sure you know what you are getting into when you decide to work from home.
Watch for burnout
Stop cabin fever! Find a co-working space
Keep a work life balance! Set Pillars (thins you must do to maintain routine) and Boundaries (limits to control work/life balance)
Don't be the only person on a project away from the office - make sure to check that you're not the only person working remotely
FUD! Fear, uncertainty and doubt spreads like wildfire when working remotely
Short term: nip it in the bud when you see it happen
Long term: reinforce positive behaviour, also look for it in interviews
Communication breakdown (Oh I didn't see... Sorry to cause offence)
Assume positive intent and clarify with questions
Repeat message on multiple channels to get things across
- Pooping on the clock (space in between personal and work time)!
- You will get better at communication
- More head down time
- Less commute
- If unwell then stay at home, won't affect other workmates
John-Daniel is a former winner of the NZ Hi-Tech Young Achiever Award and of New Zealand’s best known software entrepreneurs. He is co-founder / CEO of Mindscape, makers of popular error tracking software Raygun.io. Here's the highlights from Trask's presentation:
- Elastic Search is “more than just search”
- It is the search backend for RayGunIO and also Github for indexing and querying ~8m GIT repos!
- A distributed search-service
- Runs on a JVM with a RESTful interface for updating indexes and querying
- Querying is done using LUCENE, the same syntax and querying system used behind the scenes in the SilverStripe fulltextsearch module.
- Querying can be done using custom or out-of-the-box “Aggregates” (formerly “Facets”)
- An “Aggregate” can be thought of as a “pre-built” search (terms, filters, etc) defined in JSON.
- Aggregates can contain nested JSON blocks of further query-rules.
- Trask noted that he was “suspicious” that he and the Raygun team had yet to run into any real scaling issues, both in terms of the size of the DB (Nodes, Shards and Indexes) or issues in terms of how fine-grained and customisable the Aggregate-based search-system could actually get.
- Nodes: Physical or non-physical (VM based) representations of Elastic Search installations (Caveat: See docs for confirmation)
- Indices: Indexed documents relate-to indices (Caveat: See docs for confirmation)
- Shards: ..are groups of indices spread across nodes (Caveat: See docs for confirmation)
- There are ~4 PHP libs for interacting with an Elastic Search backend, and one “official” one.
- Querying results is near realtime (taking into account the time taken to index new documents)
- Trask heavily advocated for an intermediary class-based mapping between stored documents and indices.
That's our final highlights post from the first NZ PHP Conference - we can't wait for next year already!