Over the years, I’ve had the privilege of being part of a few teams: development teams, architecture teams, management teams. I’ve also been privileged to manage a few teams of my own. In my experience, I’ve seen that staff meetings tend to fall within two distinct styles or “colors”, and of course there’s room for many intermediate shades as well. In this post, I outline the styles and make the case for my favorite meeting color.
Read more →
For the past couple of weeks, owing to a mishap, I’m temporarily switching from my Nexus 4 to a loaned Lumia 520. I’m no stranger to Windows Phone, and I’m not really missing any apps. I do miss the tight-knit Google ecosystem, though, and that got me thinking about the implications the concept of mobile ecosystem has for the enterprise market. Read on for my thoughts on this.
Read more →
Like such things are prone to do, the media storm surrounding Flappy Bird has subsided. For weeks, the game’s sudden rise to fame and perplexing demise by its creator, independent Vietnamese game developer Dong Nguyen, brought about many theories and thoughts. Although the matter has seemingly been settled, the loud chorus claiming that @dongatory was incapable to cope with success brought to my mind a question we seldom ask of our own projects, one which carries deep implications: are we ready for wild success?
Read more →
Summer is in full blow in the northern hemisphere, and, I think, particularly so in the Caribbean. Family commitments involving plenty of food and the beach, among less glamorous stuff, have kept me silent over here for almost two months now. This is just a short note to let you all know that I’ve been awarded a research grant from INTEC to work on architecture description languages (ADLs) as tools to assist high-level electronics design. Read on for some details.
Read more →
Three months ago, I was teaching a class on Fundamentals of Software Engineering. This course has a module on Software Architecture, which I typically teach from the Carnegie Mellon SEI perspective. After teaching it a few times, I had been thinking about better ways to transition students from the “computer-science-first”, code-driven perspective they have when they get to this course, to the more abstract level of thought desirable to properly grasp and reason about software architecture in a structured fashion. Read on to find out how I reached out to another engineering discipline to achieve this.
Read more →
Last week was marked by two interesting announcements concerning instant messaging (IM). First, BlackBerry announced that its signature Messenger app is gaining a Channels functionality that comes across as a Facebook/Twitter mash-up, and that it’s coming to Android and iOS this summer. Later, Google announced their revamped Hangouts strategy to unify and enrich IM across its different platforms and offerings. In this post, I explore some of the commonalities between both strategies, as well as single out my perceptions about the main drivers behind these changes at both companies.
Read more →
I’ve long held the view that concerts are for fans. By this I mean hard-core fans. There’s no place in a concert for people who casually consume the artist’s music. No, you need to know all songs by heart, even with different arrangements, the idiosyncrasies of the band when touring: the symbols, the antics… You need to be deeply invested into a band or artist in order to make it be worthwhile the minor ordeal that attending a concert usually involves.
At least that’s my opinion. And for somewhat similar reasons, I think similarly about developer conferences: generally speaking, they’re more of a hassle than they’re worth. Read on to find out my argument before you think I’m just older and bitter than I should.
Read more →
As head of the Bachelor of Science in Software Engineering degree at the Santo Domingo Institute of Technology (INTEC), one of the questions I field more often is the difference between this degree and our BSc in Computer Science. This second degree is actually named “Information Systems Engineering” (both at INTEC and generally at all Dominican universities), but is typically accredited as a BSc in CS internationally; a recent curricular reform may change that, though, as it is now based on the ACM/IEEE guidelines for Information Systems programs. I have a variety of resources to answer the question of how they differ, but recently drew on a long tradition of cooking and software development parallels and came up with an explanation that seems to satisfy people more than previous ones.
Read more →
As an IT leader, I often find myself walking a thin line: I am the company’s voice before the employees, and the employees' voice before the company. This extends to mediating between internal parties and vendors, auditors, consultants and other external entities as well. While not an absolute situation (and certainly not at my current workplace), it is often the case that higher leadership pushes an IT management model that is ultimately a fallacy. Curiously enough, other parties' retort is also deeply flawed. Both are rooted in good intentions, but tangle up in a vicious circle that does more harm than good, even though no one overtly intends it. In a sense, a lot of IT leadership and management efforts are spent bridging these two fallacies.
Read more →
After being hailed as the next big thing for mobile applications, HTML5 has suffered a series of setbacks in its quest to dominate application development for post-PC devices. High-visibility episodes from big social companies, insightful rebukes from industry experts, and critiques aimed at “always-on” connectivity demands have all served to tarnish HTML5’s reputation as a viable mobile platform. Today, as I reminisced about an editorial that made the rounds recently, I wondered if we should add “the polyglot requirement” to the list of drawbacks imputed to HTML5 regarding mobile development.
Read more →