JOBSEARCHER

Software Developer

Supports Systems Architects with the design of the overall architecture of a specific product/application, applying principles that promote availability, reusability, interoperability and security into the design framework. Performs development, optimization, and automation activities to support the implementation of a product/application. Increases proficiency and understanding of relational and non-relational databases, distributed application architectures, user interfaces and user experience, quality assurance, security concerns, and business value creation. Adopts engineering best practices to deliver higher quality and scalable solutions. Provides the team with the development strategy, solution recommendations, and estimates for a given product/application. Participates in scrum ceremonies (sprint planning, retrospective, showcases/demos, stand-ups, backlog refinement, etc.). Creates and executes unit tests which validate the code changes made to support the implementation of a user story. Uses test driven development (TDD) practices to assist with the detection/recognition of software defects early in the development process. Identifies deficiencies within a product / application’s code base and identifies opportunities to improve overall code quality. Works with team members to move user stories from the development backlog into testing and provides clarification when needed. Estimates, plans, and manages all implementation tasks and reports on development progress. Demonstrates a strong understanding of emerging technologies to support the development of new solutions. Collaborates with team members (e.g., Systems Architects, Systems Analysts) to define project specifications and release documentation for all phases of the product development cycle from product definition to design, through implementation. Conducts peer code reviews for the software changes made by other engineers within a team. Oversees the development of new, highly-responsive web-based user interfaces, using React.js concepts and workflows, such as Redux, Server Side Rendering, Styled Components, and Storybook, using a test driven SDLC. Develops and implements front-end architecture to support user interface concepts. Adopts technical ownership of features and advancing product functionality. Meets with the development and business teams to discuss user interface ideas and applications. Advocates for and improves code quality, automated tests, CI/CD initiatives, and the developer experience. Reviews application requirements and interface designs. Performs troubleshooting for interface software and debugging application code. Monitors and improves front-end performance. Builds accessible and reusable components. Required 3+ years’ of previous experience working as a React.js developer. Proficiency in React.js, HTML, CSS3. Knowledge of JavaScript and React concepts, excellent front-end coding skills, and a good understanding of progressive web applications. Proficiency with building responsive layouts using CSS and CSS-precompilation. Strong understanding of cross-browser compatibility. Ability to integrate 3rd party APIs and a strong understanding of REST and GraphQL patterns. Proficiency with state and side effect management within client side applications (Redux and Redux Sagas preferred). Knowledge in JavaScript ES6+ features such as classes, arrow functions, template literals, rest/spread operators, promises, async/await. Proficiency with client side application bundling and optimization. Strong understanding of CSS fundamentals, accessible patterns, component design and functional programming, and data structures. Experience with browser-based debugging and performance testing software. Experience refactoring code and algorithms for improved performance and robustness. Experience developing within agile methodology. Strong troubleshooting skills; strong relationship builder in cross-functional teams. Application development in Java, JavaScript, .Net, Ember, and C#. Experience programming in major databases such as Microsoft SQL Server. Must possess a strong understanding of the software development process. Strong knowledge of object oriented concepts. Strong knowledge and experience working with databases. Strong verbal and written communication skills and be able to communicate to both technical and Business audiences. Demonstrated ability to execute against iteration plans and deliver assignments within scope, schedule, and budget. Ability to work with all management levels. Must have high integrity, accountability, a positive attitude, and be willing to do what it takes to make the team successful. Team player, good interpersonal, organizational and communication skills. Creative, likes challenges. Strong organizational and time management skills with ability to multitask and prioritize work effectively in a fast-paced working environment. Extremely responsive, able to work under pressure in crisis with a strong sense of urgency. Responsible, conscientious, organized, self-motivated and able to work with limited supervision. Must be detail-oriented and possess strong problem-solving skills and ability to analyze potential future issues. Able to support off-hours work as required, including weekends, holidays, and 24/7 on call responsibilities on a rotational basis. Job Type: Contract Pay: $95,242.54 - $114,700.69 per year Schedule: 8 hour shift Ability to commute/relocate: Westlake, OH 44145: Reliably commute or planning to relocate before starting work (Required) Experience: REST: 3 years (Preferred) Java: 4 years (Preferred) Work Location: Hybrid remote in Westlake, OH 44145