Forum:What counts as "complex code"?
1
0
Entering edit mode
6.2 years ago
chrispyatt25 ▴ 30

I'm coming to the end of my PhD and have started to look at job listings for when I finish. One thing I have come across a couple of times is a requirement for experience writing "complex code", Can anyone give any insights into what constitutes "complex" code? I have to admit I'm finding it difficult to gauge my suitability for some of these jobs as I have no feel for whether my experience is of sufficient complexity.

career • 1.5k views
ADD COMMENT
3
Entering edit mode

Since that descriptor is subject to interpretation based on personal opinion, you should not worry much about what defines "complex code". Go ahead and apply, if you feel you are otherwise qualified.

ADD REPLY
3
Entering edit mode

pretty simple..code that no one understands, except the dev. In this case, some one left a code that no one can understand and you may have to work on it (...just joking). Go ahead and apply as most of the job requirements are kitchen sink (IMO). Complexity is relative. One learns over time.

ADD REPLY
2
Entering edit mode

This is 'complex' code, from R:

.3 / 3 == 0.1
[1] FALSE

--------------------------------

unique(c(.3, .4 - .1, .5 - .2, .6 - .3, .7 - .4))
[1] 0.3 0.3 0.3

--------------------------------

0.3 / 3.0
[1] 0.1

0.3 / 3.0 == 0.1
[1] FALSE

--------------------------------

a <- 0.3 / 3.0
a
[1] 0.1
a == 0.1
[1] FALSE

--------------------------------

round(0.3 / 3.0, 1) == 0.1
[1] TRUE
ADD REPLY
1
Entering edit mode
> all.equal(.3/3, 0.1)
[1] TRUE
> identical(.3/3, 0.1)
[1] FALSE
ADD REPLY
0
Entering edit mode

Wonderful............. (up vote)

ADD REPLY
2
Entering edit mode

Its not been made very clear if this is related to bioinformatics or not, but on the assumption that it is, a lot of bioinformatics jobs don't actually require that your code be anything out of this world. If its a data analysis job (which I like to think of as a "Type I Bioinformatician"), then all you really need to know how to do is squeeze the best out of Linux, write shellscripts/workflows, and understand existing tools. Get comfy with file format conversion.

If its a "Type II" job, where you're actually writing the tools that a "Type I" bioinformatician is glueing together, it might matter more, but in that case, the jobs are often aimed more at people with a true software engineering background than a bioinformatics background anyway.

ADD REPLY
5
Entering edit mode
6.2 years ago
sacha ★ 2.4k

You can compute from all source code you made, a complexity score accodigng Information theory. For instance the Kolmogorov complexity or the entropy . Merge all scores and create a metascore that you write on your CV. You should also create a comparative dataset ( Computed from github for example ) to show how your code is more complex than the other. Anomaly detection from machine learning should help. :D :D

ADD COMMENT

Login before adding your answer.

Traffic: 2939 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6