Sr Software Developer

Job ID 2020-2510

Technology New York, New York


Description

WebMD is the most recognized and trusted brand of health information and the leading provider of health information services, serving consumers, physicians, healthcare professionals, employers and health plans through our public and private online portals and WebMD the Magazine. The WebMD Health Network includes WebMD, Medscape, MedicineNet, eMedicine, RxList, theheart.org and Medscape Education. Our consumer portals and mobile health applications provide engaging, relevant and credible health and wellness information, personalized health assessment tools and access to online communities.

All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.

WebMD is searching for a strong Sr Software developer to design, develop and maintain complex web applications for the WebMD.com

 

As a Sr Software Developer, you will be responsible for analysis of requirements to drive further clarification; proposing, defining and documenting sound design/refactoring options & alternatives; creating sound pre-development estimates ; developing application code and unit tests; integrating with other WebMD applications as necessary; delivering integrated application components to Testing and Quality Assurance team and support delivery to the Production environment.

 

We are looking for a self-starter with the ability to handle a number of simultaneous projects, demonstrate a sense of urgency and ownership to drive projects to completion, and be successful in a collaborative environment. The right person for this role will be organized; detail oriented and be able to prioritize tasks. He/She will help ensure that application code is of high quality by participating in/leading code reviews, writing automated test harnesses, and assisting in the deployment of code onto the pre-production & production environments.  This person will demonstrate strong analytical and problem solving skills, a  high level of technical competency & leadership, attention to detail and the ability to communicate effectively (written & verbal). We look for professional certifications and a continuing education history to suggest knowledge and familiarity with J2EE design & development techniques.

 

Relevant job functions:

  • Design complex, high traffic web-based applications and REST services using Object-oriented design and patterns
  • Document high-level and detailed solution design, different options considered and their tradeoffs, prod deployment plan, etc.
  • Develop detailed work breakdown structure for analysis, design, development and deployment activities 
  • Develop REST services and web applications using Spring MVC, Spring IoC, Spring REST, Spring Boot, Spring Data, Spring Batch, etc.
  • Develop unit and integration tests using JUnit and Spock
  • Deploy applications to Apache HTTP server, Apache Tomcat server and validate application functionality
  • Develop search applications using Apache SOLR
  • Develop shell scripts as required
  • Work with PostgreSQL, Oracle and MongoDB databases
  • Work with version control system Git
  • Work with defect tracking system JIRA and documentation system Confluence
  • Work with application deployment and orchestration tool uDeploy
  • Work with build system Jenkins
  • Work with log management tool Splunk and create dashboards for key performance metrics
  • Perform troubleshooting of issues in prod and non-prod environments and document the root causes
  • Participate in Agile meetings: backlog grooming, planning and daily stand-ups

 

What's In It For You 

Besides a competitive compensation package, you'll be working with a great group of technologists interested in always finding the right tool for the job in a culture that encourages innovation.  If you're ready to take on some new technical challenges at a well-respected company, we'd love to hear from you.

What You Need For This Position

  • Bachelor's degree in Computer Science, Technology or Engineering or equivalent related work experience
  • 4+ years of disciplined application design and development experience, preferably in the Internet or software industry   
  • Experience with designing and developing web-based applications for moderate to high traffic sites  
  • Experience working closely with Product Management on requirements development
  • Demonstrated strong development skills in Java SE
  • Demonstrated strong development experience using Spring MVC and Spring IoC 
  • Experience developing unit and integration tests using JUnit or similar tools (Spock, Selenium, etc.)
  • Experience with application packaging and deployment tools – e.g., Maven, Gradle.
  • Experience working with Apache web server and Tomcat on Windows or Linux systems
  • Experience working with relational database management systems like Oracle, MySQL, MS SQL, PostgreSQL or similar systems
  • Experience developing SQL queries and stored procedures
  • Familiarity with Linux systems and using shell commands
  • Strong organizational and communication skills, both verbal and written

 

... and if you have the following, even better!

  • Prior responsibilities that required communication and coordination across different groups: e.g., Engineering, QA, Operations and Project Management. History of increasing responsibilities
  • Prior Design and Development experience using Service Oriented and Microservice Architectures
  • Experience with some of the modules Spring Boot, Spring Batch, Spring Data, Spring REST, Spring Cache, etc.
  • Hands-on experience using Web 2.0 technologies like AJAX, JQuery and data exchange with XML and JSON formats
  • Development experience with Groovy
  • Experience working with MongoDB
  • Experience developing unit and integration tests using Spring Testing framework
  • Experience at an internet company