#HMU25 sees integration and improvements to the Tuenti app

Posted on 2/27/2015 by Engineering Outreach Committee

The 25th edition of Hack Me Up has just come to an end and we couldn’t be prouder of our team! After 24 hours of non-stop programming, this edition of Tuenti’s internal programming contest came to an end with two winning projects, one in the Product category, and another in the Geek category.

Yesterday (Thursday) at 17:00 saw the start of the session, which included movies, popcorn, dinner, table football, video games and music, along with code, lots of code!

As with each HMU, the winning projects were chosen by voting amongst all Tuenti employees. The winning project in the Product category was Tuenti Car, by Alexis S., Antonio A. y Víctor P., a project that presents a new user interface and UX to be able to use Tuenti in a car. 

David P. and David S. lifted the winner’s trophy in the Geek category with DeMemory, a project where memory matters.

Congratulations to both teams! As of today, they’ll join our Hall of Fame in the Tuenti office ;)

Swift lovers gathered at Tuenti thanks to theEvnt

Posted on 9/29/2014 by Joaquín Engelmo, software engineer

Last weekend, we hosted the first theEvnt workshop in Madrid. TheEvnt is a foundation created by one of our engineers and based on Extremadura. Its main goals are supporting local region development and providing easy access to resources related to Internet, Mobile, Software, Marketing, Social Media, SEO and so on.

Tuenti and theEvnt are going to collaborate together on achieving those goals. For that reason, we will organize a monthly workshop from now on. The first one was held last weekend at our offices and the topic was "Swift". One of our iOS senior engineers, Victor Pimentel, who has been playing with Swift since it was released, was the speaker.

We had a blast! Around 40 people attended to this 4-hours workshop, a Saturday morning, and we really appreciate that guys, thank you! Learning, networking, chatting and lots of fun. We learnt Swift basics and then we created a sample app using XCode. Before the end, theEvnt also raffled a new book about iOS and Swift that one of the attendees would enjoy. Borja López was the lucky guy!

Thanks you all again for coming and we hope to see you soon in the next theEvnt workshop about Android next month. You can check all the updates in the workshops web, following theEvnt or the Tuenti Engineering accounts on Twitter. Stay tuned! ;)

New edition #HMU23: Interface Your Telco

Posted on 7/25/2014 by Eng Outreach Committee

The 23rd edition of our HMU concludes with two winning projects at Tuenti's offices. Focused on creating new products that provide Tuenti Móvil customers with added value, in this edition the product portion took place with the title Interface Your Telco.

The Tuenti engineers began to prepare their projects yesterday at about 5pm, following a couple of training discussions with two team members regarding WebRTC and APIs, and they will finish them today at the same time. As always, the event included dinner at the office, naps, and a lot of work to be done.

Members of the entire Tuenti team submitted votes to select the winners. The Awesome Dialer project by Andu and Julio, which consisted of improving the phone number dialer and redirecting calls using the Tuenti app, received first place. Daniel and José Antonio earned second place with their Calls in Chat project, which transcribes free calls using the Tuenti app in the chat history as text.

The Tuenti Release and Development Process: Conclusion and the Future

Posted on 1/14/2014 by Víctor García, DevOps Engineer

Blog post series: part 6 (the very last one)
You can read the previous post here.


There is nothing I can say other than the fact that all of this has been a great success for the company. The new process and all of the changes we introduced have improved developer throughput, has speed up the development workflow, has nearly achieved continuous integration and delivery, and in the end, we work better. The site and mobile apps have fewer bugs and overall, we’re very proud of what we’ve done:

  • Self service dev environments: disposable, ready to use, less support required
  • All manual processes automated: less time, fewer errors, more accounting
  • Well known processes: used in every project, less support required
  • Automated pull request: ensure testing and “ever green trunk” what in turn improves continuous integration and people integrate more often.

Buzzwords on the Internet and in Talks: Continuous Delivery/Integration, Agility, Automation...

Most of you have probably heard talks or read articles on the Internet about continuous delivery, continuous integration and all of these cool agile methodologies where everything relies on automation.

For the skeptics, here at Tuenti you can see that sooner or later, they pay off.

Not Following Them? Why Not?

Some of you may think that in your company, things are working just fine the way they are and that you don’t need to change them. You may be right, but what you might not know is that things could be even better. Why not always be ambitious and go for the very best?

Maybe you can think that changing your development workflows and the developer culture would take a lot of effort. Ok, it may not be straightforward, but it’s worth to try.

I’m not going to explain why doing smaller but more frequent releases is better, or why doing things manually is not the way to go, or why continuous integration reduces the number of bugs because you probably are tired of hearing the same again and again and because you can easily find that information by googling it.

How to Change

In newer, smaller companies, changing processes is not as hard as it is in bigger companies with old workflows and old people that are used to working with prehistoric methodologies.

Here are some tips that might help you make such changes in these more complicated settings:

  • Sell your idea by demonstrating success stories from other companies, clearly stating why change is better.
  • Start implementing something that makes the developers’ lives a bit easier.
  • Make small changes (Minimum Valuable Product). Bigger changes involve many ruptures in the process and developers won’t like them.
  • If they like your first MVP, you won’t have problems getting an opportunity to continue with those changes.
  • Developers will depend on you, be nice to them. Always be helpful and understanding when it comes to their problems. You can even do polls to find out what’s annoying them the most or what it is they need.
  • Automate everything. It ALWAYS pays off.

Transparency for Everyone

When someone in your company (techies, product managers, CTO, CFO... whoever) needs information are unable to get it, you have a big problem.

If everything is automated, it should be easy to gather information and show it company-wide; the release state, the next code that will be released, what that code does, what bugfixes it will include, who the author is, its risks, how to test it, etc.

Create a dashboard that everyone can see (a good design will help), so you can make them aware of, for example, when a new feature is going to be released. This way, for example, the communications/press team can make an announcement or the marketing people can prepare campaigns in time. Otherwise, they will ask you personally and in most of the cases, this is a waste of either your or their time.

And Now What? Next Steps and Projects

We automate almost everything but there are tons of things left to do and tons of way to improve/optimize the current tasks and operations we’ve automated.

Here is a list of some of the things we would still like to do:

  • Open source flow: Many people have requested this from us, and we are willing to do so but at the moment there are some parts of the code that are far too much coupled with Tuenti-specific things. We would need to do some refactoring before open sourcing it.
  • Speed up the pull request system: By testing more than one pull request at a time. For example, if there are two pull requests, A and B, the idea would be to test A and B together and also A only, if A+B is successful, Flow integrates two instead of one, if A+B fails and A is successful, Flow integrates one, if all of them fail, there is nothing to integrate, but it’s demonstrated that this case is the least frequent because in most of the cases the pull requests are successful.
  • Code risk analysis: Analyze this risk in the pull requests system so we can cherry pick pieces of code according to their risk and better plan releases. For example, we could do low risk releases only on Fridays.
  • Improve the development environment by virtualizing in different ways: Tuenti-in-a-box is not always enough to provide a full development environment because of resources consumption that is too high or because it’s not ready for other kinds of environments like Android or iOS developers. We have been thinking about improving the virtualization system, and instead of using VirtualBox, we would like to try some lightweight virtualization providers like LXC. It’s worth researching because we think there is room for great improvements here.

Meeting the Tech Team: Javier Mellado

Posted on 5/21/2013 by Eng Outreach Committee

Javier Mellado, born and raised in Malaga, moved to Madrid in 2006 and is the veteran member of the Software Engineering team at Tuenti. Since joining the company in September 2007, he’s worked on the technical side of user support. The Admin Tools team builds tools that help to manage Tuenti's content quality in terms of spam, underage users, prohibited content, etc.

If you want to get to know him a little better, don't miss the video we've made of him ;)


Follow us