I come from a computer science / scientific computing background. I did numerical analysis, which at my department boiled down to the development of parallel numerical methods for the solution of large scale partial differential equations describing fluid flow (the Navier-Stokes equations). Lots of C, Fortran 77 and Fortran 90 programming on massively parallel machines, and linear algebra.
What I learnt from all that, which I still have use for, is object-oriented analysis and design, computer architecture, many programming languages (being multilingual helps thinking outside of the restrictions of a particular language), the nuts and bolts of basic data structures, and just generally algorithmic thinking.
I've worked in bioinformatics for little over 10 years since, either as a software developer or as a system engineer. Although I have no higher degree in biology, the places where I've worked have allowed me to do what I do best (API development, algorithm design, and database design) together with people that I've learnt the necessary bits of genetics and biology from, including users of the software I produce.
From a software development point of view, a gene (or whatever you have) is just another type of data. Yes, it's important to understand where it's coming from and what it's going to be used for, especially if one is developing a database schema and API for storing and retrieving the data (or a web site, even), but there's a layer below which the problem turns into pure computer science and where biology will make things messier rather than clearer.
Sorry for the long post, I'm rambling.