Friday, February 12, 2010

Partner Solutions Consultant

I have recently joined the Global Partner Team in Appian. In it I am a Partner Solutions Consultant.

I started in this company (Appian) working as a Software Developer for about 1.5 years. Then I moved to Professional Services and during the next 2 years and change I participated in several very interesting client engagements in the Federal, Military, Procurement, Compliance, Healthcare and Commercial industries both in the US and Europe. I was promoted to Sr. Consultant and managed to get a nice reputation thanks to my work and contributions in and outside the company.

When the time for my next review was coming I started thinking in new ways in which to advance my career at Appian. I had a strong technical background thanks to my College education, a couple of internships and my time here at Appian. I had developed a number of "soft skills" required for consulting but I wanted more. The interaction with the customers was a big plus for me. Now I wasn't developing J2EE applications or BPM based just on a Spec, I was actually interacting with the client, understanding their needs, their business needs and coming up with ways to solve their needs using our Development Platform. What I needed now was to understand how my company worked from a Business/Strategic point of view.

I started conversations with the head of the Partner program late in the 3rd Quarter of 2009 and joined the Team in January 2010. Since then I have been very happy with my decision.

This is a position that had me worried at first. Being part of the Sales Department, I was worried that I would have to do more "sales" work than anything else, and making unsolicited calls and try and sell software is NOT my cup of tea. It's not that I cannot do it, I'm simply not interested. I didn't study or prepare for a sales career, I don't have the experience or interest to do it.

However, any good engineer worth his salt has a dream of working for or creating a very successful company. As such, this new venture gives me a unique opportunity where I'll be surrounded by great people, not only from my company, but also from other potential partners, in ways that before I couldn't. So far this has given me very interesting information as to how companies work, how they expand, how they partner with others, what motivates them, what drives their needs. This information ultimately helps me in many ways. For the one part I'll have a better understanding on how Software/consulting companies work. On the other, understanding what MY company needs allows me to contribute in ways that were just not possible before. I truly believe that in this new position I have the opportunity to be part of the change that helps us take a leap in success.

The fact that I still get to do a bunch of technical stuff in the mean time is also a plus!

Monday, June 16, 2008

TSO Locations - Fully features Web 2.0 component.

Ever since March 2008, development for my current project has been very intense.

Between March and April of this year I implemented features that vary from extending current functionality (like adding a new checkbox here and there with their corresponding actions), to developing complete Features from Spec, Design, Development and testing.

The one I liked the most was developing the TSO Location Selection component. I will not get into development details (because I can't) but I will say that this feature included work from Database integration, Hibernate, integration with other tables and hibernate config files, gathering of requirements, BPM process modeling, and creating WEB 2.0 components so they can easily be used as portlets in Dashboards.

I used Oracle, Hibernate, Java, Javascript, XML, struts, BPM process modeling, and servlets for this one.

Whenever I encounter a feature that is this complete, and I can participate in all of its aspects I get excited. Specially when you do a good job at it, including documentation. This is because when someone else needs to do something similar, they can always reuse and understand the code.

Senior developer?

It is a strange feeling to be getting to that point where you are not only a Software Developer, but also a Software designer, Tech Lead and overall resource on how to develop certain things.

During my experience on the DISA project I have taken time to study certain areas in depth, such as Web Services, the WSDL spec, XML spec, xpath, etc. I do not consider myself an expert, but now I understand how this whole thing works and how to develop sound code for Web Services integration with our project, hibernate, etc.

Now, as I move on to other ventures, other people are designing more integrartions and they come to me to ask for help. This makes me feel not only good that I took the time to learn, but good that people ask me about it.

Communication skills, patience, and willingness to help others are just a few things that make a developer a senior. But I should also note that teaching how to be self sufficient is an even better lesson to learn, and one that has cost me a lot of time an effort to learn.

Tuesday, June 10, 2008

Juggling multiple projects... DON'T DROP THEM!!!

Ever been in a Consulting project that is so demanding it starts eating away your life? Try three.

Ever since I started working as an IT consultant I've been working on this project for the DOD. It's very interesting. So far it has allowed me the opportunity to learn a lot of new technologies. I developed my first integration with external Web Services, learned and used XML and XPATH, started new approaches on SOFTWARE ESTIMATION, etc. This of course was not a breeze. I needed to learn all these and other technologies, most of them on my own time while delivering with crazy schedules.

What's more, recently clients started installing another piece of software I wrote for the company I work for based on the Sarbanes-Oxley 404 Documentation. Needless to say, some customization and issues were found. Since I was the most familiar with the software, the powers that be decided that I should work on these issues.

I had to perform a few Installations, upgrades, on site customizations and, of couse, clean up the mess that others had previously left there, which in my opinion was one of the main reasons many issues were found.

Long story short, I managed just barely to deliver all of this. I successfully delivered ACM (our SOX Solution) to a client and got them to production in less than 2 weeks. Concurrently I developed a new patch for the software that dealt with several bug fixes, migration to the latest version of our enterprise software and several great performance improvements.

Now I come back to our original DOD project only to find myselft with another great challenge: Deliver quality features in limited time.

I always push for a proper development cycle: Spec --> Design -- > Sign off --> Development. But this is almost a Utopia in professional services. I still need to learn how to properly balance this. You can't always just push back where there is a contract and a demanding client on the other side of the line.

I guess from now on I will try to use this blog as a place where I keep track of my current work each week, my "War Stories" and nice accomplishments, and of course, my ocassional rants.

I don't expect anyone to read this, so I'll probably be blunt, very casual and to the point.

I should expect to document several things:
  • Progress made since Iteration 1.0f of DISA/EBM, where my proposed Software Estimation strategy allowed us to cut scope in time and devlier on time.
  • Development of interesting features like: Web Services integrations, TSX Locations, etc
  • Challenges of handling multiple clients at a time: ACM, DISA, Wellmark, Pearson, Tembec
  • Handling fires and mad Directors (hibernate misconfiguration, one mad Chris W.)
  • Current work on DISA
  • The path ahead for ACM...

Hasta la próxima!