- Alina's blog

Beyond the apps – thoughts on software development

For the last couple of months I collaborated with Telefonica Foundation for PremiosApps, a first program intended to offer support for dozens of developers aiming to build web-applications with a more social impact (apps for education, art or healthcare).

Some of the apps are already up on the Firefox Marketplace (winners had the opportunity to further develop their project through ThinkBig programme or work with Telefonica Digital on FirefoxOS). It was a really interesting experience for me, as my role was to provide support on technical, but also project management side.

So I wrote code, deployed some services, played with some tools for software project management and I had the chance to have meaningful conversation with people who build their own first web-apps. Of course, among the conversations there were questions such as whether building for a platform or another is better, whether is optimal to migrate web apps to other mobile platforms (such as iOS or Android), to go either for SQL or NoSQL databases, to use a framework or another, etc. The answer is hard in such situations and sometimes, technical decisions can play tricky when come to plan with the resources you have to dedicate to the project.

When comes to questions like “which kind of technology should I choose” – my answer has always been: choose whatever technology you find comfortable with, the technology that your tech. team colleague feels that manages it well enough, the technology that best fits with your resources and time.

In a world that changes so fast, with dozens of frameworks, APIs, programming languages and various platforms – it’s hard to make decisions, especially when you just start your project. The thing is (and we’ve had a conversation about this when discussing about databases) – software is after all an interface that connects you, as a human being, with the machine.
Databases are nothing more than conceptual representations of elements you’re working with and the relationships between them.
The Cloud Services are nothing more than infrastructure on which our code (e.g. web services) runs – a set of computers running as servers and a pipe that connects them with other parts of the internet.

One of the things I learned from this experience is that, when you start a project (like building a piece of software) that eventually will become a product (a piece a software you can actually sell or deploy) – don’t start with the “I’m going to build an app” thinking. The app is just a small, tiny part of the project, the interface between you and the user (which, of course, it’s important). 

The problem today, especially in software development world, is having to cope with a constant wave of miscommunication, that is, all that marketing talk about how easy is to build an app (eventually with just a few clicks) and how easy is to be a developer (eventually in just a few days). 

That was part of the experience for the group: learning that things are not easy, that building software is harder than it may look like at first and that even the most popular programming language – JavaScript – has its own secrets and tricks. 

Applications on the web are a real opportunity in these moments of paradigm change. It may help us explore what could be next on software development. However, we should not forget that we are still through this platforms war :) .

Beside this, when thinking about building software with social impact, things get even harder as you have to do some “problem finding”. But on this topic, building technology within a social layer, I’ll write more soon.

Thanks to Telefonica Foundation and, above all, to the group of participants I worked with. That was inspiring and made me feel hopeful about the future of software industry in Spain.

I finish this post by sharing a recent talk by Alan Kay, software engineer and inventor from Sillicon Valley (the Sillicon Valley that used to inspire me some years ago… ): youtube.com/watch?v=gTAghAJcO1o

Leadership, decision making and ecosystems – Mozilla Summit

Next week I’m going to fly to Mozilla Summit in Santa Clara. A few weeks ago I chose to facilitate two supported sessions (“distributed leadership and decision making” and the “ecosystems in our image”). Both sessions seemed to me challenging and a good way to explore some new directions.

I already had conversations with other facilitators on “distributed leadership and decision making” and there is already a good base of content to start.

As a facilitator, my focus is to help participants spark a conversations about decision making, servant leadership and ecosystems in their image. My approach is to ignite thinking and sketching of ideas, proposals… ending up with a wider narrative. And of course, the focus is the participant, as both leadership and decision making are very personal, a set of skills to be developed and proper ecosystems for growth and motivation.

Here are the sessions:

The agenda will be participatory, allowing everyone to make their voice heard. Of course, as those are sessions with some complex topics, I’d encourage participants to continue them during the open sessions.

The outcome of this sessions should give us enough pieces to visualize the diversity of participants and identity of Mozilla Project, a base for an ongoing frameworks to make decision making processes and local ecosystems more effective and aligned.

I’m looking for helpers (co-facilitators and volunteers to document). If you are interested, I’m amierlus on #mozsummit!

Looking forward to it! Also, comments and thoughts are welcome, here or via email!