The frontend code is often treated like a step child and after a while things get messy and complicated. In 2014 there is a lot of things and toys a developer can do and use to avoid dying in 'brownfield hell'. I'd like to share some of my insights
Ruby Meditation 12 - 19.11.2016
His theme is Functional Ruby. How to forgot pain of side effects and start to write your Erlang in Ruby. Или просто очередная серебряная пуля для задач, которые вам никогда не попадутся.
#rubymeditation
Updated version at https://www.slideshare.net/GiulioRoggero/kanban-board-82363781
Do you have a team that works on both project and maintenance? Do you need to organize your team activities? Do you have a lot of activities in parallel and the time to market it's a problem? With a Kanban board and an Agile approach you can solve your problems!
Take a look of the animation of the slides to discover how it works.
As the research in Accelerate and in the DevOps Handbook shows, high-performing organizations deliver more rapidly, more repeatably, and more reliably. And as an organization scales, it becomes more and more important to get the product development process right. Drawing on the speaker's experiences leading high-performing organizations at Google and eBay, this session discusses the upstream parts of that process, focusing on organization, problem definition, and prioritization. We will discuss forming small, cross-functional teams with clear areas of responsibility. Then we will discuss the importance of clearly defining the problem we are trying to solve as a team. Finally, we will cover focus and prioritization -- how we decide what to do when. You will take away actionable techniques you can apply in your own organization.
Machine learning has become an important tool in the modern software toolbox, and high-performing organizations are increasingly coming to rely on data science and machine learning as a core part of their business. eBay introduced machine learning to its commerce search ranking and drove double-digit increases in revenue. Stitch Fix built a multibillion dollar clothing retail business in the US by combining the best of machines with the best of humans. And WeWork is bringing machine-learned approaches to the physical office environment all around the world. In all cases, algorithmic techniques started simple and slowly became more sophisticated over time. This talk will use these examples to derive an agile approach to machine learning, and will explore that approach across several different dimensions. We will set the stage by outlining the kinds of problems that are most amenable to machine-learned approaches as well as describing some important prerequisites, including investments in data quality, a robust data pipeline, and experimental discipline. Next, we will choose the right (algorithmic) tool for the right job, and suggest how to incrementally evolve the algorithmic approaches we bring to bear. Most fancy cutting-edge recommender systems in the real world, for example, started out with simple rules-based techniques or basic regression. Finally, we will integrate machine learning into the broader product development process, and see how it can help us to accelerate business results
How HipChat Ships and Recovers Fast with DevOps PracticesAtlassian
HipChat operates a ‘You Build It, You Run It’ service model, where developers are responsible for building, testing, and operating their systems. While we have a high speed of development, things can break – but we also recover quickly. Learn about how we've integrated best practices within our planning, building, operating and learning processes to optimize for speed and efficiency but also mitigate, prepare for, and handle incidents.
The presenter will walk you through four steps for how to operate at a high speed of development and also prepare for any incident — planning, prevention, preparation and collecting feedback— and instruct you on how you can build these processes into your Atlasssian workflow (including JIRA Software, HipChat, Bitbucket, Confluence, Bamboo, and StatusPage).
Learn about:
- Planning: How we use JIRA Software and Confluence to plan roadmaps and sync up with teams
- Prevention: Best practices during code reviews and testing
- Preparation: How we prepare for incidents with war games
Review: Collecting feedback, assessing incident causes and improving our processes
Come out of this session with a newfound understanding of how to use Atlassian products within your DevOps workflow!
Mickie Betz, Software Developer, Atlassian
DevOps is far more about culture and organization than it is about technology and tooling. This talk will discuss the speaker's experiences leading high-performing engineering teams at Google, eBay, and Stitch Fix, and will offer suggestions for other organizations to level up their DevOps game.
https://www.meetup.com/SV-ELC/events/240087808/
Modern software-service models take advantage of the great benefits in having the same team both build the software as well as operate it in production -- "You Build It; You Run It" is the Amazon mantra. What does this mean in practice?
Organizationally, it means small teams with well-defined areas of responsibility, directly aligned with the business. The teams are cross-functional, meaning that each team has all the skill sets it requires to do its job, while at the same time relying on other teams for supporting services, tools, and libraries.
Process-wise, it means doubling down on practices like test-driven development and continuous delivery. Using continuous delivery practices, high-performing teams can and do release their applications and services multiple times a day. This enables them to iterate rapidly, experiment courageously, and fail more quickly.
Culturally, it means end-to-end ownership. Each team owns its software end-to-end, from design to development to deployment to retirement. The same engineers who are responsible for the features are responsible for quality, performance, operations, and maintenance. This ownership puts incentives in the right place to encourage building maintainable, observable, and operable systems from the start.
All these techniques and approaches are available to everyone, and practical examples in this talk will help other organizations on their journey.
Ruby Meditation 12 - 19.11.2016
His theme is Functional Ruby. How to forgot pain of side effects and start to write your Erlang in Ruby. Или просто очередная серебряная пуля для задач, которые вам никогда не попадутся.
#rubymeditation
Updated version at https://www.slideshare.net/GiulioRoggero/kanban-board-82363781
Do you have a team that works on both project and maintenance? Do you need to organize your team activities? Do you have a lot of activities in parallel and the time to market it's a problem? With a Kanban board and an Agile approach you can solve your problems!
Take a look of the animation of the slides to discover how it works.
As the research in Accelerate and in the DevOps Handbook shows, high-performing organizations deliver more rapidly, more repeatably, and more reliably. And as an organization scales, it becomes more and more important to get the product development process right. Drawing on the speaker's experiences leading high-performing organizations at Google and eBay, this session discusses the upstream parts of that process, focusing on organization, problem definition, and prioritization. We will discuss forming small, cross-functional teams with clear areas of responsibility. Then we will discuss the importance of clearly defining the problem we are trying to solve as a team. Finally, we will cover focus and prioritization -- how we decide what to do when. You will take away actionable techniques you can apply in your own organization.
Machine learning has become an important tool in the modern software toolbox, and high-performing organizations are increasingly coming to rely on data science and machine learning as a core part of their business. eBay introduced machine learning to its commerce search ranking and drove double-digit increases in revenue. Stitch Fix built a multibillion dollar clothing retail business in the US by combining the best of machines with the best of humans. And WeWork is bringing machine-learned approaches to the physical office environment all around the world. In all cases, algorithmic techniques started simple and slowly became more sophisticated over time. This talk will use these examples to derive an agile approach to machine learning, and will explore that approach across several different dimensions. We will set the stage by outlining the kinds of problems that are most amenable to machine-learned approaches as well as describing some important prerequisites, including investments in data quality, a robust data pipeline, and experimental discipline. Next, we will choose the right (algorithmic) tool for the right job, and suggest how to incrementally evolve the algorithmic approaches we bring to bear. Most fancy cutting-edge recommender systems in the real world, for example, started out with simple rules-based techniques or basic regression. Finally, we will integrate machine learning into the broader product development process, and see how it can help us to accelerate business results
How HipChat Ships and Recovers Fast with DevOps PracticesAtlassian
HipChat operates a ‘You Build It, You Run It’ service model, where developers are responsible for building, testing, and operating their systems. While we have a high speed of development, things can break – but we also recover quickly. Learn about how we've integrated best practices within our planning, building, operating and learning processes to optimize for speed and efficiency but also mitigate, prepare for, and handle incidents.
The presenter will walk you through four steps for how to operate at a high speed of development and also prepare for any incident — planning, prevention, preparation and collecting feedback— and instruct you on how you can build these processes into your Atlasssian workflow (including JIRA Software, HipChat, Bitbucket, Confluence, Bamboo, and StatusPage).
Learn about:
- Planning: How we use JIRA Software and Confluence to plan roadmaps and sync up with teams
- Prevention: Best practices during code reviews and testing
- Preparation: How we prepare for incidents with war games
Review: Collecting feedback, assessing incident causes and improving our processes
Come out of this session with a newfound understanding of how to use Atlassian products within your DevOps workflow!
Mickie Betz, Software Developer, Atlassian
DevOps is far more about culture and organization than it is about technology and tooling. This talk will discuss the speaker's experiences leading high-performing engineering teams at Google, eBay, and Stitch Fix, and will offer suggestions for other organizations to level up their DevOps game.
https://www.meetup.com/SV-ELC/events/240087808/
Modern software-service models take advantage of the great benefits in having the same team both build the software as well as operate it in production -- "You Build It; You Run It" is the Amazon mantra. What does this mean in practice?
Organizationally, it means small teams with well-defined areas of responsibility, directly aligned with the business. The teams are cross-functional, meaning that each team has all the skill sets it requires to do its job, while at the same time relying on other teams for supporting services, tools, and libraries.
Process-wise, it means doubling down on practices like test-driven development and continuous delivery. Using continuous delivery practices, high-performing teams can and do release their applications and services multiple times a day. This enables them to iterate rapidly, experiment courageously, and fail more quickly.
Culturally, it means end-to-end ownership. Each team owns its software end-to-end, from design to development to deployment to retirement. The same engineers who are responsible for the features are responsible for quality, performance, operations, and maintenance. This ownership puts incentives in the right place to encourage building maintainable, observable, and operable systems from the start.
All these techniques and approaches are available to everyone, and practical examples in this talk will help other organizations on their journey.
London Atlassian User Group - February 2014Steve Smith
Continuous deployment is causing organisations to rethink how they build and release software. Atlassian Bamboo is rapidly adding features to help with automating deployment, but there are a lot of other practical and organisational issues that need to be addressed when adopting this development model. The Atlassian business-platforms team has been dealing with these issues over the last few months as we transition our order system to continuous deployment. This talk will cover why we adopted this model, some of challenges we encountered, and the approaches and tools we used to overcome them.
DevOps Army of One - DevOps Days Silicon Valley 2015funjon
Despite the best of intentions, we sometimes find ourselves working on a team of size one. Groups shrink for many reasons: attrition, mergers and acquisitions, transfers, and financial distress. It's never comfortable being a Single Point of Failure, but how can you survive this state of non-redundancy? Are there any benefits to being a team of "me, myself, and I", or is it all a pit of despair? What kind of red flags should you be on the lookout for? And, most importantly, what compelling leverage can you try to use to encourage team growth back to a reasonable size?
At DevOps Days Silicon Valley 2015, I shared a series of unfortunate events that led to my current status: the Human SPoF; I also discussed some of the tactics I've used to survive. Automation, tools, and code-as-infrastructure are a force multiplier applied correctly, allowing one engineer to do the work of many. However, these wonders come with a price tag. I also covered some strategies to grow a team, and ways to maintain sanity while keeping the lights blinking and the disks spinning in a 24x7 real-time environment with over 2000 servers.
From POC to Spark Summit talk in under 12 months - how we selected Apache Spark as our main Data Engineering platform and deployed first large scale project using this technology.
Service Architectures At Scale - QCon London 2015Randy Shoup
Over time, almost all large, well-known web sites have evolved their architectures from an early monolithic application to a loosely-coupled ecosystem of polyglot microservices. While first-order goals are almost always driven by the needs of scalability and velocity, this evolution also produces second-order effects on the organization as well. This session will discuss modern service architectures at scale, using specific examples from both Google and eBay.
It covers some interesting -- and perhaps nonintuitive -- lessons learned in building and operating these sites. It concludes with a number of experience-based recommendations for other smaller organizations evolving to -- and sustaining -- an effective service ecosystem.
Reactive applications & reactive programming result in flexible, concise, performant code and are a superior alternative to the old thread-based programming model. The reactive approach has gained popularity for a simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in reactive terms, particularly when one realizes that we must be Reactive up and down the entire programming stack.
In this talk we’ll explore what it means to be ‘Reactive’. We’ll examine some of the more interesting tools available to us, some of which come from the Groovy community. Specifically we’ll cover Ratpack, RxGroovy, React, and RabbitMq - along with examples and a sample implementation. We’ll demonstrate how effectively they can work together at each level of the stack - from the front end, to the back end, to handling http requests and message queue events - and how easy it can be to go Reactive all the way down.
This webinar discusses the keys to success in scaling and measuring agile methods beyond a single team.
Damon Poole will discuss:
- The importance of Agile People, Agile Process, and Agile Tools
- The need to focus on measuring information which aids in decisions and actions.
- How the frequency of measurement is more important than accuracy
- Keys to scaling agile including: Agile tooling, test automation, self-healing and self-improvement mechanisms, a true understanding of Agile fundamentals, and one-piece-flow
- Important elements to measure success including: cycle time, story points forecast vs done, reduction of hardening time, work in progress, Net Promoter Score, and profits.
Read more at https://www.synerzip.com/webinar/scaling-and-measuring-agile-2/
How I Learned to Stop Worrying and Love Legacy Code.....Mike Harris
Legacy Code. I never wrote it; everybody else did!
How many times have you waded through an ageing, decaying, tangled forrest of code and wished it would just die?
How many times have you heard someone say that what really needs to happen is a complete rewrite?
I have heard this many times, and, have uttered that fatal sentence myself.
But shouldn’t we love our legacy code?
Doesn’t it represent our investment and the hard work of ourselves and our predecessors?
Throwing it away is dangerous, because, before we do, we’ll need to work out exactly what it does, and we’ll need to tweeze out that critical business logic nestled in a deeply entangled knot of IF statements. It could take us years to do, and we’ll have to maintain two systems whilst we do it, inevitably adding new features to them both. Yes we get to reimplement using the latest, coolest programming language, instead of an old behemoth, but how long will our new cool language be around, and who will maintain that code, when it itself inevitably turns to legacy?
We can throw our arms in the air, complaining and grumbling about how we didn’t write the code, how we would never have written it the way it is, how those that wrote it were lesser programmers, possibly lesser humans themselves, but the code still remains, staring us in the face and hanging around for longer that we could possibly imagine. We can sort it out, we can improve it, we can make it testable, and we can learn to love our legacy code.
Many presentations on Microservices offer a high level view; rarely does one hear what it’s like to work in such an environment. Individual services are somewhat trivial to develop, but now you suddenly have countless others to track. You’ll become obsessed over how they communicate. You’ll have to start referring to the whole thing as “the Platform”. You will have to take on some DevOps work and start learning about deployment pipelines, metrics, and logging.
Don’t panic. In this presentation we’ll discuss what we, at ThirdChannel, learned over the past four years. We’ll examine what a development lifecycle might look like for adding a new service, developing a feature, or fixing bugs. We’ll dive a bit into DevOps and see how one will become dependent on various metric and centralized logging tools, like Kubernetes and the ELK stack. Finally we’ll talk about team communication and organization… and how they are likely the most important tool for surviving a Microservices development team.
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupRandy Shoup
I have spent the last decade building large-scale systems at eBay and Google -- and talking publicly about it -- and this presentation is about why a startup should completely ignore what I said! In an early-stage startup, it is not only not worth architecting for a future of massive scale; it is actively counterproductive. This presentation from the SF Startup CTO Summit outlines the common architectural evolution of a startup through the search, execution, and scaling phases, and discusses the appropriate technologies and disciplines at each phase. It ends with some real-world examples from eBay, Twitter, and Amazon to illustrate the point.
Processing pipelines requirements change all the time. But porting a meaningful insight from Batch to Near Real Time can involve a lot of rework. In this introductory talk we will present the Beam Model and how it is implemented in Apache Beam, with specific examples meant to be used as recipes in your next developments. Finally we're going to showcase how to switch the underneath engine without changing a line of code.
Bio
Marc Gonzalez is a Freelance Data Engineer, associated with InnoIT Consulting. He has 5+ years of experience applying Big Data technologies to Classifieds World.
Presented in https://www.meetup.com/Barcelona-Apache-Beam-Meetup/events/266806458/
Do you want this talk privately delivered to your company? Visit https://hire.marcgonzalez.eu
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1mz2piq.
Damon Edwards explores the successful patterns - and damaging anti-patterns - observed at dozens of companies going through DevOps transformations. The main focus is on how Development teams can influence and take a leading role in the closing of the DevOps divide. Filmed at qconlondon.com.
Damon Edwards is the co-founder and managing partner of the DTO Solutions consulting group. Damon is also a frequent contributor to the Web Operations focused dev2ops.org blog, the co-host of the DevOps Cafe podcast series, and a co-author of the DevOps Cookbook from IT Revolution Press.
Last year, Stormpath made the big shift from Scrum to Kanban. While we love Agile principles, the Scrum process wasn’t working for us. Kanban made our team more efficient, happier, and increased our focus on quality software. More importantly, it has become a core part of our company culture, and is now used by non-technical teams like Marketing and HR.
Kanban software development focuses on continuous delivery and drives high efficiency by limiting how much work can be done at once. Invented by Toyota and modified by David J. Anderson for software development, Kanban can have a huge impact on modern teams delivering cloud software in continuous environments.
Craftsmanship is defined as a "Enduring, basic human impulse, the desire to do a job well for it's own sake" and starting from this definition we can highlight some of the specifics of the job as Programmer as well as the questions that arise over time when we get better in our jobs. Trying to answer this question brings interesting insights as old as ancient Greece and still valid for PHP today.
The Autism Society has been honoring National Autism Awareness Month since the 1970s. The United States recognizes April as a special opportunity for everyone to educate the public about autism and issues within the autism community.
For the month of December Staff Management | SMX's Diversity Program Inclusion Council (DPIC) is recognizing all of the national cultural holidays that we celebrate in the month of December. This issue of the DPIC newsletter will highlight other December Holidays that you may not be too familiar with, and this is a more than appropriate platform to use to familiarize yourself with how others celebrate the holiday.
London Atlassian User Group - February 2014Steve Smith
Continuous deployment is causing organisations to rethink how they build and release software. Atlassian Bamboo is rapidly adding features to help with automating deployment, but there are a lot of other practical and organisational issues that need to be addressed when adopting this development model. The Atlassian business-platforms team has been dealing with these issues over the last few months as we transition our order system to continuous deployment. This talk will cover why we adopted this model, some of challenges we encountered, and the approaches and tools we used to overcome them.
DevOps Army of One - DevOps Days Silicon Valley 2015funjon
Despite the best of intentions, we sometimes find ourselves working on a team of size one. Groups shrink for many reasons: attrition, mergers and acquisitions, transfers, and financial distress. It's never comfortable being a Single Point of Failure, but how can you survive this state of non-redundancy? Are there any benefits to being a team of "me, myself, and I", or is it all a pit of despair? What kind of red flags should you be on the lookout for? And, most importantly, what compelling leverage can you try to use to encourage team growth back to a reasonable size?
At DevOps Days Silicon Valley 2015, I shared a series of unfortunate events that led to my current status: the Human SPoF; I also discussed some of the tactics I've used to survive. Automation, tools, and code-as-infrastructure are a force multiplier applied correctly, allowing one engineer to do the work of many. However, these wonders come with a price tag. I also covered some strategies to grow a team, and ways to maintain sanity while keeping the lights blinking and the disks spinning in a 24x7 real-time environment with over 2000 servers.
From POC to Spark Summit talk in under 12 months - how we selected Apache Spark as our main Data Engineering platform and deployed first large scale project using this technology.
Service Architectures At Scale - QCon London 2015Randy Shoup
Over time, almost all large, well-known web sites have evolved their architectures from an early monolithic application to a loosely-coupled ecosystem of polyglot microservices. While first-order goals are almost always driven by the needs of scalability and velocity, this evolution also produces second-order effects on the organization as well. This session will discuss modern service architectures at scale, using specific examples from both Google and eBay.
It covers some interesting -- and perhaps nonintuitive -- lessons learned in building and operating these sites. It concludes with a number of experience-based recommendations for other smaller organizations evolving to -- and sustaining -- an effective service ecosystem.
Reactive applications & reactive programming result in flexible, concise, performant code and are a superior alternative to the old thread-based programming model. The reactive approach has gained popularity for a simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in reactive terms, particularly when one realizes that we must be Reactive up and down the entire programming stack.
In this talk we’ll explore what it means to be ‘Reactive’. We’ll examine some of the more interesting tools available to us, some of which come from the Groovy community. Specifically we’ll cover Ratpack, RxGroovy, React, and RabbitMq - along with examples and a sample implementation. We’ll demonstrate how effectively they can work together at each level of the stack - from the front end, to the back end, to handling http requests and message queue events - and how easy it can be to go Reactive all the way down.
This webinar discusses the keys to success in scaling and measuring agile methods beyond a single team.
Damon Poole will discuss:
- The importance of Agile People, Agile Process, and Agile Tools
- The need to focus on measuring information which aids in decisions and actions.
- How the frequency of measurement is more important than accuracy
- Keys to scaling agile including: Agile tooling, test automation, self-healing and self-improvement mechanisms, a true understanding of Agile fundamentals, and one-piece-flow
- Important elements to measure success including: cycle time, story points forecast vs done, reduction of hardening time, work in progress, Net Promoter Score, and profits.
Read more at https://www.synerzip.com/webinar/scaling-and-measuring-agile-2/
How I Learned to Stop Worrying and Love Legacy Code.....Mike Harris
Legacy Code. I never wrote it; everybody else did!
How many times have you waded through an ageing, decaying, tangled forrest of code and wished it would just die?
How many times have you heard someone say that what really needs to happen is a complete rewrite?
I have heard this many times, and, have uttered that fatal sentence myself.
But shouldn’t we love our legacy code?
Doesn’t it represent our investment and the hard work of ourselves and our predecessors?
Throwing it away is dangerous, because, before we do, we’ll need to work out exactly what it does, and we’ll need to tweeze out that critical business logic nestled in a deeply entangled knot of IF statements. It could take us years to do, and we’ll have to maintain two systems whilst we do it, inevitably adding new features to them both. Yes we get to reimplement using the latest, coolest programming language, instead of an old behemoth, but how long will our new cool language be around, and who will maintain that code, when it itself inevitably turns to legacy?
We can throw our arms in the air, complaining and grumbling about how we didn’t write the code, how we would never have written it the way it is, how those that wrote it were lesser programmers, possibly lesser humans themselves, but the code still remains, staring us in the face and hanging around for longer that we could possibly imagine. We can sort it out, we can improve it, we can make it testable, and we can learn to love our legacy code.
Many presentations on Microservices offer a high level view; rarely does one hear what it’s like to work in such an environment. Individual services are somewhat trivial to develop, but now you suddenly have countless others to track. You’ll become obsessed over how they communicate. You’ll have to start referring to the whole thing as “the Platform”. You will have to take on some DevOps work and start learning about deployment pipelines, metrics, and logging.
Don’t panic. In this presentation we’ll discuss what we, at ThirdChannel, learned over the past four years. We’ll examine what a development lifecycle might look like for adding a new service, developing a feature, or fixing bugs. We’ll dive a bit into DevOps and see how one will become dependent on various metric and centralized logging tools, like Kubernetes and the ELK stack. Finally we’ll talk about team communication and organization… and how they are likely the most important tool for surviving a Microservices development team.
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupRandy Shoup
I have spent the last decade building large-scale systems at eBay and Google -- and talking publicly about it -- and this presentation is about why a startup should completely ignore what I said! In an early-stage startup, it is not only not worth architecting for a future of massive scale; it is actively counterproductive. This presentation from the SF Startup CTO Summit outlines the common architectural evolution of a startup through the search, execution, and scaling phases, and discusses the appropriate technologies and disciplines at each phase. It ends with some real-world examples from eBay, Twitter, and Amazon to illustrate the point.
Processing pipelines requirements change all the time. But porting a meaningful insight from Batch to Near Real Time can involve a lot of rework. In this introductory talk we will present the Beam Model and how it is implemented in Apache Beam, with specific examples meant to be used as recipes in your next developments. Finally we're going to showcase how to switch the underneath engine without changing a line of code.
Bio
Marc Gonzalez is a Freelance Data Engineer, associated with InnoIT Consulting. He has 5+ years of experience applying Big Data technologies to Classifieds World.
Presented in https://www.meetup.com/Barcelona-Apache-Beam-Meetup/events/266806458/
Do you want this talk privately delivered to your company? Visit https://hire.marcgonzalez.eu
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1mz2piq.
Damon Edwards explores the successful patterns - and damaging anti-patterns - observed at dozens of companies going through DevOps transformations. The main focus is on how Development teams can influence and take a leading role in the closing of the DevOps divide. Filmed at qconlondon.com.
Damon Edwards is the co-founder and managing partner of the DTO Solutions consulting group. Damon is also a frequent contributor to the Web Operations focused dev2ops.org blog, the co-host of the DevOps Cafe podcast series, and a co-author of the DevOps Cookbook from IT Revolution Press.
Last year, Stormpath made the big shift from Scrum to Kanban. While we love Agile principles, the Scrum process wasn’t working for us. Kanban made our team more efficient, happier, and increased our focus on quality software. More importantly, it has become a core part of our company culture, and is now used by non-technical teams like Marketing and HR.
Kanban software development focuses on continuous delivery and drives high efficiency by limiting how much work can be done at once. Invented by Toyota and modified by David J. Anderson for software development, Kanban can have a huge impact on modern teams delivering cloud software in continuous environments.
Craftsmanship is defined as a "Enduring, basic human impulse, the desire to do a job well for it's own sake" and starting from this definition we can highlight some of the specifics of the job as Programmer as well as the questions that arise over time when we get better in our jobs. Trying to answer this question brings interesting insights as old as ancient Greece and still valid for PHP today.
The Autism Society has been honoring National Autism Awareness Month since the 1970s. The United States recognizes April as a special opportunity for everyone to educate the public about autism and issues within the autism community.
For the month of December Staff Management | SMX's Diversity Program Inclusion Council (DPIC) is recognizing all of the national cultural holidays that we celebrate in the month of December. This issue of the DPIC newsletter will highlight other December Holidays that you may not be too familiar with, and this is a more than appropriate platform to use to familiarize yourself with how others celebrate the holiday.
Scaling Your Architecture for the Long TermRandy Shoup
This talk from the virtual 2020 CTO Summit (https://www.ctoconnection.com/summits) covers several architecture lessons to help you survive and thrive through the scaling phase of your company:
* Modular Architecture
* Event-Driven Communication
* Quality and Reliability
* Continuous Delivery
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
Continuous Integration, the minimum viable productJulian Simpson
What does it mean to 'do' Continuous Integration? It used to be enough to execute your unit tests in CI. But the bar is steadily raising for engineering practices. In the last decade we've seen tremendous improvements inacceptance testing. JavaScript is now a platform in it's own right. Cloudcomputing is now vital. There's growing interest in deployment to prod.So Continuous Integration is under more pressure than ever. As the bar slowly raises for engineering practices, we ll present 2011's minimum viable feature set for Continuous Integration
Architecting for Enterprise with JavaScriptKurtis Kemple
Enterprise JavaScript—business-critical applications powered by JavaScript—is a developing area that is starting to make waves in the tech industry. What makes enterprise JavaScript such an engaging topic is that there isn’t really a go-to source for understanding the differences between operating JavaScript at scale and in business-critical settings. Many developers, VPs, and CTOs are left guessing or scraping blog posts in order to try and make informed decisions with regard to JavaScript in a large organization.
Presented at JavaOne 2013, Tuesday September 24.
"Data Modeling Patterns" co-created with Ian Robinson.
"Pitfalls and Anti-Patterns" created by Ian Robinson.
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...Lucas Jellema
Closing keynote for the Tech Experience 2017 conference in Amersfoort, The Netherlands (16th June 2017). Touches upon the role of The Oracle Database in a changing landscape with NoSQL, CQRS, REST & JSON, Hadoop and Elastic Search. Discusses the gaps that Oracle professionals have to bridge in order to broaden their horizon and prepare for the (near) future. The session discusses the cloud - and how it will impact most organizations and Oracle specialists. It summarizes the main topics and themes from the Tech Experience 2017 conference.
Presented at STPcon 2011 on leveraging your automated tests by putting them under CI. Covers value proposition of CI, challenges to implement, and ideas for scaling.
Best Practices for WordPress in EnterpriseTaylor Lovett
10up open sourced their WordPress Best Practices (PHP, JavaScript, tools, and workflows) in late 2014. As the Director of Web Engineering at 10up, I drove this project and am the lead contributor to the docs. These Best Practices allow developers to build sites that scale, perform, and are secure one sites receiving millions of page views per day. They also standardize development practices in such a way that facilitates team collaboration. This talk will highlight some important parts of the Best Practices and reveal some valuable tips about how we (10up) engineer some of the most complex and most viewed WordPress sites in the world.
Back2 basics - A Day In The Life Of An Oracle Analytics QueryChristian Berg
Oracle BI is in use for years, has gone through many iterations, and is widespread across projects around the globe. Millions of analyses have been created, deployed, and run billions of times. The actual lifecycle of an Oracle BI query from its inception through to the effective delivery of results may therefore be regarded as a given commodity not requiring a closer look. Few people have regarded an OBI query from this point of view: "How does it get constructed? How does it get translated between the different architectural components and the RPD layers? How, through what, and where does its lifecycle get influenced? Where can we as users/developers/administrators actively intervene with its makeup and structure? Why do we genuinely have to have an understanding of the subtleties of the lifecycle to create successful BI solutions?"
Choosing Javascript Libraries to Adopt for DevelopmentEdward Apostol
"Sorting out the JS Mess" was the title of my sample presentation I led at @Red Academy, talking about how the history of the development workflow with Javascript and how it influences what tools, libraries and steps we take to develop web and mobile apps. I featured a demo using React, and discussed Angular 2, JQuery, Meteor, and other Javascript libraries and frameworks from the context of my development experience.
From Zero to Hero, how to become a Master of Puppets - Nick CunninghamAtlassian
In this session you will learn how Puppet Labs, cleaved its helpdesk from its general Operations and created a dedicated Service Desk team. Nick will share their planning process and lessons learned, but more importantly, how having a Service Desk triage Operations tickets makes your Service Desk smarter and Operations team better. Take aways from the session include: Things to consider when planning your Service Desk, Problems faced setting up a Service Desk and how to overcome them, How to configure your Customer Portal to minimize triage time and make your team more productive, Ways to encourage self-service amongst your users to empower them and reduce inbound tickets
Ten query tuning techniques every SQL Server programmer should knowKevin Kline
From the noted database expert and author of 'SQL in a Nutshell' - SELECT statements have a reputation for being very easy to write, but hard to write very well. This session will take you through ten of the most problematic patterns and anti-patterns when writing queries and how to deal with them all. Loaded with live demonstrations and useful techniques, this session will teach you how to take your SQL Server queries mundane to masterful.
Premature optimisation: The Root of All EvilFabio Akita
Presentation for the 18th Encontro Locaweb in Curitiba in May, iMasters' DevCommerce and Open Spree Conference in June. It's about how most developers think wrong whey they are making decisions about technologies to choose.
DevCommerce Conference 2016: Performance, anti-patterns e stacks pra desenvol...iMasters
Fabio Akita, Co-Founder da Codeminer 42, palestrou sobre "Performance, anti-patterns e stacks pra desenvolver e-commerce, com cases reais", no DevCommerce Conference 2016.
O DevCommerce Conference 2016 aconteceu nos dias 06 e 07 de junho de 2016, no Hotel Tivoli em São Paulo-SP http://devcommerce2016.imasters.com.br/
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
Cosmetic shop management system project report.pdf
Surviving your frontend (WIP - Sneak Peak)
1. WHAT A MILLIONS LOC OF HTML, JS AND PHP TAUGHT ME
SURVIVING YOUR
FRONT-END
2. WHOIS SEBASTIAN SCHÜRMANN
• Coder for about 15 years
• All things agile since 2004
• Agile Coaching, some consulting and freelance
development
• http://dissident-trainings.de
7. „You don't have to be a genius or a visionary or
even a college graduate to be successful. You just
need a framework and a dream.“
–MICHAEL DELL
8. REALITY IS LIKE …
VENN DIAGRAM OF MY WORK WEEK
http://cssquirrel.com/
9.
10.
11.
12.
13.
14.
15. • Specifications are very roughly prepared for front-ends
• The crafty side of development, modularization and
testing is neglected
• Standards are not set and/or followed
• The fact that a javascript front-end is the client to a
server application is often overlooked
• Front-end code is often thought as throw away.
17. ABRAHAM KAPLAN
TOOLS
„GIVE A SMALL BOY A HAMMER, AND
HE WILL FIND THAT EVERYTHING H E
ENCOUNTERS NEEDS POUNDING. “
18. A INCOMPLETE …..
HISTORY OF JS FRAMEWORKS
jQuery
baconJS
XUL prototype
AngularJS
2002 2014
mootools rxJS
backbone.js
19. I WAS ONCE TOLD JQUERY WAS THE
THING ….. IN 2006
20. BUILD IT
• Repeating tasks by hand is
prone to errors
• Build, test and release is
complex in 2014
• You want to see the „final“
result
• Fast feedback!
• Make the build FAST!
21. TEST IT
• Always be testing
• Using tests is faster than
developing in the browser
• Setup is often a pain
• How many browsers do
you support?
22. MODULARIZE
I T !
• Single responsibility
• Different job, different
behavior
• Build and test for this
component
• CI/CD for this component
• Assets -> Component
23. SCAFFOLD IT!
• You will be creating a lot of
modules/components
• They should follow a
consistent structure
• Creating this by hand is
error prone and waste of
time
24. RECREAT E I T
• A front needs a back(-end)
• I am not a expert in
backends per se
• Especially not in your
backend
• But I needz it for
validation!
25. MEASURE IT
• Analytics is key
• Not only (rendering) speed
• Know your KPI’s
• Is it still working?
• Track errors!
• Can you prove it?
26. CONCLUSION TOOLS
• Hipster frameworks? Cargo cult?
• Learn and use the tools for automation. Create a
„monkey task list“ and automate one task a day
• It’s 2014, you will be testing, get over it!
27. RICHARD SENNETT, THE CRAFTSMAN
CRAFT
“CRAFTSMANSHIP NAMES AN ENDURING,
BASIC HUMAN IMPULSE, THE DESIRE TO
DO A JOB WELL FOR ITS OWN SAKE.”
28. COMPLETENESS
THE STORY OF THE
LOADING INDICATOR!
JIRA #1235
THE LOADING INDICATOR IN THE FRIEND
SEARCH IS NOT GOING AWAY
30. THE FALLACIES OF DISTRIBUTED
COMPUTING
• The network is reliable.
• Latency is zero.
• Bandwidth is infinite.
• The network is secure.
• Topology doesn't change.
• There is one administrator.
• Transport cost is zero.
• The network is homogeneous.
31. THE FALLACIES OF DISTRIBUTED
COMPUTING
• The network is reliable.
• Latency is zero.
• Bandwidth is infinite.
• The network is secure.
• Topology doesn't change.
• There is one administrator.
• Transport cost is zero.
• The network is homogeneous.
1994
32. COMPLETENESS
$.AJAX AND THE FALLACIES OF
DISTRIBUTED COMPUTING
ERROR? WHICH ERROR
TIMEOUT?
EXACTLY?
500 404
34. JIRA #1235
SOLUTION: ON ERRORCODE 500 GO TO
USER HOME (SESSION IS RESTARTED
THERE)
35. NIH - NOT INVENTED HERE
THE STORY OF THE
FORM VALIDATOR
JIRA #1236
IMPLEMENT A VALIDATION IN
REGISTRATION FORM SO THAT USERS
GET FASTER FEEDBACK IF HOME
ADDRESS IS OK
36. Not invented here (NIH) is the philosophy of
social, corporate, or institutional cultures that avoid
using or buying already existing products,
research, standards, or knowledge because of their
external origins and costs. The reasons for not
wanting to use the work of others are varied, but
can include fear through lack of understanding, an
unwillingness to value the work of others, or
forming part of a wider "turf war"
–WIKIPEDIA VIA
HTTP://WWW.WIKIWAND.COM/EN/
NOT_INVENTED_HERE
37. JIRA #1236
IMPLEMENT A VALIDATION IN
REGISTRATION FORM SO THAT USERS
GET FASTER FEEDBACK IF HOME
ADDRESS IS OK
JIRA #1236 COMMENT
IMPLEMENT OWN SOLUTION BASED ON
REGEX TO VALIDATE FORM
38. DEVELOPMENT TAKES 2
WEEKS
ADDING ANOTHE R S T R E E T A/ 1
LIB FOR REGEXP
1 STREET
STREET
X-BROWSER
NO STREET AT ALL
I PAD Y U NO BLUR?
41. A REWRITTEN
MODULE
• Passes all the same unit
tests and then some.
• Is a demonstrably better
solution to the problem
addressed by the original
• Makes the developer of the
original module go "Ooooo,
why didn't I think of that?“
• Has fewer lines.
A REINVENTED
MODULE
• Has different (but maybe
fewer) bugs.
• Behaves differently (but NOT
more correctly) with
boundary cases.
• Had code that does things
differently for stylistic reasons
rather than function.
• May support some lame
excuse to have more lines.
42. QUALITY
THE STORY OF THE
REWRITE
JIRA EPIC #5
REWRITE ADMIN SITE AND APP FOR
SHOP OWNERS
45. WHY?
• Technology changes
• We make mistakes
• We get better & new ideas
• New features (added fast)
• Code rot
• Hurry?
• Wrong specs?
• Saving on QA anyone?
47. BIG BALL OF MUD
THE STORY O F T H E 1 2 0
MEGABYTE CHECKOUT
DAY 1 AT A CUSTOMER PROJECT
48. „Big ball of mud" systems have usually been
developed over a long period of time, with
different individuals working on various pieces
and parts. Systems developed by people with no
formal architecture or programming training often
fall into this pattern“
–CITATION NEEDED
49. „Another reason leading to produce this kind of
system is when managers put pressure on
developers and come with incremental micro
requirements instead of providing a clear
description of the problem to be solved“
–CITATION NEEDED
50. „Foote and Yoder do not universally condemn
"big ball of mud" programming, pointing out that
this pattern is most prevalent because it works —
at least at the moment it is developed.
However, programs of this pattern become
maintenance nightmares“
–CITATION NEEDED
51. „Programmers in control of a big ball of mud
project are strongly encouraged to study it and to
understand what it accomplishes, and to use this
as a loose basis for a formal set of requirements
for a well-designed system that could replace it.
Technology shifts – such as client-server to web-based
or file-based to database-based – may
provide good reasons to start over from
scratch“
–CITATION NEEDED
53. • Javascript / Coffeescript with
close to 0 comments
• JS == no namespaces
(header.js vs. header.js)
• 194 Tests
• > 5K Coding style validations
• lcov only for js
• Setup took a day (from 16
billed)
• Fixing „npm test“ another one
• JS Tests not in CI
• NPM install failed at first
54. DIRTY TRICKS
• Use small components that do
one job
• Decouple the front-end from
backend for development
• keep the integration/master
building
• adhere to your fucking
standards (or you have none at
all)
• Integration and deployment is
part of development
• Let the dev change the build
chain as well
VS
55. RICHARD SENNETT, THE CRAFTSMAN
„… THERE IS TROUBLE CAUSED
BY CONFLICTING MEASURES OF
QUALITY, ONE BASED ON
CORRECTNESS, THE OTHER ON
PRACTICAL EXPERIENCE”
PRACTICES
57. • On every machine
• For every dev
• Build and re-build on CI
• Invest in CI and CD
• Adopt the culture
• This is why a Ops person
IN a team is so important
• checkout, build, code, test,
commit, deploy, validate
(fast)
ONE BUTTON TEST
ONE BUTTON BUILD
ONE BUTTON DEPLOY
60. WHY IS BUG FIXING SO
EXPENSIVE?
• Bugs costs it self
• Other work has to be
delayed
• Many departments in loop
100
75
50
25
• Risk of new bugs 0
Design Implementation Testing Bugfixing
61. THE CHEAPEST
QA TOOLS
• Flipchart / Whiteboard
• Stories / Specs
• Specifications derived
from examples
• QA is part of the whole
development process
62. WHERE IS YOUR BLIND
SPOT?
Testing quadrant - stolen from @lisacrispin
64. FROM DESIGN TO DEPLOYMENT
RESPONSIBILITY FOR
THE WHOLE PROCESS
65. (A EXTREME) DEFINITION OF DONE
• When tests pass
• When integrated
• When deployable build
• When deployed
• When measurably delivering value
http://www.xpdays.de/2014/downloads/002-extreme-continuous-delivery-at-unruly/cd_javaone.pdf
66. FAI L
TDD DEPLOYMENT
FEEDBACK
DE P LOY PAS S R E FACTOR PAS S
http://www.xpdays.de/2014/downloads/002-extreme-continuous-delivery-at-unruly/cd_javaone.pdf