Archive | November, 2012

Central Maryland Code Camp!

30 Nov

Fortigent is excited to announce that we’re a sponsor of CMAP (Central Maryland) Code Camp. We’re always looking for great developers, IT pros, and analysts, so please look for the Fortigent table and stop by to chat. I’m also presenting a session on Knockout, a data-binding framework for JavaScript. It would be great to see you at my session as well.

30 Nov

jennifer alpert

There’s a lot of buzz these days around Agile software development and how successful it has proven to be for many businesses.  We hear uplifting stories about groups of brilliant, unshaven, hipster software developers in jeans and ironic t-shirts who take a break from their latest Whole Foods excursion and casually congregate in cube-less office warehouses with brightly colored walls, complete with 4 monitors per programmer, to magically create the next “big thing” to hit the technology arms race.

What’s that?  An app that drives my Prius, submits my “tall skim half-caf latte” order to the closest Starbucks, and writes this blog at the same time?

Well, this app doesn’t actually exist yet, but I’m pretty sure that at least one of the above mentioned hipsters is reading this right now frothing at the mouth as they fantasize about daily scrums, unit test creation, and countless hours sitting at a…

View original post 1,383 more words

Lord of the Spreadsheets or: How I Learned to Stop Coding and Love the Grind

30 Nov
Greetings Reader,
Submitted for your approval is the story of my last month at Fortigent. This may sound like an entry into my personal diary, but I promise if you keep reading I’ll eventually squeeze some wisdom out of it all.

The Beginning of it all

Only 3 months into my career as a software developer I was approached with an interesting task: to not develop software anymore. “Easy,” I thought. I’ve gone my whole life not being a professional programmer, I can do this. Sparing some gory details, I was thrust into a team that was entrusted with meeting a project’s crucial deadline. We had a mountain of dirty data in front of us, and a little over 3 weeks to scrub it clean.

Mountain of Data

I was introduced to my fellow team members; most of whom I had only shared a polite smile with in the morning on the way to my desk. We had leaders, experts, and an infusion of motivated members who were willing to go the extra mile to make it all work. To some extent, I felt like  I was part of a very well-known Fellowship.

Fellowship

The team consisted of people from different backgrounds. Some were programmers; others were analysts, consultants, and managers. It was almost as if some of us spoke Dwarf and some spoke Elvish (OK this is the last LOTR reference I promise). Personally, I was coming from a place of almost no prior knowledge, but a good grasp on our technology platform.

Day 1 – Training

I bid farewell to my trusty IDE and met with the person who would tutor me in the ins and outs of this data scrub. I would prove to be a stubborn pupil. The first immediate challenge I was met with was my near-infantile ignorance of the financial world. I was to be responsible for data quality, and yet I didn’t know the first thing about what the data meant. To this end, I was given a crash course on the terms and formulas that make up our financial calculations here at Fortigent. I found it quite striking that I was able to be employed anywhere for 3 months whilst being so ignorant to the meaning of the data I was using in my application development. A little reflection lead me to the realization that it is perfectly reasonable for a programmer to be more focused on the means than the ends. These are two entirely different entities, each requiring their own intuition, training, and appreciation.

End of Week 1

By the end of my first week, my lack of knowledge had really set in. I was feeling admittedly frustrated. I couldn’t make any headway into the project without asking a question or requesting assistance. I felt like I was wasting other people’s time. The deadline seemed too near, and I seemed too obtuse to ever nail down what I was doing. I thought the weekend might calm my nerves and revive me to my previously confident self.

Grinding Through

Monday rolled around and I was still as green as ever…but I had an idea. This project isn’t just a sequence of unrelated processes, this was a program. With my encouraging analogy in mind, I began to organize myself like I was going to write code. I wrote everything I knew down and began to use that to organize my thoughts. This project had methods, and properties, and constraints. It WAS a program. Finance was just a new programming language for me to learn. At every turn I asked for formal definitions  so I could interpret them as keywords just like a compiler.

At this point, I was off to the races. What felt like torture a week ago was fast becoming a fun puzzle to solve. I used critical reasoning and logic every day to put the pieces together. Not only that, but I was learning so much about the company. I was in the trenches with people who use the software made by the Development Team on a daily basis. I was able to relate and empathize with their experiences as a result. Even more encouraging, the mountain of work was crumbling in front of our eyes. Every day, the number of issues receded until it felt like something we would actually finish. Exciting!

The Finish Line

Finish Line

The feeling of encouragement did not wear off. I was perfectly content to solve these little puzzles day after day until there were no more puzzles to solve. I felt like a master of  seemingly infinite spreadsheets, financial calculations, and the structure of our databases. The project came to a smooth conclusion and I was released from the world I had been so invested in for an entire month. It was a little disconcerting. I had to become a programmer again?

Spreadsheet

However, now I am tasked with the important role of designing and implementing the technology to streamline projects of this nature, and I am excited. I will be working to improve the capability of Fortigent, but maybe more importantly, I will be easing the burden of those I worked alongside. This new project embodies everything that software should be. We should strive to create things that make our lives easier. The methods that I identified in my personal experience will translate into code as actual methods. Meeting the people that will eventually make use of my software has given me the added motivation of making a good product for friends. Sometimes technology can be cold and callous, but I contend that a personal connection and a splash of empathy can go a long way into putting out that which is great as opposed to serviceable.

Perspective

The Roman poet Horace is credited as saying:

“Adversity has the effect of eliciting talents, which in prosperous circumstances would have lain dormant.”

Most people will claim that my month-long project doesn’t exactly qualify as “adversity,” but I think the message is still well received. Without struggling, and striving for answers in a sea of confusion, I would not have benefited as much as I have. By moving outside of my comfort zone, I have gained new skills and personalized knowledge that I might never have attained if I continued down the path of strictly programming. Along the way I was able to broaden my horizons, meet great new people, and gain a deeper understanding of what exactly it is I am doing here. For this, I am immensely appreciative.

…but seeing another spreadsheet any time soon is likely to make me hurl.