Posted in Information Technology 30+ days ago.
Type: Full-Time
Location: Dallas, Texas
Cognizant is a strategic partner to the Fortune 2,000, helping the world's most influential companies to build software and solutions, empowering our clients' businesses and enabling their competitive advantages. Most recently we’ve come to truly understand the ways in which software is eating the world. This creates an opportunity for us to reinvent the mode in which we execute with our clients. As a result, Cognizant now finds itself at the intersection of business value, technology and the Silicon Valley style of execution. What you may already identify as Lean Startup methodologies, Extreme Programming (XP), DevOps, etc., we take a step further in order to hyper-focus on velocity and high-performance engineering. The competitive advantage this capability provides is enormous—enabling faster feature time to market, increased customer satisfaction and exponential employee productivity, all while allowing the organization to win in the marketplace by keeping our clients, their customers, and all users omnipresent in everything we do. We are forging the way for what's next in the Digital Economy.
You…
You have a passion for high-quality, reliable and maintainable code. You’re comfortable working side by side with product managers, designers, and clients, making decisions together in order to quickly deliver valuable working software to clients and their users. You’re agile and retrospective, and not afraid to identify what we’re doing wrong so we can fix it, and what we’re doing right so we can improve on it. Above all, you judge your success by the success of your team and the happiness of our customers.
Two Heads Are Better Than One
Developers work in pairs. Employing an Extreme Programming (XP) style of execution designed to facilitate shorter development and release cycles. The goal is to create fast feedback loops to prevent problematic code from going into production and to enable code to quickly be deployed when all validation tests have passed. Following closely the principles of extreme programming, each developer writes a test prior to writing implementation code. The goal is to write only enough code as is necessary to make the test pass, because we view code as our greatest liability. Developers in the community place a premium on quality and as a result focus on writing tests first. Everyone in the value stream employs a culture that not only values each other’s time and contributions but also relentlessly injects pressure into the system of work to enable organizational learning and improvement. Everyone dedicates time to testing and qualification of their deliverables to avoid accumulating technical debt and negatively impacting downstream teams with poor quality deliverables. In this environment nonfunctional requirements are just as important in achieving business objectives. Our teams at Cognizant Labs are fully autonomous, meaning everyone has equal stake and responsibility in the outcome of the product and the customer’s success.
Developers are encouraged to avoid programming any features until they are actually needed, focusing on clarity of code and test writing. Reviewing and refactoring code is a common, on-going activity. The Cognizant "mindset" can be summarized easily, when taking a story from the backlog each developer is encouraged to do the following:
1. Hypothesis: We believe that ...
2. Test: We will do/make a test that proves...
3. Evidence: We will know the hypothesis is valid if …
Additional to asking these questions, developers are encouraged to think about how long it will take to answer these questions and the cost of solving them. We promote a high trust and highly collaborative culture where everyone is responsible for the quality of their code. A hypothesis driven culture requiring everyone to measure and prove their assumptions. Build, measure, learn is key to our success.
The ideal candidate …
An ideal candidate is someone who enjoys working in a fast paced, collaborative environment. Someone that values the “team” and leverages the opinions and expertise of their teammates to deliver working, quality code. Each individual values quality and pursues the proof of quality by consistently writing tests.
If you’re like us, you’ve got big ideas. At Cognizant, we’re exploring new ideas every day. We help industry leading companies reinvent their business models and innovate products that create new value—by connecting people with things, insights and experiences.
Cognizant digital engineering designs, engineers, and delivers digital products and experiences that drive digital-first business models. We offer the most comprehensive digital engineering expertise and client-centric methodology for sustainable innovation.
Cognizant is looking for a dynamic architect with experience designing and developing complex software systems and applications. The individual will work with product owners, subject matter experts, and product managers to design and deliver customer value. The role is expected to lead several software engineers in the delivery of custom cloud native applications. The individual in this role will ensure that best practices are followed and that quality code is delivered. Lastly, Cognizant needs an individual that loves to collaborate with other technologists and enjoys mentoring and coaching.
Day-to-Day Responsibilities:
· Works with product owner and developers to groom product backlog
· Provides guidance on continuous integration and test-driven development practices
· Develops API strategy for the overall application
· Helps drive Agile ceremonies including iteration planning, standups and retrospectives
· Develops cloud deployment model of application
· As needed, develops and tests code for UI, services and integration tiers of an application component
· As needed, codes in a developer-pair as part of an Agile product-focused software development team
· Works with clients to understand business case for adopting cloud native approach to developing software
· Develops technology strategy for engagement
· Facilitates removal of client technical barriers to engagement success
· Ensures technical collaboration between pod teams
· Technology competency areas – Cloud Native, Microservices and APIs,Reactive Systems, Analytics & Streaming Pipelines, Devops – CI/CD
Key Qualifications:
· Deep understanding of software programming fundamental concepts
· Codes software components using JavaScript, Java, Spring Framework, relational databases and message queues
· Develops approaches to testing and writes unit tests using Junit or other test frameworks
· Creates and maintains CI builds using Jenkins, Concourse or similar tool
· Deep understanding of microservices architecture concepts and how to implement them
· Has worked with at least one private or public cloud platform such as Cloud Foundry, OpenShift, AWS, GCP, or Azure
· Has led Agile development teams
If you have these its awesome as well
Finally, we encourage team members to see conflict as a positive; in a team that is fully autonomous, it is pertinent that members are able to add their opinions and to listen and consider others’. Empathy is key.
Technical Skills
SNo | Primary Skill | Proficiency Level * | Rqrd./Dsrd. |
1 | Core Java | PL1 | Required |
* Proficiency Legends
Proficiency Level | Generic Reference |
PL1 | The associate has basic awareness and comprehension of the skill and is in the process of acquiring this skill through various channels. |
PL2 | The associate possesses working knowledge of the skill, and can actively and independently apply this skill in engagements and projects. |
PL3 | The associate has comprehensive, in-depth and specialized knowledge of the skill. She / he has extensively demonstrated successful application of the skill in engagements or projects. |
PL4 | The associate can function as a subject matter expert for this skill. The associate is capable of analyzing, evaluating and synthesizing solutions using the skill. |