Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • vyellapa
    replied
    I would apply for a job if Im interested in it. If that jobs is given to someone who has all those 5+ skill sets, well, I gotta accept it that theres someone else who has a better skill set.

    Leave a comment:


  • rskr
    replied
    Originally posted by gringer View Post
    At the language level, I see Java and C++ as being very similar. Perl is also similar, but a bit less so. I've got no argument about those three languages, I just think lumping R in with them is a bit of a stretch too far.

    But then, when looking at different programming languages I am more interested in the syntax and language, rather than what the language actually does at a system level. I would use Java in a particular instance because features of the language (or the default API, or the available help) make it more efficient to use Java. For things that I only need to do once, where debugging time swamps out excecution time, it makes a lot more sense to write and debug a few lines of R code than to write and debug 100 lines of C++ code.

    In the "what can it do", or "what can it be used for" sense, I consider most languages to be the same (turing complete, and all that). It doesn't really matter to me that the java virtual machine interprets bytecode and interfaces with a system C (or C++) library and the system kernel to actually get stuff on the screen, or that Dylan code is pre-compiled into C code before it can be run.
    I agree with you, many single skilled programmers don't have this perspective. However in the context of a skills inventory, C++ is a superior skill. Most of these open source programs were written it(or derived from it with simplifications), including bioinformatics packages. Not to mention the unix and Linux command line tools as well as Microsoft windows.

    For example what is a pipeline really? It is a stream. How do processes communicate, what is buffer flushing... How do you process system events... Just the other day I was looking up Static in VB, so they had to give it a different name fine shared, same thing.

    Leave a comment:


  • gringer
    replied
    At the language level, I see Java and C++ as being very similar. Perl is also similar, but a bit less so. I've got no argument about those three languages, I just think lumping R in with them is a bit of a stretch too far.

    But then, when looking at different programming languages I am more interested in the syntax and language, rather than what the language actually does at a system level. I would use Java in a particular instance because features of the language (or the default API, or the available help) make it more efficient to use Java. For things that I only need to do once, where debugging time swamps out excecution time, it makes a lot more sense to write and debug a few lines of R code than to write and debug 100 lines of C++ code.

    In the "what can it do", or "what can it be used for" sense, I consider most languages to be the same (turing complete, and all that). It doesn't really matter to me that the java virtual machine interprets bytecode and interfaces with a system C (or C++) library and the system kernel to actually get stuff on the screen, or that Dylan code is pre-compiled into C code before it can be run.

    Leave a comment:


  • vivek_
    replied
    Originally posted by dpryan View Post
    I'll echo the "what Brian said" sentiment. I get the feeling that many ads are written by HR departments or PIs who don't actually have a clue.
    This is true, I had a HR lady call me once regarding a job posting and kept asking me if I knew object oriented programming around 5 times and when I asked if she knew what it meant, she promptly dropped the topic.

    Leave a comment:


  • rskr
    replied
    Originally posted by Brian Bushnell View Post
    Graphics and I/O are OS-specific.
    We may be in violent agreement here, but as I said earlier. Java is a trivial skill java programmers don't even have to know I/O...

    Leave a comment:


  • aggp11
    replied
    I am guessing that if somebody is thinking of applying for a postdoc in Bioinformatics, they would have some knowledge about what Bioinformatics is. Is it too much to ask/assume that these smart "fresh PhD graduates" (hopefully in something related to Bioinformatics) have experience with NGS data (irrespective of RNA/DNA), some microarray data, unix and R/Matlab? In today's "Biology/Bioinformatics" world, I don't see how one can get through without encountering any/all of these. People read all these research papers and these days pretty much everything is Sequencing/array based and there is always a section on "Statistical Data Analysis" methods which includes the use of R/MATLAB.

    I would think that people who post these job-requirements don't really expect a candidate to have hands-on experience in all of these, but it is very helpful to have candidates with atleast the knowledge of their existence. I would think this is actually a good screen, otherwise anybody could/would apply for these and it takes more than a few weeks to learn/train in any of these things. It is really not as trivial as a lot of people make it sound.

    Just my opinion! Happy coding!

    Leave a comment:


  • Brian Bushnell
    replied
    Graphics and I/O are OS-specific.

    Leave a comment:


  • rskr
    replied
    Originally posted by Brian Bushnell View Post
    Java is actually not a way of calling C++ libraries. Calling C/C++ code from Java can sometimes increase performance, but it's non-trivial and gives up many of Java's advantages; furthermore, most library classes are implemented in pure Java. So it does not happen much in practice (aside from low-level, OS-specific code).

    In my experience, most Python/Perl code is written to either perform tasks directly (even computationally-heavy ones, regardless of whether it's a good idea), or invoke other standalone programs in a pipeline; using them to call C++ library methods seems to be fairly rare in bioinformatics. Many people who prefer to program in Python and Perl are less likely to be familiar with C/C++ and related libraries, or prefer portability over performance. Often, programs are written for tasks that are expected to be one-time but unexpectedly become common. And multi-language chimeric programs tend to be hard to install.

    As for parsers, lexers, and compilers... they can be written in anything, and most code is written by people with no idea of how they work. Functional languages may work better for parsers and lexers, but I don't see any particular advantages for compilers or assemblers.

    One of the advantages of Java is the excellent and consistent documentation of library classes. I have never looked at the source code to discern how a library function works (other than for performance or curiosity) - I just use it according to the description, and if it is too slow, I re-implement it myself. I have yet to encounter a case when the documentation was insufficient or unclear regarding functionality.

    To return to the topic, I think it's sufficient to ask for "programming experience" for bioinformatics. The assumption should be that an intelligent person can quickly obtain basic knowledge of any mainstream programming language, if they can already program in any language. Unless the position is specifically for software development, the language is immaterial. If the intention is to develop robust, high-performance software as part of a team, then a single language should be specified in the job requirements, and the opening should specifically seek programmers, not bioinformaticians. Job openings that list multiple languages (unless they are assembly languages) indicate that there is actually no specific language requirement, just knowledge of programming.

    Sequencing-platform-specific knowledge (on the digital side) can be obtained in weeks. There is no good reason to require any new hire to have any knowledge of a specific platform unless you do not have anyone with that knowledge, and capable of training others.

    All I care about (from a new employee) is creativity, ability to learn, ability to communicate, intellectual curiosity, flexibility, honesty, and friendliness. Most of these cannot be evaluated fairly by checkpoints on a list, so I see HR mainly as a barrier to qualified people getting useful jobs. A good set of job requirements might be:

    "Graduated from high school. Friendly. Capable of holding a conversation. Shows interest in area of job duties. Does not blatantly lie during interviews."

    To avoid false negatives, anyone who fulfills those needs further review by someone conversant in the area of interest.
    Please go look up GTK then communicate to the world your ability to learn a how java uses a C library to do graphics.

    Leave a comment:


  • Brian Bushnell
    replied
    Java is actually not a way of calling C++ libraries. Calling C/C++ code from Java can sometimes increase performance, but it's non-trivial and gives up many of Java's advantages; furthermore, most library classes are implemented in pure Java. So it does not happen much in practice (aside from low-level, OS-specific code).

    In my experience, most Python/Perl code is written to either perform tasks directly (even computationally-heavy ones, regardless of whether it's a good idea), or invoke other standalone programs in a pipeline; using them to call C++ library methods seems to be fairly rare in bioinformatics. Many people who prefer to program in Python and Perl are less likely to be familiar with C/C++ and related libraries, or prefer portability over performance. Often, programs are written for tasks that are expected to be one-time but unexpectedly become common. And multi-language chimeric programs tend to be hard to install.

    As for parsers, lexers, and compilers... they can be written in anything, and most code is written by people with no idea of how they work. Functional languages may work better for parsers and lexers, but I don't see any particular advantages for compilers or assemblers.

    One of the advantages of Java is the excellent and consistent documentation of library classes. I have never looked at the source code to discern how a library function works (other than for performance or curiosity) - I just use it according to the description, and if it is too slow, I re-implement it myself. I have yet to encounter a case when the documentation was insufficient or unclear regarding functionality.

    To return to the topic, I think it's sufficient to ask for "programming experience" for bioinformatics. The assumption should be that an intelligent person can quickly obtain basic knowledge of any mainstream programming language, if they can already program in any language. Unless the position is specifically for software development, the language is immaterial. If the intention is to develop robust, high-performance software as part of a team, then a single language should be specified in the job requirements, and the opening should specifically seek programmers, not bioinformaticians. Job openings that list multiple languages (unless they are assembly languages) indicate that there is actually no specific language requirement, just knowledge of programming.

    Sequencing-platform-specific knowledge (on the digital side) can be obtained in weeks. There is no good reason to require any new hire to have any knowledge of a specific platform unless you do not have anyone with that knowledge, and capable of training others.

    All I care about (from a new employee) is creativity, ability to learn, ability to communicate, intellectual curiosity, flexibility, honesty, and friendliness. Most of these cannot be evaluated fairly by checkpoints on a list, so I see HR mainly as a barrier to qualified people getting useful jobs. A good set of job requirements might be:

    "Graduated from high school. Friendly. Capable of holding a conversation. Shows interest in area of job duties. Does not blatantly lie during interviews."

    To avoid false negatives, anyone who fulfills those needs further review by someone conversant in the area of interest.

    Leave a comment:


  • rskr
    replied
    Originally posted by gringer View Post
    Using these programming languages properly for more than a basic use requires a bit more knowledge. In particular, R has a lot of functional elements to it that trip up people trying to do advanced programming -- imperative programmers will tend towards multiple 'for' loops instead of using apply, aggregate, etc., and don't realise that many functions are trivially vectorisable.
    Sure, but how many times have you read the library it was calling into because the feature wasn't documented well enough in the cheesy vignette? A great example is how does the corr function handle missing values with certain parameters, you have to read the C to find out. Besides, the C++ parser and compiler is a lambda language itself(boost is built on this idea), so if you really know C++ you also know functional concepts like lambda, lists and recursion.

    Leave a comment:


  • gringer
    replied
    For example, Perl, python, Java, even R are pretty much just different ways of calling C++ libraries
    Using these programming languages properly for more than a basic use requires a bit more knowledge. In particular, R has a lot of functional elements to it that trip up people trying to do advanced programming -- imperative programmers will tend towards multiple 'for' loops instead of using apply, aggregate, etc., and don't realise that many functions are trivially vectorisable.

    Leave a comment:


  • rskr
    replied
    I've noticed a couple trends. One is kind of like multi skilled players trend in basketball, shooting centers, point forwards, combo guards, swing men, etc. as has has been noted by sports commentators there are more players with more skills these days, but the players aren't necessarily more skilled(though some like LeBron are). For some teams these players serve some strategic purpose, and some times they just don't fit in the system.

    Another trend I have noticed is that listings require many skills, but many of the skills are rather trivial. For example, Perl, python, Java, even R are pretty much just different ways of calling C++ libraries, job specific lingos and data structures that can easily be picked up if you have studied C++ in depth a Perl hash is a no brainer, though few jobs actually require c++.

    Another, I have noticed is that often times employers are just trying to replace someone that left(for more money) who happened to use all of those technologies.

    Another, is that previous generations of techies got there jobs with relatively few skills(they knew Perl and maybe HTML), but schools have ramped up on producing bioinformaticians with these skills.

    Leave a comment:


  • GenoMax
    replied
    Unfortunately the applications may be (pre)screened by someone in HR who would not necessarily have subject matter expertise needed. They may be following a checklist (hopefully created by someone in the know) and if the application doesn't don't happen to "hit" x out of y minimum, it may die a "premature" death right there before ever reaching the eyes of a hiring manager.

    I see that this thread was posted in the "academic" jobs section so this may not always apply (one would like to think).
    Last edited by GenoMax; 07-02-2014, 10:08 AM.

    Leave a comment:


  • dpryan
    replied
    I'll echo the "what Brian said" sentiment. I get the feeling that many ads are written by HR departments or PIs who don't actually have a clue.

    Leave a comment:


  • Wallysb01
    replied
    What Brian said. Job ads are wish lists. Often times when I’m looking at job ads I see combinations of skills that are next to impossible for anyone at that experience level to have.

    I love seeing all the jobs asking for CRISPR experience right now, for example. That technology has been around long enough for how many people to actually COMPLETE a project using it? I see 225 hits in pubmed when searching "crispr cas9”, which probably means maybe 500 people have really participated in a significant role in a published crispr/cas9 paper. Now how many of those people are even on the job market at a given experience level?

    So, even if you don’t hit what appears to be a major job qualification, don’t be deterred from putting in an application. Most employers quite frankly seem very out of touch with what actually exists out there or they know they won’t get everything they want already.

    Leave a comment:

Latest Articles

Collapse

  • seqadmin
    An Introduction to the Technologies Transforming Precision Medicine
    by seqadmin


    In recent years, precision medicine has become a major focus for researchers and healthcare professionals. This approach offers personalized treatment and wellness plans by utilizing insights from each person's unique biology and lifestyle to deliver more effective care. Its advancement relies on innovative technologies that enable a deeper understanding of individual variability. In a joint documentary with our colleagues at Biocompare, we examined the foundational principles of precision...
    01-27-2025, 07:46 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by seqadmin, Today, 09:30 AM
0 responses
8 views
0 likes
Last Post seqadmin  
Started by seqadmin, 02-05-2025, 10:34 AM
0 responses
16 views
0 likes
Last Post seqadmin  
Started by seqadmin, 02-03-2025, 09:07 AM
0 responses
19 views
0 likes
Last Post seqadmin  
Started by seqadmin, 01-31-2025, 08:31 AM
0 responses
33 views
0 likes
Last Post seqadmin  
Working...
X