Community

Software Craftsmanship - India community

This community is technology agnostic and is created with an aim to increase awareness and deepen skills around best practices in software development. Events include talks, discussions, workshops, trainings and round-tables that may be of interest to developers, managers, analysts, quality testers and others in the software development profession.

Join The Community
Upcoming Events
Stay tuned for more events coming your way soon!
Past Events
WED, august 28th, 2024
GenAI on the Modern Data Stack by Ari Kaplan

GenAI is increasingly becoming a priority for businesses, and it's easy to see why. Discover how organizations are leveraging modern data stacks to efficiently train Language Learning Models (LLMs) on proprietary data, all while maintaining speed, security, and governance. This talk will highlight the latest business use-cases across various industries, with a focus on software development practices, pre-trained LLMs, and LLMOps. No matter your role—whether you're a developer, architect, data engineer, or tech lead—this session will provide you with practical strategies for utilizing GenAI on a unified platform, giving you a competitive edge in today's rapidly evolving tech landscape.

THU, august 8th, 2024
Developer Joy – How great teams get s%*t done by Sven Peters

Software development has become more complex over the years: Building and running a distributed architecture in the cloud, ensuring observability, discussing user experience with design and product, and keeping a healthy balance between dev speed and code quality isn’t easy. Just be agile and practice DevOps, they say.
Join Sven and learn how great software teams measure and improve their developer experience, coordinate work across teams, run autonomous but highly aligned teams, and create a healthy and joyful engineering culture. Always backed up by data (not driven) instead of opinions. The talk will demonstrate how great teams faced development challenges, reinvented themselves, and created new ways of working to get s%*t done. Without losing sight of what makes this craft fun for engineers.

Read Session Insights
THU, june 27th, 2024
Distributed Consensus by Jim Webber

Our systems are getting bigger and more ambitious, and the ways they can fail are becoming ever more intricate. As software craftspeople we are adept at understanding the fault-tolerant abstractions like transactions to write high quality application code, but have you ever wondered what goes on underneath these APIs?
In this talk we'll discuss how transactions work, think about why they went out of favor for a while, and look at techniques that combine the best of fault-tolerance guarantees for a world both obsessed by scale and beset by chaos. Join the talk if you want to feel happy, scared, puzzled, angry, and ultimately victorious as we develop protocols that are fit for a demanding future!

FRI, JUNE 14TH, 2024
WSGI - What The Heck Is Going On! by Hemangi Karchalkar

WSGI is the foundation of most Python web frameworks, but there's a good chance most folks never had to interact with it directly. A great web framework abstracts away all the low-level stuff so that one can focus on the core functionality of your application but abstracting away the low-level stuff prevents us from learning important concepts. In this talk, I plan to explore why it exists, how it works, and what the heck it's doing in your stack. This talk aims to develop an appreciation, sound understanding for the low-level goings on of in the stack every time we handle a request.

THU, february 22nd, 2024
Fantastic 9: Heuristics about Choosing Design Patterns with Yves Goeleven

There are thousands of design patterns to choose from, but in reality I believe we only need 9 design patterns to build any system imaginable.

Why only 9?
And which ones?

Join me in this session and I'll introduce to these Fantastic 9...

Mon, DECEMBER 18TH, 2023
Fireside Chat with Adam Tornhill

In this fireside chat, Incubyte co-founder Sapan Parikh and CodeScene founder Adam Tornhill discuss the business impact of technical debt, the need to balance feature development with refactoring activities, and the social impact of code quality on development teams.

Wed, NOVEMBER 22nd, 2023
Data Ownership in Legacy Systems - Building a Foundation for Data Mesh

Data analysis and reporting have traditionally operated using tailor-made data models after the operational data has been extracted and transformed. Behind it, we find that the application development uses a data model, which is much less suited for data analysis and reporting.
What if there is another way to do the application design that explicitly allows the data to play a much more prominent role in system decomposition?
Join and explore an alternative to complex system design that emphasizes data ownership with a foundation in business capabilities, which presents a very different opportunity for rich data analysis and reporting. The talk is based on real-world cases from the domains of healthcare and insurance.

Wed, NOVEMBER 1st, 2023
Production Excellence

As developers, we want to write excellent software. That takes a lot more than writing good code. That code has to run in production, where it helps customers (internal or external), and it has to explain to me how that’s going. I need to know:
- Is the feature I deployed last week being used in the wild?
- Is it doing what I expected?
- Is the software performing better or worse than last week?
- Is it reliable enough?
...and of course, when it is not reliable, I want to know why, very quickly!
There is no production excellence without visibility into production. You can’t improve what you can’t see. We need to make useful changes quickly and safely. That takes a culture of production excellence.
Jessica shows you how observability fits into the developer workflow for your engineering world.

Wed, October 11th, 2023
Full Stack API Testing with Karate

The Karate project has recently achieved an audacious goal - which is to expand into user-interface testing, and compete with the usual suspects in the wide-world of test-automation tools - both open-source and commercial. You will get a sense of Karate's capabilities and how it compares with the competition in this session.

Wed, september 13th, 2023
Async Code Reviews Are Choking Your Company’s Throughput

We've all been there. A PR is so big you don't even bother properly reviewing. It's already too late to build the quality in, so you make a sad face, comment “Looks good to me”, and click approve. People are more likely to engage on smaller PRs, it takes them less time to review, and they feel they can course-correct if something goes astray. But, here's the surprise. What if I told you that teams doing small PRs actually have way lower throughput than teams doing big PRs. Join me on a journey where I'll show you the data invalidating the assumption that two or more people working on the same thing, at the same time will hurt a team's throughput, and why the opposite is actually the case.

Thursday, august 10th, 2023
Experiencing Team Flow

You will experience the effects of team flow in this non-technical workshop. We will be running a few interactive simulations on team organization and the effect this has on the total flow of work. Topics we will certainly address:
- Why do we prefer T-shaped team members?
- How can swarming help?
- Why would you deliberately limit work in progress?
- Why is it that we have trouble estimating when work will be done?

Thursday, July 27th, 2023
Shifting Left on Data Quality with Data Mesh

Data Mesh is a socio-technical approach to managing analytical data at scale. It is rooted in 4 principles that facilitate each other.
- Domain-driven decentralized ownership
- Data as a product
- Self-serve platform
- Federated computational governance
Often times the rate of adoption of data systems is low due to lack of trust. We have seen in large organisations the centralized data teams to whom the product teams throw their data over a wall. This is particularly toxic as the cost of ensuring data integrity increases as it moves more and more right towards consumption.

Thursday, February 16th, 2023
Launch your product faster! The right way!

Working at a startup means adding value fast! This attitude, rather than enriching the developer's experience, degrades it. Fast starts translating to - a lot of patchwork, no planning, Stop gap manual measures, Lack of proper automation, and no feedback on different levels of PDLC.

Wednesday, OCtober 05th, 2022
User Experience Research and Design: Crucial to Software Development

Engineers already know how to build great things and build them right. Research and design with the end user in mind helps engineers understand how to build the right thing. Amber believes that we should not be blinded by what we can see, and should always seek the perspective of our users before making decisions that impact them.

Wednesday, OCtober 05th, 2022
Demystifying Stakeholders - How to get buy-in for critical UX projects

Leading tech companies have adopted a design-centric ethos, but cynicism around UX has not diminished. Team dissent and dissatisfaction and lack of stakeholder buy-in pushes product teams into a corner. Bansi addresses the challenges of team conflicts, stakeholder misalignment and talks about ways of overcoming organizational issues that stand in the way of a truly delightful and intuitive user experience.

Wednesday, september 14th, 2022
Demystifying React with Vanilla JS

React, Vue.js and all those frameworks that call themselves “reactive”, work around the concept of one-way data binding. In other words, they give developers the ability to bind their models to the representation. And on top of that, they let you modify the view automatically when you modify the data, hence the name of "one-way data binding". In this talk, Fernando shows us how to reproduce that magic with plain old Vanilla JS.

Wednesday, August 10th, 2022
A - Accessibility, B - Best Practices, C - Common Sense

Accessibility enables a diverse group of people to understand, interact, and contribute to the web. Design universality into products that bring meaning and germane experience to all users. Learn how development and design together create access for myriad user groups.

tuesday, January 11, 2022
Refactoring from Imperative Style to Functional Style

Learning syntax is part of our lives and it comes from practice. The challenge with programming in the functional style is to be able to think in a paradigm different from the one we are used to. In this live coding presentation, we look at how to promote such thinking by taking some imperative style code and refactoring to functional style.

Wednesday, december 22, 2021
Demystifying Software Development

The world of software development is currently filled with anti-patterns and misconceptions.

There exists a handful of "97 things a programmer should know" guides, but people rarely talk about what not to do. That's precisely what we will discuss at this event.

Wednesday, NOVEmber 24, 2021
The Elegant Code

Have you ever looked at some piece of code and had an "aha" moment? Have you ever seen a program and felt that it is very elegant?

Join us as we explore the joy of programming with a couple of beautiful ideas from the world of functional programming.

friday, september 17, 2021
Introduction to Micronaut

Iván from Object Computing, Inc walks us through the basics of Micronaut in a live session. Topics include:
- Things you can do with Micronaut
- Creating an application from scratch
- Dependency injection
- Interacting with the HTTP client
- Writing tests
- Services discovery
- Integration with GraalVM native images
...and other cool modules!

Tuesday, August 31, 2021
IntelliJ Productivity Tips

In this session, Victor reveals some of the tricks used by the fastest Java developers on the planet, that will skyrocket your day-to-day coding speed after just several days of practice! Writing, editing, navigating and refactoring code faster will let you focus on your goals and enable you to experiment with various design ideas without wasting precious time.

Monday, July 28, 2021
Flow in Person and Process

Flow is an integral part of Lean and a path to happiness in psychology. It allows us to achieve value and happiness through our work both at the team and personal level. Let us explore how principles of flow can guide us to design better software, processes, and development environments.

Monday, July 5 2021
Test Driven Development, the essential skill for a Software Craftsperson

Software craftsperson is first defined by their attitude and then by their skills. Any craftsperson must have a "Growth Mindset" to learn new things and adapt to changing demands of software delivery.
Furthermore, one of the most important technical skills required for a software craftsperson is Test Driven Development (TDD)

Wednesday, June 9, 2021
Measure, visualize and prioritize technical debt with behavioral code analysis

Adam Tornhill, founder of CodeScene and author of Software Design X-Rays, Your Code as a Crime Scene, Lisp for the Web and Patterns in C gives us an introduction to behavioral code analysis which builds on version-control data to uncover the behavior of the development organization and helps prioritize parts of your system that benefit most from improvements, so you can balance short- and long-term goals guided by data.

Saturday, May 15, 2021
An insight into Elastic search, Kibana, Plug-ins & OSS Contributions

Hardik Prajapati gives a quick introduction to Kibana and Elasticsearch. He does a brief walk-through of Kibana's codebase, its plugin-based architecture, and his & his colleagues' efforts to develop a plugin and make it available as open-source software.

Tuesday, February 16, 2021
Software Craft: The spirit, responsibilities and rewards

This was the first event of our community, our official launch! Sandro Mancuso, founder of the London Software Craftsmanship Community, author of 'The Software Craftsman: Professionalism, Pragmatism, Pride' and co-founder of Codurance, talks to us about what Software Craftsmanship means for individuals, teams and organizations!