Hiring Sr. Engineer

We are looking for a senior engineer to join our team here in Bucharest – Adobe. When you think of Adobe first thing that comes to mind is Photoshop. Then all the other tools we have for creatives. Unless you are a marketer in which  case you think of analytics, CMS, and other solutions Adobe has for marketers.

Here’s the interesting thing: my team literally sits in between these two worlds (Creative and Marketing) and Adobe’s customers. So what do we exactly do? We help the teams inside Adobe to expose their APIs/Services to the outside world. If you want to see one example in action take a look at Creative SDK.

It is safe to say that almost anyone can create a service. But when you want to run that service in production environments and outside your private network you face lots of challenges: security, authentication, data throttling, monetisation, analytics, cache management, distribution, up time, scalability, and so forth. And this is exactly what our team is doing for the other teams inside Adobe.

In terms of team structure, most of the engineering team is based in the Bucharest office (and product management and UX). I know that everyone say it these days, but trust me on this one, we have an amazing team and the work we do is super cool. Oh, almost forgot to tell you that we are open sourcing our work.

Sounds interesting? If you have a strong background in one or more OOP languages (Jave, C#, C++), experience with web services and modern web application architecture drop me a line. There are many more cool things we work on but I’m afraid you have to join us first and then we can tell you more :).

Pursuing Perfection

Pursuing perfection is one heck of an engine to push yourself and achieve more. Some say that it is a mistake because you set up yourself for failure. After all perfection is something that you can’t achieve.

Maybe this is true. I mean not the fact that is a set up for failure. It’s true in that you can only achieve moments of perfection. Any now and then you create the perfect interface, perfect strategy, perfect code, perfect presentation, and so forth. But it’s kind of impossible to maintain the bar and keep delivering only perfection afterwards.

There is also a dark side – when you play so much with the pieces you have in the search of the perfect set up and you end up choosing the wrong combination. If you weren’t looking for perfection you’d have gone with a better choice.

One quick example that comes to my mind is the Bucharest UX Conference 2015 – the first UX conference in Romania. The conference was a hit by any measure. But there was one thing that was clearly not up to the rest of the conference – the MC guy.

Knowing the people behind the conference I know they chose that guy because they wanted the best conference. But it backfired. I think they have at least one guy in their team who would have done a much better job.

But this is part of going after perfection. Sometimes works. Sometimes not.


Why processes/methodologies are no silver bullets for software development

Every time you hear that a new process is about to be implemented at your company to increase productivity or software quality or creativity you should open wide your eyes and look around. Chances are that the problems are not processe related in the first place. 


Let me start with a true story about bolts, washers, and nuts. I was in the 5th or 6th grade when all the boys from my class had the privilege to understand the working class: once a week we were taken to a factory and given the task to put together a bolt, two washers (split and flat), and a nut (these Kafkaesque tasks were common during the communist regime). In front of us on huge steel tables was a pile and we had a quota. After a while we realised that if we split in teams and each person does only one task we will finish the job faster. A simple change in the process increased our productivity while the people working on were the same. Continue reading

Keep Walking

I had the time of my life at Adobe, especially the time spent as an evangelist. I still remember the day I met Ben Forta for the firs time and he offered me the chance to join Adobe’s Platform Evangelism team.

Right there I knew that it was a big opportunity. But even so I couldn’t imagine the impact will have on me not only from a professional point of view but from a citizen of this planet too. As developers we think that we know our clients and users. Some might actually know. But for the most of us it is always more about the ride then the summit. And for software products you have to make happy your clients otherwise there will be no trip anymore. Continue reading

Vienna and Creativity

Last week I spent two full days in Vienna with no business obligations – just me, my wife, and the city. It wasn’t my first time over there and yet I had so much more fun than I thought I would have. With the images and experiences still fresh I thought I should share them with you.


In one of the museums I visited I saw these words (won’t tell you where, you have to read until the end):

Our real illiteracy is not the ignorance to read and write and not the incapability to repeat other people’s knowledge, but the inability to create.

There is something about these words both powerful and worrisome. At least to me.

Continue reading

9 years and counting

This post is not about technology so here is your chance to let this pass by and do something else. You’ve been warned :)

Around this time of the year I started my journey at Adobe, nine years ago. And what a journey it has been so far! I started as an engineer on a team that was mainly building web products using HTML/JS/CSS/PHP/ColdFusion/MySQL. Two years later I joined the Flash Builder team and worked with Java and Eclipse platform on this crazy Eclipse-based IDE. Finally, about five years ago I was given the opportunity to join the Adobe Platform Evangelism team as a developer evangelist – and this was (and still is) the dream job I’ve been dreaming about :).

Just to give you some context. I was born in a communist country “enjoying” one of the harshest dictatorships from the past 40 years in the civilised world. Things like freedom of speech and traveling abroad were just some distant theoretical concepts. Even computers were really hard to find during that time. I remember that it took my parents about 3 years to get me a HC-90 clone. Until I got my first computer, I used a piece of paper and a pen to write programs. That was a dark time; fortunately it cost me only my first 13 years. Looking at my life now I feel like I live in a dream. A good and warm dream, not a nightmare with some Kafka twists in it.

I wouldn’t be where I am today if some people didn’t believe in me. I want to say thank you to Ducu, Ben Forta, Enrique Duvos, Kevin Hoyt, and Andrew Shorten. Your advice was (and is) deeply appreciated.

This is just the tip of the iceberg because there are many others that helped me to better understand the developer ecosystem: people I met at conferences and customer visits, people from all over the world. And with some I became friends. This is why I feel at home in places like Zagreb, Zurich, Oslo, Lisbon and Porto, Copenhagen, or Milan.

And finally I want to say thank you to my wife. Only she knows what it takes to take care of two little children while her husband is flying somewhere over and over again. Thanks honey and I am looking forward to another amazing 9 years!

About web standards, speed, and time

If your work targets the web then it is almost impossible not to hear something like this:  “Man, the standards are moving so slow!” every now and then. Usually this introductory statement is followed by a second part that you wouldn’t say in front of your mom/dad/children.

Basically, the belief is that if there were enough motivation it would have been a matter of months (maybe weeks if you are the type who sees unicorns without consuming stuff legal in Amsterdam and illegal in the rest of the world). Fewer people choose to question not the motivation/drive of the people involved in the standards but their abilities: “if we only have smarter people there”.

If you believe that these are the two main reasons that prevent standards from moving faster than let me tell you that YOU ARE WRONG!

Let me give you an example that illustrates the fact that things cannot be speed up by getting the smartest people around and proper motivation. Let’s start with motivation. What better motivation can a human have then fighting for his own survival? And what about having the smartest guys for the job actually on your team? Basically something even better than an “A” team?

Such a thing actually happened in the 20th century. I am talking about the Manhattan Project (this project created the first nuclear bombs). Despite having the best scientists of the time (and arguably one of the all time best), people like Albert Einstein, Enrico Fermi, J. Robert Oppenheimer, and despite having the best motivation (develop the atomic bomb before the enemy or else the war could have been lost) they needed about seven years to complete the task while spending the equivalent of $25.8 billion and employing more than 130,000 people.

The sad truth is that complicated things take time. And the web browsers and the standards have long passed the point of becoming something that can be called uncomplicated.

In the past two years I have been fortunate to work close with a team at Adobe that is involved in  writing CSS proposals and implementing those proposals in WebKit. I’ve seen ideas moving from inception to hacks/prototypes, and finally to proposals. You know things like CSS Regions, CSS Exclusions, or CSS Custom Filters. And I’ve seen how things that seem to be simple in isolation become complex when considering the whole. Basically, if you add something new to CSS you have to make sure that it will play nicely with the rest of the CSS features.

Another thing you have to take into consideration is to make sure you have throroughly thought though the security implications of a new feature. The Custom Filter spec was on hold at some point this year because there was a possibility (although only theoretical) that a pixel shader could be used to find what links where visited.

For browsers vendors a security issue is also something that can crash the browser. A poor implementation of a complex thing does crash the browser. No one wants this to happen at least not to his browser :D

If it sounds like there is nothing you can do to speed up this process then keep reading for some ideas :). I think that the people who use these standards in their daily jobs web developers and web designers can actually help. And from my point of view these are things you can do:

  1. Make sure you follow the new standards that make sense to you (help your projects/clients). In the unicorn’s country you’d follow all the standards. In the real world this is not going to work thus focus on what you’ve decided that it is important to you.
  2. Create examples that use these standards and make sure you share them (blog posts, conferences, etc). This is hugely important as it helps to validate a proposal. If more people find that spec useful and capable of solving problems then there is a greater chance that that spec is spot on.
  3. Make sure you are vocal about your support for your favorite new specs. One good example of being vocal is Mr. Stephen Hay aka Captain Flexbox. Let the people who are working on the proposal know what you’ve built and ask people involved in the standards what they think about these specs. These days if you go to a web conference at least here in Europe you could easily bump into people from W3C, Chrome, Mozilla, Opera, RIM, Nokia and so forth.

Of course I may be completely wrong here. And maybe these are not the reasons for why it   takes time to get new standards supported in browsers. If you have a different opinion I’d love to hear it.

PS. Although I work for Adobe, this post represents my personal opinion and not my employer’s.

Adobe Translation Center is live

My friends from the community translation team at Adobe have finally released their Adobe Translation Center for the rest of the world today. I am happy for them and I think it is something you will love too, especially if there are Adobe products that are not available in your language.

So why is Adobe Translation Center important to you? Or at least should be? :D

This service allows you to give us feedback for the language used in our products. Let’s say you are a user of Photoshop in French like Monsieur Michael Chaize. And for some reason you find some labels or menu entries that are not the most fortunate French translations. Using Adobe Translation Center you can give us this feedback and together we can fix this issue.

Or maybe you are borg and you would really want to be able to have Adobe Illustrator translated to your language. So what can you do? Simple, just use Adobe Translation Center to start translating the product together with other happy bogs fellows.

In the end this platform is not something like a forum but a front-end to generate localization files for Adobe products powered by the community. Here is the a blog post that talks about this with more details.

Happy translation!

Say hello to WebPlatform.org AKA Web Platform Docs

Without any further ado please say hello to your new best friend when it comes to reading documentation about web: WebPlatform.org. Do you feel a little bit perplexed? Not sure if I am serious or just joking? Ask no more because I am dead serious :)

So here is the deal: Adobe, Apple, Facebook, Google, HP, Microsoft, Mozilla, Nokia, Opera, and the W3C have worked together to create a single point of reference for all sorts of documentation related to the web. The whole project is set as a Wiki because we need everyone to be a part of this: sometimes you only search for some API and sometimes you’ve spent a great deal of time figuring out how to use a new API and you are ready to share this with the world.

Here is a video that briefly introduces this project:

Remember: a single place for all web resources a web developer/designer needs and a resource that you can edit and enhance.

For more information check this post or the W3C press release, and make sure you go to WebPlatform.org.