4G Careers

Senior Software Engineer

Senior Software Engineer



Responsibilities:

  • Participate on a decentralized, agile-based software development team. May serve as scrum master or team lead for smaller development groups.
  • Write reusable, testable, and efficient code, unit-test and document implemented features
  • Design and implementation of low-latency, high-availability, and performant applications
  • Implementation of server-side models and algorithms
  • Implementation of web service APIs (REST)
  • Implementation of client-side logic, including UX design, HTML layouts and templates, AngularJS logic, and styling
  • Implementation of security and data protection
  • Integration of data storage solutions 
  • Mentor less experienced members of the team

Required Experience:
The position requires a minimum of 5–10 years’ experience as a Senior Software Engineer or Engineering Lead in an agile environment working with web-based applications. The skills listed below are those of a full-stack software engineer, with the understanding that each software engineer has his/her own “spikes” or preferred areas.

Back-end:

  • Experience with ORM (Object Relational Mapping)
  • Experience with modern application frameworks such as Django or Ruby on Rails.
  • Experience with Object Oriented Programming
  • Experience with micro-services / loosely coupled applications using multiple data sources and interfaces
  • Good understanding of how databases work and how to use them efficiently
  • Experience with functional programming / higher order functions is a plus

Front-end:

  • Experience with modern frontend technologies such as AngularJS, JavaScript, Typescript/Coffee Script, HTML5, Sass/Less
  • Experience with responsive design applications (e.g. Material Design)
  • Experience with higher-order functions (e.g. Lodash)

General:

  • Understanding of accessibility and security compliance
  • Knowledge of user authentication and authorization between multiple systems, servers, and environments
  • Understanding of fundamental design principles behind a scalable application
  • Strong unit test and debugging skills
  • Strong leadership skills
  • Proficient understanding of modern development environment tools such as Git (GitHub, Bitbucket) or Mercurial, JIRA or other issue tracking systems, Jenkins or other continuous integration software.
  • Familiarity with regulations pertaining to the FDA or other regulatory agencies a plus
  • Experience with cloud-based applications and virtualization is a plus (Docker, EC2, S3)

Education and/or Certification Requirements:

  • A Bachelor’s degree in computer science, software engineering or equivalent field is required, with preference towards Master’s degree or higher.
  • 5–10 years experience in a development role in an agile development environment, preferably with some leadership or management experience.

 

APPLY NOW

Sign Up For
Email Updates