Full Stack Engineer

Full Stack Engineer Job Description Template

Our company is looking for a Full Stack Engineer to join our team.

Responsibilities:

  • Collaborates well with other engineers and other engineering group;
  • Exercises considerable latitude in determining technical objectives, without appreciable direction;
  • Implement automated testing suite for functional and performance testing;
  • Designing and implementing APIs and core services in Java using Spring and Hibernate;
  • Collaborate across the organization to build and evolve platform and application capabilities with the technical vision and product and business needs;
  • Developing models and business logic;
  • Build single-page web applications using modern Javascript frameworks like Angular;
  • Analysis of algorithm runtime and space, Big-O notation;
  • Integrate software components into a fully functional software system;
  • Manage and communicate work responsibilities to the team;
  • Performing code review for peers;
  • Full life-cycle development of web and mobile applications;
  • Helping design, develop, validate and support web services, batch process, web applications and tools;
  • Troubleshoot, debug and upgrade software;
  • Participate in and contribute to the team’s agile process.

Requirements:

  • US Citizen with the ability to obtain an EOD clearance;
  • Prior experience working with the ELK stack including Elasticsearch;
  • Experience in financial services, payments, processing, and/or small and medium businesses is a plus;
  • Solid knowledge of algorithms and design patterns;
  • Knowledge of CPU architecture, Multi-Threaded Environments, Databases, Storage Technologies;
  • 3+ years experience working in industry-standard database software, such as MySQL;
  • Proficient in client & server-side Javascript, HTML5, CSS3, React.js, Redux and webpack;
  • Ability to identify, suggest and design areas for software improvement;
  • An emphasis on shipping products on the web, rather than lower-level, systems or embedded systems;
  • Hands on expertise in performance optimization of distributed systems;
  • Bachelor’s degree in Computer Science or a related field, or an equivalent combination of education and experience;
  • Excellent communication skills including the ability to communicate software engineering and/or development concepts and principles;
  • Bachelor’s degree in Computer Science or equivalent;
  • Linux and Bash is a plus;
  • Bachelor’s Degree in Computer Science, Computer Engineering or a closely related field.