Notes for the cover letter for application for: http://www.ncsa.illinois.edu/about/jobs/ap_107149 ==From an earlier email: .. I spent a fair amount of my career as either a Research-Programmer &/or doing AI related programming, sometimes as a Knowledge-Engineer. I started here in town at US-Army CERL in HS through my undergrad degrees, then as a grad-student in Beckman around NCSA's Comp-Bio group, then up to ANL.gov, &at other universities as well as a number of corporate jobs. Though I have to say that my love of scientific applications, and AI methodologies makes something like the present NCSA advertisement very inviting. .. http://bit.ly/MikeBobak_CV .. =Also brought up how I had a contract for NCSA's Software Tools, just before grad-school, to research how domain specific v general the group might make it's next tools. & That I consider myself a tool-builder for scientists (at heart), and that the idea off assisted problem-solving-environments is really of interest. My favorite real geek-out is the area of Model-Based-Reasoning, but that I have been more pragmatic, opting for more semantic web services, that can be using in a goal based way instead. =Below I consolidated the sections from the job-search link, and included some notes near many of the points: |Qualifications of the Senior Research Programmer | |Key Responsibilities of the Senior Research Programmer: |Research Software and Application Development: | |Develop software that addresses real world complex research problems with interfaces to powerful backend tools and interdisciplinary analyses such as science, engineering, the humanities and social sciences. |Apply scientific domain knowledge to architect and design software programs to help researchers define and solve heterogeneous problems, provide consulting expertise to researchers across a variety of domain sciences to leverage synergies across projects, and design and support shared cyberinfrastructure to support a broad range of communities. |Integrate collaborative input and design new approaches and techniques to address project specific needs and critical technological challenges. |Track research activity in relevant fields both programmatic and domain specific. |Evaluate the strengths and weaknesses between varieties of novel approaches to research and scientific software development problems. Continually keeping track of new relevant work. | |Drive research software development projects. This involves guaranteeing milestones are achieved, coordinating effort among project members, and recognizing emergent project needs and taking initiative to ensure these are addressed and resolved. |May direct and train hourly employees and interns. Have trained and guided interns/hourly employees. |Oversee multiple projects: ensure deliverables and deadlines are met, contribute to proposals, and guide developers in project management. Had helped manage a lab in Beckman's large software efforts. |System Architecture and Design | |Develop research-oriented code which supports an environment of secure systems, and design and develop security-oriented programs using established software development methodologies (i.e. agile, lean, rapid application, etc.) which by nature defend against disruption or misdirection of services. | |Design and build the infrastructure necessary to support research projects. Engineer the underlying architecture of the project. |Required Education, Experience, and Training: | |Bachelor's degree required, preferably in computer science or related field. Alternative degree fields will be considered if accompanied by equivalent experience (depending on nature and depth of experience as it relates to current NCSA business needs). MS Biophysics Comp-Bio with several units of AI course work. |Course level experience in software development and [years] of relevant programming experience. |At least five years of experience in relevant software development. Much more that that. |Research Communication: |Ability to clearly communicate results and their importance (verbally and in writing). |Ability to provide input for reports, presentations, and grant proposals. | |Contribute to publications, technical reports, and documentation. |Communicate findings from research development activities above with project colleagues, including primary investigators, to be used as needed in current programming and design efforts. | |Publish and present results of scientific software research and development at national and international conferences. Have gone to conferences for work that I was an author on. |Preferred Experience: | |One or more years of experience in relevant software development. |Experience or Coursework in working with domain sciences. |Programming in one or more of the following: C/C++, Java, PHP, Python, Scala, Ruby, Javascript. Several years of C, a few of Python, and familiar/use of Java and C++. |Web development (e.g. server side scripting, client side frameworks, HTML5, CSS, REST, OAuth). |Databases (e.g. MySQL, MongoDB, PostgreSQL). Have used each, and more, incl. SPARQL based triple/graph-stores. |Linux DevOps experience. Longtime user. |Contributions towards research publications. A few papers with my name of it, but help with sections of much more. |Experience in one or more of the following: |Machine learning or data mining A number of courses. |Natural language processing A few years of work use. |Geospatial data management and programming Some GIS related work. |High-speed, real-time data analysis |Computer vision or graphics 3D graphics programming while in grad-school. |HPC environments, cloud computing, and/or systems administration Around NCSA, then ANL which included distributed/message-passing work. |Experience working with domain sciences. Have studied and worked with a variety of domain sciences. |Proficient in three or more programming languages with an ability to explain/decide why one would be utilized over another in different development scenarios. Proficient in several, and even know when and how to mix them. |Subject matter experts on one or more technologies. |Ability to establish a software development effort from the ground up (create software from scratch). Grad jobs, ANL, consulting, UCSF, built from scratch with at least libraries of course. ps. When my local startup was bought we went from vacation at will to less than 1/3 or what my partner gets. I found the lwop/buying vacation wasn't possible, but think the university has something much closer. pps. In my last post here I asked for 80% so I could also live in Chicago, but am very happy to stay in Champaign now; Though did enjoy that extra time to pursue my ever continuing education. Re: When I was young when I found out nwu.edu had a BS of Science w/o specialization, I was impressed. Since then there are a few things related to my path that also might come together in one place, one being Standford's Symbolic-Systems program. If I found related courses via cs-x/iSchool I would at least sit in on a few of them over time. I also really look fwd to at least catching some talks in areas of interest. Something I have found easier to do here than any other campus that I have been at. I will try to keep a copy of this at http://mike.bobak.googlepages.com/s-rp.txt just in case my home server http://notional.no-ip.org/s-rp.txt version goes down.