We’re recruiting a good Scientific Software Engineer

A few months ago Mick Watson wrote an awesome post about How to recruit a good bioinformatician. We’re in the process of hiring a scientific software engineer so I thought I’d use Mick’s post to illustrate why you should come work with us doing scientific software development and data-intensive research, and hopefully provide a concrete demonstration of the sort of things Mick suggests for appealing to talented computational folks.

Here are Mick’s original suggestions and why I think our position satisfies them.

1.  Make sure they have something interesting to do

This is vital. Do you have a really cool research project? Do you have ideas, testable hypotheses, potential new discoveries? Is bioinformatics key to this process and do you recognise that only by integrating bioinformatics into your group will it be possible to realise your scientific vision, to answer those amazing questions?

Software and computational data analysis are core to everything our group does. Just check out our GitHub organization. We’re currently tackling challenging problems in: 1) automatically acquiring and combining heterogenous data; 2) combining large numbers of datasets into single research projects; 3) using machine learning and other computationally intensive modeling approaches to make predictions for ecological systems; and 4) trying to help improve computational and predictive approaches in science more broadly.

2.  Make sure they have a good environment to work in

Bioinformatics is unique, I think, in that you can start the day not knowing how to do something, and by the end of the day, be able to do that thing competently. Most bioinformaticians are collaborative and open and willing to help one another. This is fantastic. So a new bioinformatician will want to know: what other bioinformatics groups are around? Is there a journal club? Is there a monthly regional bioinformatics meeting? Are there peers I can talk to, to gain and give help and support?

Or will I be alone in the basement with the servers?

Many members of my group have strong computational and/or machine learning backgrounds (at least for a bunch of scientists). We are also part of the new Informatics Institute at the University of Florida, which is being funded in part through UF’s “Big Data” preeminence initiative. The Informatics Institute brings together faculty, students, and postdocs from across campus with interests in computational science, and the preeminence initiative is recruiting mid-career folks in this area to move to UF (including myself). I’m also a Moore Investigator in Data Driven Discovery and actively involved in the Software Carpentry and Data Carpentry communities, providing strong connections to researchers and developers in all three of these groups. In short, the challenge won’t be finding people to interact with, it will be finding time to interact with all of the different folks you want to talk to.

Speaking of servers, the other type of environment bioinformaticians need is access to good compute resources. Does your institution have HPC? Is there a cluster with enough grunt to get most tasks done? Is there a sys/admin who understands Linux?

Or were you hoping to give them the laptop your student just handed back after having used it during their 4 year PhD? The one with WIndows 2000 on it?

The University of Florida has a brand new high performance computing platform – the HiPerGator. My lab has priority access to a large number of cores on this system. We also have experience working with, and resources to support, AWS and other cloud providers to address our resource needs.

4.  Give them a development path

Bioinformaticians love opportunities to learn, both new technical skills and new scientific skills. They work best when they are embedded fully in the research process, are able to have input into study design, are involved throughout data generation and (of course) the data analysis. They want to be allowed to make the discoveries and write the papers. Is this going to be possible? Could you imagine, in your group, a bioinformatician writing a first author paper?

Technical and scientific development is strongly encouraged and supported for all members of our research group. You’ll have time and encouragement to learn new skills, support for travel to training/hackathons/conferences, and active engagement in both the scientific and software development aspects of the lab. Taking the lead on projects and writing first authored papers would be enthusiastically supported for anyone interested in doing so.

5.  Pay them what they’re worth

This is perhaps the most controversial, but the laws of supply and demand are at play here. Whenever something is in short supply, the cost of that something goes up. Pay it. If you don’t, someone else will.

We’re doing our best. The position has a top starting salary of $70,000. Thanks to the low cost of living in Gainesville that’s equivalent to about $120,000 in Silicon Valley. We can’t compete with starting salaries for industry, but at least we’re on par with starting salaries for faculty.

6.  Drop your standards

Especially true in academia. Does the job description/pay grade demand a PhD? You know what? I don’t have a PhD, and I’m doing OK (group leader for 11 years, over 60 publications, several million in grants won). Take a chance. A PhD isn’t everything

I don’t consider not requiring a PhD to be dropping my standards. We’re looking for the best person whether they have a PhD or not. If you’re good at computers and interested in science, I don’t know what more I could want.

7.  Promote them

Got funds for an RA? Try and push it up to post-doc level and emphasize the possibility of being involved in research. Got funds for a post-doc? Try and push it up to a fellowship and offer semi-independence and a small research budget. Got money for a fellowship? Try and push it up to group leader level, and co-supervise a PhD student with them.

This position could have easily been budgeted as a postdoc, but I really wanted to promote the idea of more permanent software developer/engineer positions in academic science. This position is currently funded for 5 years as part of a Moore Foundation Investigator in Data Driven Discovery award. My goal is to make this a permanent position in my group by maintaining long-term funding beyond the 5 years. If I find someone good who wants to stick around I want the salary and responsibility to grow over time (and annual increases in salary are budgeted for the next 5 years).

So, hopefully I’ve done a decent job of satisfying Mick’s requirements. If any of this sounds interesting to you, feel free to leave a comment on this post, drop me an email, chat with me on Twitter, or just go ahead and apply.

One Comment on “We’re recruiting a good Scientific Software Engineer

  1. Pingback: Scientific software engineer in data-intensive ecology group | Jabberwocky Ecology | The Weecology Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: