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
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...
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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)
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.
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.
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!