Thoughts on Software Engineering in Trinidad

Lately, I’ve been thinking about the state of software engineering in Trinidad and Tobago. I’ve work for and with my fair share of software development companies here. I’ve spoken to and worked with engineers here and through out the Caribbean, as well as engineers and software architects from the US. From these experiences, I know that Trinidad has the raw talent in the field that can rivals most countries in the world. It is also clear from these experiences that we need to take it further.

I’ve written about this before, well, from a different perspective i.e. ‘ninja coding’ projects and by that I mean taking a project from concept to reality with great software engineering skill but little discipline. This usually involves working with a small team, excitedly white boarding the idea, hurriedly discussing the features and UI of the application then jumping right into the code.

In ninja coded projects, it’s not uncommon to have to make many many sacrifices/ hacks to get over unforeseen issues that came up due to lack of planning, synchronization issues between parts of the system delegated to various members of the team, even if it’s only two people. These projects may also take a lot longer than originally planned, but engineers can loose their way because there wasn’t a plan to begin with … and that’s just some of the issues on the technical side. What about the business side?

What’s the main problem/pain that the application is addressing? Is it already being solved today? How? How is your solution different? Who are your users? How large is the market? What’s your strategy for getting your solution to your users? How much do you need to start? What’s your revenue model? What’s your growth model? How will you determine which it is? How will you get funding? … and there are a lot more where those came from.

This week, I heard about a fairly large and well respected local company that had little to no structure, tools and processes around development efforts. This got me thinking about the state of software development in Trinidad here in Trinidad. (I’d be very interested to hear of readers of my blog if their company has processes and tools and what some of those are.)

I’ve worked to 2 companies in Trinidad that really did well in these areas one company excelling far above all the others that worked at or spoken to.

I spent the most time of the engineering career at Teleios Systems Limited. There was always a degree of technical excellence that the company, one which I’ve not seen matched by many of the other companies here in Trinidad and the Caribbean. During my last couple of years at the company I drove hard for the adoption of ALM tools in the development process coming out of a pretty spectacular semi-bust of a project we were working on. I’d say that we did a fairly good job, though I didn’t see ALM and the Agile process (+ very strong business development and account management) until I went to Medullan.

Medullan’s use of the Agile programming methodology and its value to all processes at the company (Sales and account management) is far superior to any other local software engineering that I am aware of in Trinidad today. Developers that have passed through the company know what I’m talking about…

In the end, I guess what I’m trying to say is, business men of T&T, CTOs, CIOs, CSAs (Chief software Architects), Team Leads, etc. Let’s get serous about Technology and the “Business” of software development … it’s not just about hacking together a software solution anymore.

Have a look at the following ALM tools

    With the right processes you can seriously reduce project overruns and raise the probability of successful project completion. I’ve seen it and done it myself.
    I’m currently using Visual Studio 2012 RC1, Team Foundation Service and Windows Azure for some projects that the company is working on … I must admit that I’m doing some quasi ninja coding on my current project, but I still have version control and integrated deployment. Makes a world of difference.

At Caribbean Ideas, I function as the Chief Software Architect and even though we’re a small company with an even smaller development team, I will not allow us to ignore good software engineering discipline simply because we’re a small team, or because we have a lot of work to do. The work will never get easier, I see building the right habits into the the very foundation of the team as an instrumental and critical step to building a team that crosses double digits. It is my firm belief the other software companies here in Trinidad will do the same.

      I think local engineers should get together and talk about this … what do you guys think?

    — Cheers

    Advertisements
    Tagged with: , ,
    Posted in Random Thoughts
    3 comments on “Thoughts on Software Engineering in Trinidad
    1. Interesting post Cordell! We’ve been thinking along these lines as well. However I’ve sort of landed on the perspective that the market is quite different locally and there needs to be some balance in approach to tech processes (largely based on how the market views cost and experience in the software development world), at least for now. I feel a bit of work needs to be done in educating the market to some extent.

      Don’t agree with the coining of “ninja programming” though. “ninja” seems to give an impression of both skill and discipline to me.

    2. Thanks for the response Anil.

      I feel like processes are meant to assist in providing development teams with tools that help them better give the client what they need. I do hear you in that this extra process means extra hours which in the end, leads to higher costs, for me though the increase in the chances of success when using a *more structured* process outweighs the additional cost. I think clients need to consider this, but you your comments have given me food for thought …

      On the “Ninja Projects” moniker … yeah I think I have misused the the term as it is generally used in coding circles, in my defense however, as a student of the martial arts, I tend to the think of the Ninja as the assassin/’get it done by any means’ using anything that gets the job done, where as the Samurai is driven by both skill and discipline 🙂 — but that’s really my bad 🙂

    3. Interesting indeed.

      It’s been a shock to my system moving from Medullan to a local IT company where processes aren’t as rigid, in fact, seems to be barely in existence! Like Cordell mentioned, I also recognize the tremendous value in going the extra mile to ensure that you have strong processes in place throughout every step of your project, from proposal writing, to requirements gathering straight out to user acceptance and possibly support. I acknowledge that processes may not always be the best – there will be the pros and cons, but what’s most important for me is the drive to get them to a solid place.

      My view is that having proper processes in place elevates your integrity, accountability and professionalism as a software team. I don’t have knowledge of what the market is like in Trinidad, but I don’t want to just wait for people’s mind to change. I agree with Cordell in being firm and non-submissive with the procedures that need to be followed. I feel like each of us (on any software team) has to take on that responsibility and execute projects with healthy and continuously improving methods, processes and practices that enhance and adequately supplement our software project execution so that we emerge with an all-rounded skill set and a greater appreciation and pride in the projects and products we build.

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s

    Calendar
    July 2012
    S M T W T F S
    « Jun   Aug »
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 410 other followers

    %d bloggers like this: