Continuing our Meet the Team campaign, this month it’s Dan’s turn to crawl out from his programming pit, blink wildly at the bright sun, and say “Hello” to you all… Many of you may have conversed with me over the last few years so I better introduce myself formally…. I’m 32 years young, married seven months, and live in the beautiful Irish countryside in Co. Cork. I love programming and Teamwork is one of the biggest parts of my life. Every waking moment is spent thinking about the product, the programming, our customers and future features.
When I was young, my father dragged home a Wang IBM PC (286) from work and there began my foray into computers. Nintendos were not something we had as kids, and while everyone was busy playing the latest video games, I had my head buried in Basic manuals trying to create my own games on the sly while avoiding homework.
The 286 progressed to a 386 and I progressed to Turbo Pascal. My games were rubbish, but the sense of achievement was massive. It felt like I was changing the world, even though the only people I had to show were my sisters.
That all changed when I met Peter in college. We decided we were going to build games. He was the first person I met who had the same enthusiasm as myself, and to top it off he was a damn good programmer. We used to have competitions, such as who could make the best 2D tile-based engine using C++ and DirectX (3!). Peter won!
That was 12 years ago and we’re still working together. The aim of the game has changed, but we are just as passionate about Teamwork now as we were back then trying to create games!
Peter filled in the early days of our consulting company Digital Crew (See Peter’s Meet the Team entry) so I won’t delve too much into that, but I will say that it has been the best learning curve ever. Every single feature or decision in Teamwork is based on the 12 years of experience we have built up working on large-scale bespoke applications. While a lot has changed since we started web development, the principles are solid.
My role in Teamwork is also lead developer. Peter and myself work closely with each other building new features. Sometimes we take a whole section each, sometimes one starts a feature and the other improves it. The Calendar is a good example of pair-programming. I started the feature, spending weeks of sleepless nights as Timezone issues and event spanning issues plagued me. It took a few hours of Peter’s fresh eyes to fix the problem areas.
Some of the areas of Teamwork I am responsible for include:
Desktop Timer App (Flex)
Diff-ing of Notebook versions (Java)
Reply by email (Brain juice)
Email Dropboxes (C# connector)
Resources section
Markdown support (Java)
I use multiple programming languages. It’s a case of the best tool for the job. In Teamwork, there is ColdFusion, Java, C#, Javascript and for the desktop apps Flex. I enjoy a programming challenge, and once you have a good grasp of programming fundamentals, you can pick up any language and produce some good work. Some of the things I’m working on right now which I shouldn’t tell you about:
Dropbox Integration – I really enjoyed the challenge in this, and officially know the Dropbox API inside out
Android App – It’s early days but I’m making progress – Please don’t ask 😉
My work day starts at about 7.15am when I wake up and check various stats: number of signups, number of cancellations, mentions on Twitter, what feedback has come in.8am I’m usually perched at my usual table outside Costa Coffee (I like my coffee – no girly green tea for me!) with my iPad. I run through my emails, arrange my tasks for the day and start into the feedback that came in during the night.9am I’m at my desk ready to start real work on code until about 6pm when the feedback starts coming in thick and fast. I try to leave the office at about 7pm and chip away at emails for the remainder of the night.I can’t work without music playing. I’ll listen to anything, but mainly Metallica, The Prodigy, Faithless, Moby and Chillout/Trance.
In my spare time I enjoy reading. I especially enjoy books on tech companies; some of my favorites include:
Master of Doom (The id software story)
The Perfect Store (The eBay story)
The PayPal Wars (The PayPal story)
I’m also a movie fanatic and a bit of a Mac fan boy! Most of my spare time goes towards “challenge programming” where I pick some area of interest and muck about with it. Most of our fun recreational hacking turns into real features in Teamwork!
The great thing about my job is that it’s also my hobby! I actually get great satisfaction out of programming for pleasure.
I also like to answer feedback. While Sam is the main face to our customers, I read every single feedback item that comes in. I think it’s extremely important for the developers of an app to engage with customers and see the pain points people have with a product. Also, if it’s a support issue, a developer is in a much better position to advise on a solution to a problem. (Invariably we create the problems!)
With the rise in smartphones, and email always available, there is no excuse for a feedback email to be left unanswered. We all have iPhones and iPads. I always like to think of it as if I am the person requiring answers, what would I expect from support?
While working on our Dropbox integration, I was on the receiving end of super-fast answers to my questions and I liked it. It gives you a good feeling about the product, company or service you are interacting with.
One thing I always like (kinda voyeurism) when reading about a developer is finding out what tools they use, so here’s mine:
Office Computer(s):
3 x 19 inch screens
Dell with dual processor and 3GB RAM
Large screen iMac for testing our wares on Mac
Software
Homesite as an editor
Navicat for MySQL
Flex Builder 4.5.1 for AIR apps and Visual Studio for C# work
Teamwork Project Manager (In a custom tabbed shell I made)
Hipchat (for inter-office communication)
Dropbox and SVN for sharing code between machines
IE8 & Chrome mainly
At home, I have an Alienware Beast with 16Gb RAM, SSD drive and 1 gig GFX card. I like to game! Currently playing Call of Duty: Black Ops and waiting for Modern Warfare 3 and Battlefield 3. That’s all for now! If you have any questions on anything above, can relate to me in any way, or just want to throw a curve ball question, don’t be shy! Ask me in the comments and I’ll reply ASAP.