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.