Tuesday, 8 March, 2016 UTC


Summary

hack.summit()
Hack.summit() is now over, and many interesting talks were presented. It’s a virtual conference with many prominent people speaking. You can hear from CEOs, founders, and lead developers their best practices on how they run their companies. It’s also free and, unlike real live conferences, provide the experience to the fullest even if you watch it from recording.
Since there are quite a few sessions and each lasts for almost an hour, you’d hardly find the time to watch them all. This and some following posts are the overviews of the talks I watched, so that you can decide whether they are of interest for you or not.
Please note, that these are not exact transcripts of the talks, and not all talks are presented here. Only the ones I found interesting.
Also, you might need to register to hack.summit() to watch the recordings.
Orion Henry from Heroku
You can watch the video here
Orion is one of the founders of Heroku, a cloud platform primarily for Ruby developers. It’s widely used and it’s push-to-deploy model was a trailblazer many others have since followed.
Orion preludes his presentation with some history. Heroku was an educational tool first for Ruby developers with the aim to help people try simple programs in the cloud. Then they were surprised to see that people actually uploaded their codebase and ran their business on their infrastructure. Rather than blocking this behaviour, Orion and his fellow founders realized there is a need and changed their scope.
The main idea behind his speech is while the Internet itself is decentralized and designed to withstand concentrated attacks, the cloud is making it centralized to data centers. This makes it fragile and is counterproductive. One way to mitigate this trend is to shift the processing to the browsers from the servers.
He then provides a very interesting proof of concept. Asm.js and Web Assembly are two prominent technologies to bring softwares to the browsers that were not designed to run in this environment. Today, you can pick a C++ program and cross-compile it to Javascript and run in the browser. And it’s exactly what he did.
Data scientist use literal programming to bundle their findings with the code, making the results reproducible (it’s actually a quite important aspect). They used Python code to generate the living document, but the Python is interpreted on a server, rendering the whole process slow and tedious.
Orion compiled the Python interpreter to Javascript and bundled that with the page. It made the recompilation local to the browser. Also he used WebRTC to communicate with other editors, effectively making the server-side almost unnecessary.
It’s a brilliant idea and it’s good to see that such tools exists that empower the browser; these made use-cases previously impossible a realistic alternative.
The last part of his speech was a speculation how to bring more responsibility to the browsers currently managed by a central server. Responsibilities like identity handling, application delivery, and database might be decentralized in the future. There are some little known technologies that address these, but they currently can not replace traditional servers. This part was a bit futuristic for me, but it was interesting to see what keeps Orion busy these days.
Floyd Marinescu from InfoQ
You can watch the video here
This talk is about the peculiarities of running virtual teams, one of my favourite topic. Floyd is the CEO of InfoQ, and the company is run by remote teams, so he surely speaks from experience.
The talk is centered on the human side of remote teams, instead of the exact softwares to use. Also he brings up the well-known aspects of motivated work: purpose, mastery, and autonomy.
Besides the exact softwares, communication is divided into sync and async forms. Email, for example, “is a tool for eventual alignment”, while Skype talking is synchronous by nature.
The two key elements of running a virtual team is:
  • result-orientation and
  • self-motivation.
Since traditional employee monitoring practices do not work remotely, both need to be addressed.
Trust and transparency are also key elements. Without the latter, the former can not exist. So a virtual team must be as transparent as possible. This can be achieved with self-reporting that everyone can see. This way the results are open to everyone and everyone can assess the performance of the team. Some companies went a lot further on transparency that they disclosed the financials too. And they are still in business.
Hybrid teams can hurt transparency if not managed correctly. People working at the same place tend to keep the informations informal; someone who is working remotely could easily miss out on important pieces. It is therefore important to put everything online once you are committed to build a remote team. It is also important to keep KPIs and dashboards so that everyone has a clear view on their performance and what are expected of them.
To reach autonomy, the management should delegate processes instead of tasks. These develop ownership and foster motivation.
Floyd then talked about the necessity of meetings and social connections. Regular meetings promote the feeling that the other team members are accessible. People tend to more easily approach a colleague face to face than writing an email. Daily meetings ensure team cohesion.
While async communications work better usually, onboarding is an exception. When someone is just starting out in your team s/he can easily feel lost. Face to face meetings every day with a dedicated mentor who shows how the work is done in the team is essential.
Also Floyd mentioned the importance of a team-wide social network. Since people tend to see each other quite rarely, personal connections form harder. A social network that acts as a water cooler and gives people chance to share more personal stuff helps the development of social bonds within the team. And as the members working there are actually people, it’s an important aspect.
He then detailed the different kinds of meetings they are using, but I think it’s not closely related to running virtual teams. There are many helpful ideas in this presentation, and Floyd definitely mentioned some tricks to make running virtual teams easier.
Stephane Kasriel from UpWork
You can watch the video here
This session’s structure is a so-called Fireside Chat, which is the fancier name for “just talking”. As a former UpWork freelancer, I’ve been particularly interested in this talk, as the company’s CEO is an authentic source of information.
They covered many topics, a bit of history of the ELance-Odesk merger, and some future plans. It was interesting to hear how the predecessors of UpWork enabled developers around the world to find work remotely and be able to work with teams they could not otherwise work with. On the other side, it also allowed companies to trawl for suitable developers from a global workforce. Since then, many similar services started.
What I missed was a discussion about the most pressing problems most users, freelancers and companies alike, are facing when using the platform. The noise that non-serious clients and developers bring to the system makes it really hard to find the few serious ones. There are many projects with unrealistic budget and timeline that most of the time is spent vetting them. Most of the clients I’ve worked with also lamented about the other side. It’s actually quite challenging to get started on the platform. That said, if you have the perseverance and the soft skills needed to start, it’s a great platform and you really can make a living working there.
They covered many other topics, and if you’re interested in online freelancing marketplaces, you should definitely check out the whole talk.