I am a Support Engineer at Fog Creek Software. We make several products aimed at software developers, to help make their lives easier so that they can focus on programming! I work on FogBugz (a bug tracking program) and Kiln (a software version control and code tracking program, functional with both Git and Mercurial).
I spend my days answering emails from customers about using our programs, like bug reports and feature requests. Since I know the programs that I support inside and out, I can also offer our customers great ideas for how they can improve their workflow. Plus, I work remotely, so I can even be in my pajamas while I answer their questions!
Here's a screenshot of my support queue from today:
On the bug hunting-and-fixing side, I spend time reproducing bugs sent in by customers, and frequently going into their databases to clean up rogue entries. I also help customers update their software, or move from our self-hosted software to our SaaS offerings (that way they don’t have to worry about administering large databases themselves!) I also work a lot with our XMLAPI, helping create custom workflows and integrate our programs with other systems.
Here's a script that I wrote in Python to get a list of support cases from the FogBugz API:
When I run into larger bugs that I can’t solve on my own, I work with our development teams to determine the best course of action, a timeline for the bug fix, and explain what is happening back to the customer. We work hard to be as open and honest as possible with our customers, and I’m part of the front line to make sure that happens.
How did you learn to program?
I’ve always been interested in computers (I remember playing with the Logo Turtle drawing program when I was about 7), but wasn’t really comfortable with the idea of having a career “on the internet” until fairly recently. I got my degree in Civil Engineering, but was frustrated in the working world by the reliance on computer programs without understanding how or why they work--or sometimes, if they even do! I ran into instances where my hand calculations came up with different answers than the computer programs, and even the most senior engineers I was working under couldn’t tell me why we were trusting the program that was giving different answers.
When I decided to learn how to program, I looked for programs where ever I could find them. I started by taking an edX course in Python, and also used tutorials through Codecademy, Khan Academy, Learn Code the Hard Way, and others. I then moved into learning front end development, which I learned primarily through Skillcrush. It was tough to stay motivated from time to time, but I was very lucky to have friends in the industry who were able to help me when I got stuck and point me towards next steps when I wasn’t sure where to go.
What do you do when you're not programming?
When I’m not programming, I like to snuggle with my cats (and my husband too, I suppose)!
I also enjoy playing board games and knitting. I recently bought a 100 year old house, so decorating that and fixing up all the old bits keeps me busy too.
What’s your one piece of advice for new programmers?