Software Engineer in Durham, NC at DISYS

Date Posted: 10/18/2018

Job Snapshot

Job Description



Crucible Sr. Software Engineer

There are 3 openings.   These are contract to hire and salary depends on experience.

Crucible is an engineering team designed to rapidly deliver high quality technical applications that answer the most pressing questions that our researchers and clinicians face.  We use the most modern technology to facilitate repeatable and reproducible research results to impact patient care in a meaningful way. Our high performance teams are focused on quality problem solving and a drive to delivery.  Our Engineers are adaptable to new methods and technologies, with an eagerness to learn and adjust. 

A working knowledge of most of these technologies and concepts is required: You do not need to know everything, This is an example of the technologies utilized by this group.

  • Microservices architecture and RESTful API design concepts
  • Object-oriented and functional programming
  • Application Message Queues – RabbitMQ, Kafka
  • Agile Methodologies – Kanban, Iterative Development, Spikes, SCRUM
  • Languages – Python, Go, Java, Scala, Javascript
  • Data Science Languages – Python, R, Julia
  • Web Technologies – Django, Apache, AJAX, REST, RPC/gPRC/Protobuf, Flask
  • Automated Testing – PyUnit, Cucumber, Rspec, WATIR, Continuous Integration Frameworks
  • Datastores – PostgreSQL, MongoDB, Redis, Neo4J, Oracle, SQL Server
  • Operating Systems – Linux, Mac OS


Essential tasks/responsibilities:



Application Design and Development (50%)

  • Research and promote the adoption of agile development best practices (e.g., writing test-first code, pairing etc.)
  • Develop automated solutions to inefficient or repetitive development tasks
  • Identify frameworks and tools that are best-suited for the task at hand
  • Develop technical specifications and/or prototypes that satisfy functional requirements
  • Refactor code wherever possible
  • Research and promote the adoption of automated testing solutions
  • Troubleshoot and resolve problems with existing application code
  • Assist with in-depth analysis of technical problems, suggest short- term and long-term resolutions.
  • Develop and deploy application features and bug fixes according to technical specifications
  • Write clean, well-factored code
  • Write test cases for all application code
  • Follow established source control and deployment practices to help ensure reliable product releases
  • Contribute to system and user documentation
  • Participate in any of the phases of the software development lifecycle as requested
  • Perform other related duties incidental to the work described herein


Application Support 25%

  • Provide level 3 application support
  • Troubleshoot application problems
  • Develop and deploy bug fixes and patches

Required Training/Skills/Competencies:

Education/training

Required: Bachelor's degree in a related field, or equivalent combination of education and technical experience

Experience

Required:   Five years of directly related experience

Preferred: Direct experience using object-oriented programming languages, developing web applications, web services, and/or back-end infrastructure for mobile applications

Job Requirements

Digital Intelligence Systems, LLC. is an Equal Opportunity Employer, M/F/D/V. We do not discriminate against any employee or applicant because they inquired about, discussed, or disclosed compensation. Email recruitinghelp @ disys.com to contact us if you are an individual with a disability and require accommodation in the application process.Digital Intelligence Systems, LLC. is an Equal Opportunity Employer, M/F/D/V. We do not discriminate against any employee or applicant because they inquired about, discussed, or disclosed compensation. Email recruitinghelp @ disys.com to contact us if you are an individual with a disability and require accommodation in the application process.