Job Description


WHAT YOU'LL DO We’re seeking a motivated and innovative candidate to join our team as a Lead Software Engineer, helping build cloud-based, data intensive, intelligent, SaaS. Under general guidance from the Technical Product Development Manager, this role will be at the center of development efforts, overseeing application development as part of a cross-functional team. BCG has made a multimillion-dollar investment to create Flagship products that complement our consulting offerings. You will be a member of a team working together in a fast-paced and agile environment to deliver commercial-grade software, using programming languages and technologies such as JavaScript, React.js, Java, Python, Node.js, Machine Learning, data pipelines, SQL and NoSQL databases.
  YOU'RE GOOD AT

Software Development Technical Leadership:

  • Leads analysis, design, coding, testing, documentation, implementation and maintenance of software systems, confirming to business requirements as well as company and industry technical standards, such as security, flexibility, scalability, performance, etc.

  • Writes code and components that meet standards and deliver desired functionality, independently

  • Leads and mentors more junior developers by example, and delegates work effectively

  • Perform design and code reviews

  • Apply principles of modern SDLC and Agile methodologies to deliver quality software

  • Documents and communicates the design and technical details to the development team, third party vendors (as required), and all stakeholders (to the detail appropriate to the audience)

  • Ensures code development follows the architecture blue prints and established coding standards and best practices

  • Proposes modeling and proofs-of-concept as required

  • Ensures the software systems are evolvable to accommodate rapid market-driven changes in business requirements

  • When confronted with technical challenges, must find creative, economical, and elegant software engineering solutions

  • Identifies risks and proposes risk mitigation strategies associated with the software delivery

  • Performs other projects and duties as assigned or required.

  • Moderate amount of travelling – dependent on project requirements.

YOU BRING (EXPERIENCE & QUALIFICATIONS)

- BS/BA Degree in software engineering, computer science, mathematics or related field; Advanced Degree Preferred
- Minimum 7 years experience in software tools development and leadership
- Excellent knowledge in industry standard technologies, and tools, such as:

  • Application development and testing patterns – OOP, DDD, FP, CQRS, TDD, BDD.

  • Languages – Java, Python, NodeJS

  • Web Frameworks – Spring, Spring boot

  • Data access frameworks – Hibernate, Mybatis

  • Frontend technologies – ReactJS, Javascript, HTML and CSS

  • Database technologies – RDBMS (Postrgres, Sql Server), MongoDB, Redis, Cassandra, other NoSQL databases

  • Build systems – Maven, Gradle, npm

  • Streaming technologies

  • Event-driven, reactive design and architecture

  • Version control – Git 

  • Cloud development – AWS, Azure, GCP, Ansible, Teraform

  • Testing – Junit, Selenium, Cucumber, Robot

  • Application performance and monitoring tools

  • Design Patterns, Functional Programming

  • Agile/Scrum/XP/Iterative application development approaches.

  • Strong analytical skills

  • Strong communication skills

 
Key Competencies
 
Problem solving, analytical skills and decision making

  • Effectively handle difficult, stressful situations with poise, tact and patience; demonstrating a sense of urgency

  • Anticipate, identify, and solve critical problems proactively; make decisions with strong business sense

Save Job