Principal Software Engineer
We live in a moment of remarkable change and opportunity that is cognitive computing. The convergence of data and technology is transforming industries, society and even the workplace. CognitiveScale is looking for talent to drive market success by developing and applying new technologies to solve business problems that are important to our clients.
As a Principal Software Engineer on the Technical Delivery team, you will be responsible for architecting and implementing solutions in Cortex5 based on clients’ requirements. This involves analysis, planning and technical expertise to implement a solution that will meet business needs and client commitments. As a technical expert, you will provide guidance as well as hands on execution of technical components and solutions. Additionally, the Principal Software Engineer works with the product team leads to review and analyze current Cortex5 features and its ability to support strategic objectives of the client.
Whether working directly with clients, contributing to internal initiatives, giving technical talks, or supporting client delivery, you will be on the cutting edge of the AI revolution. You can speak the language of any department and are equally comfortable working with developers, user experience designers, project managers, sales teams, and DevOps folks. In this role, you will have the opportunity to put cognitive computing in action to truly change the world! Come join us on our journey.
We are looking for a person who:
- Is passionate about creating high quality software architecture and design
- Believes that software development is a craft and is committed to investing in improving their skills
- Has strong experience in a client facing role
- Is able to balance multiple projects and priorities and knows when to ask for help
- Will become an expert in CognitiveScale’s Cortex5 product offerings and how to apply them to solving specific problems for our customers
- Can coordinate with the delivery, engineering, and devops teams all the delivery activities and act as escalation point for all development issues specific to the project
- Will work collaboratively with remote teams to ensure smooth delivery, determining requirements and priorities as well as resolving issues
- Has a passion for learning - continuously learns to build new skill sets that advance their skills in the AI space
- Has a strategic point of view - a system thinker that keeps the customer success in mind throughout the project lifecycle
- Take point on software design, work estimation and implementation of new features including interfaces, contracts with storage system, data transformation and handoff to client technical team.
- Keep on top of task and defect management system for assigned issues for each iteration as well as estimate and assess work priority
- Participate in creating SOWs (Statement of Work) and Document final solutions for customers
- Plan by understanding the details (effort, risk, priority) of remaining work committed for a release
- Execute in a Scrum based agile software development process
- Perform peer code reviews as part of everyday workflow
- Contribute ideas to continually improve the team’s productivity, job enjoyment, and code quality
- Make a fun environment working with a great team and create cutting edge software
- 5+ years experience architecting and developing distributed, micro-services based systems. 10+ years of general software development experience
- Ability to travel to customer sites to plan, integrate, and deliver solutions. 10-25% travel may be required
- Expertise in architectural patterns (e.g. Fowler) and software design patterns (GoF)
- STRONG ability to design, code and debug applications in Java or Python
- Experience working on large software systems, particularly distributed systems and microservices architectures
- Experience architecting large software systems and enterprise integrations
- Experience working with large transactional data streams and combining transactional data with web, social and mobile data streams
- Demonstrated ability to effectively establish and maintain working relationships with all levels of the organization
- Keen business judgment, focus, and ability to see the "big picture" and prioritize
- Excellent communication and presentation skills with the ability to present and translate complex information to both internal and external teams in relevant business terms
- Some experience with performance tuning, improvement, balancing, usability, automation especially in distributed and cloud environments
- Support, maintain and document software functionality and software design and architecture
- Bachelor’s Degree or higher. Computer Science, Math, or Engineering major is preferable.
CognitiveScale is an Equal Opportunity Employer. CognitiveScale does not discriminate against any applicant for employment because of age, gender, sexual orientation, race, religion, national origin, ethnicity, veteran status, or disability.
Search Firm Representatives Please Read Carefully:
CognitiveScale is not accepting unsolicited assistance from search firms for this employment opportunity. Please: no phone calls or emails. All resumes submitted by search firms to any employee at CognitiveScale via email, the Internet or in any form and/or method without a valid written search agreement in place for this position will be deemed the sole property of CognitiveScale. No fee will be paid in the event the candidate is hired by CognitiveScale as a result of the referral or through other means.
Read Full Job Description