This talk describes how to get involved in open-source as a way to break the Catch-22 of "to get a job you need experience. to get experience you need a job." Presented at the WOU Computer Science club in January 2015.
Test-driven development (TDD) is a software development process where test cases are developed before code to validate requirements. The TDD process involves repeatedly writing a test, making it fail, then writing code to pass the test and refactoring code. TDD results in code with fewer defects, quicker feedback, and requirements that drive design. Tests cover valid and invalid inputs, errors, boundaries, and everything that could break. TDD improves development cycles, defects, documentation, and competitive advantage for businesses.
This document discusses software testing and outlines the development planning process. It describes project requirement documents, wireframes, and mockups. Wireframes provide the basic structure and layout, while mockups add color and graphics. The document then defines software testing as evaluating a system to find errors and ensure it meets requirements. Different types of testing are outlined, including full regression testing, ad-hoc testing, and retesting. Causes of software defects and how testing improves quality are also summarized.
The Test Coverage Outline: Your Testing Road MapTechWell
To assist in risk analysis, prioritization of testing, and test reporting (telling your testing story), you need a thorough Test Coverage Outline (TCO)—a road map of your proposed testing activities. By creating a TCO, you can prepare for testing without having to create a giant pile of detailed test cases. Paul Holland says that a comprehensive TCO helps the test team to get buy-in for the overall test strategy very early in the project and is valuable for identifying risk areas, testability issues, and resource constraints. Paul describes how to create a TCO including the use of heuristic-based checklists to help ensure you don’t overlook important elements in your testing. Learn multiple approaches for critical information gathering, the artifacts used as input for creating a TCO, and how you can use a TCO to maintain testing focus. Take back a new, lightweight tool to help you tell the testing story throughout your project.
The document provides an overview of agile and test-driven development. It begins by comparing waterfall and agile approaches, noting that agile uses short iterative cycles. It then defines agile as iterative and incremental, with continual revisiting of requirements and design. Common agile methodologies like Scrum and extreme programming are discussed. Test-driven development is introduced as writing tests before code to ensure requirements are met and prevent bugs. The benefits of agile and TDD for developers are more code proven to meet requirements and less time spent debugging.
Although all of us speak the same language, each of us uses different meaning of words "soon”, "fine” and "done”. That’s why for one developer "I’m done” means that just a moment ago the part of the code with implemented functionality has been successfully executed, while for another developer it means that code has been committed to repository but without checking if build is green or not on continuous integration server. At the same time "done" of developer-perfectionist means totally refactored and optimized code. And only for "black swan”-developer phrase "I'm done“ means that all tests were passed, new functionality was documented on wiki and a new feature was verified by customer on the demo server.
So if you want to decrease a risk of misunderstanding inside a team or between team and customer you should make agreement about common vision of “definition of done“ and then start using it on a daily basis. In order to prevent losing your time and stepping on the hidden rake during discussion of your done criteria we will share our knowledge about creating compact and most effective “definition of done“. We will talk about lifecycle of this document and about approaches that help you to add important items to it. We will discuss doneness on different levels (preplanning, user story and task development, sprint). And of course we won’t forget to tell you how to create “Definition of Done“ which will satisfy not only your team but your customer as well.
Nikolay Alimenkou and Aleksey Solntsev will show how to migrate from Ant project to Maven2 project and start using full power of XP engineering practices: CI, TDD, refactoring.
This document provides an overview of exploratory testing. It discusses how exploratory testing involves simultaneous test design, execution, and learning. Exploratory testing is tester-centric and relies on heuristics. The tester explores the product by playing around with different features and inputs, looking for anything unusual. Their testing is guided by mental engagement techniques like alternation and branching. Exploratory testing can involve different levels of documentation and formality. It is focused on revealing new information rather than just confirming existing knowledge.
This talk describes how to get involved in open-source as a way to break the Catch-22 of "to get a job you need experience. to get experience you need a job." Presented at the WOU Computer Science club in January 2015.
Test-driven development (TDD) is a software development process where test cases are developed before code to validate requirements. The TDD process involves repeatedly writing a test, making it fail, then writing code to pass the test and refactoring code. TDD results in code with fewer defects, quicker feedback, and requirements that drive design. Tests cover valid and invalid inputs, errors, boundaries, and everything that could break. TDD improves development cycles, defects, documentation, and competitive advantage for businesses.
This document discusses software testing and outlines the development planning process. It describes project requirement documents, wireframes, and mockups. Wireframes provide the basic structure and layout, while mockups add color and graphics. The document then defines software testing as evaluating a system to find errors and ensure it meets requirements. Different types of testing are outlined, including full regression testing, ad-hoc testing, and retesting. Causes of software defects and how testing improves quality are also summarized.
The Test Coverage Outline: Your Testing Road MapTechWell
To assist in risk analysis, prioritization of testing, and test reporting (telling your testing story), you need a thorough Test Coverage Outline (TCO)—a road map of your proposed testing activities. By creating a TCO, you can prepare for testing without having to create a giant pile of detailed test cases. Paul Holland says that a comprehensive TCO helps the test team to get buy-in for the overall test strategy very early in the project and is valuable for identifying risk areas, testability issues, and resource constraints. Paul describes how to create a TCO including the use of heuristic-based checklists to help ensure you don’t overlook important elements in your testing. Learn multiple approaches for critical information gathering, the artifacts used as input for creating a TCO, and how you can use a TCO to maintain testing focus. Take back a new, lightweight tool to help you tell the testing story throughout your project.
The document provides an overview of agile and test-driven development. It begins by comparing waterfall and agile approaches, noting that agile uses short iterative cycles. It then defines agile as iterative and incremental, with continual revisiting of requirements and design. Common agile methodologies like Scrum and extreme programming are discussed. Test-driven development is introduced as writing tests before code to ensure requirements are met and prevent bugs. The benefits of agile and TDD for developers are more code proven to meet requirements and less time spent debugging.
Although all of us speak the same language, each of us uses different meaning of words "soon”, "fine” and "done”. That’s why for one developer "I’m done” means that just a moment ago the part of the code with implemented functionality has been successfully executed, while for another developer it means that code has been committed to repository but without checking if build is green or not on continuous integration server. At the same time "done" of developer-perfectionist means totally refactored and optimized code. And only for "black swan”-developer phrase "I'm done“ means that all tests were passed, new functionality was documented on wiki and a new feature was verified by customer on the demo server.
So if you want to decrease a risk of misunderstanding inside a team or between team and customer you should make agreement about common vision of “definition of done“ and then start using it on a daily basis. In order to prevent losing your time and stepping on the hidden rake during discussion of your done criteria we will share our knowledge about creating compact and most effective “definition of done“. We will talk about lifecycle of this document and about approaches that help you to add important items to it. We will discuss doneness on different levels (preplanning, user story and task development, sprint). And of course we won’t forget to tell you how to create “Definition of Done“ which will satisfy not only your team but your customer as well.
Nikolay Alimenkou and Aleksey Solntsev will show how to migrate from Ant project to Maven2 project and start using full power of XP engineering practices: CI, TDD, refactoring.
This document provides an overview of exploratory testing. It discusses how exploratory testing involves simultaneous test design, execution, and learning. Exploratory testing is tester-centric and relies on heuristics. The tester explores the product by playing around with different features and inputs, looking for anything unusual. Their testing is guided by mental engagement techniques like alternation and branching. Exploratory testing can involve different levels of documentation and formality. It is focused on revealing new information rather than just confirming existing knowledge.
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities done in parallel: learning, test design, and test execution. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. Jon Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. Jon focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
The Development Graveyard: How Software Projects DieErika Barron
Learn the top 5 reasons why software projects fail. The scariest part is that the failure causes are easily avoidable - yet as IT professionals, we continue to make life more difficult than it really needs to be.
This document discusses how to improve software quality through code reviews. It begins by stating the goals of code review, such as improving code quality, sharing knowledge, and educating developers. It then discusses classification of code reviews from less to more formal. The document outlines some best practices for code reviews, including having a reviewer and author, choosing reviewers strategically, and driving the review in different ways. It provides answers to common questions about organizing effective code reviews and leaves with tips, such as tracking reviewers, using checklists, and ensuring comfortable conditions for all.
This document provides an overview of exploratory testing techniques. It discusses that exploratory testing involves simultaneous learning, test design, and test execution. Exploratory testing is tester-centric and focuses on problem solving strategies like heuristics rather than scripts. The document dispels some myths about exploratory testing, including that it is unstructured and cannot involve documentation. It provides examples of how documents can be used for reflection, information sharing, and reporting in exploratory testing.
The document discusses unit testing SharePoint apps. It introduces the speaker and outlines that he will cover unit testing 101, tools for unit testing SharePoint apps, and examples. Some key points that will be discussed are how unit testing can reduce pain and improve productivity by shortening the feedback cycle. The document also notes that while SharePoint may seem untestable, isolation frameworks can help test SharePoint code in isolation without touching a live system. Finally, the document lists some resources for isolation frameworks and invites questions.
This document provides an introduction to test-driven development (TDD), including its goals, benefits, and challenges. TDD is an iterative, test-first approach to development where functionality and behavior are defined by tests. Tests are written before code and define the desired API and design. Benefits of TDD include reduced defects, increased initial development time, and easier refactoring and collaboration. Adopting TDD requires practice and a focus on good design principles like separation of concerns.
The Party Keynote from GOTO Berlin 2014, about how to stay ahead of the technology curve when you're bombarded with terms like NoSQL, HTML5, Lambdas and so forth.
More details here: http://trishagee.github.io/presentation/staying_ahead_of_the_curve/
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
The document discusses Behavior Driven Development (BDD) and how it can help increase quality and prepare an organization for increased business demands. It describes BDD as an industry practice where the whole team collaborates on system testing and definition of done. BDD promotes requirements using examples, collaboration between roles, finding defects earlier and more often through automation, and keeping technical debt low.
The document discusses whether the Groovy programming language is better than Java for testing. It outlines some of the pros and cons of each approach. While Java and JUnit tests are performant and well-supported, Groovy and the Spock testing framework make tests more readable, easier to write, and help describe expected system behavior through features like mocking and hamcrest matchers. Migrating existing Java tests to Groovy would require learning a new language but allow exploring its testing advantages without impacting production code. In conclusion, both have tradeoffs and the best approach depends on the specific project needs and developer preferences.
This document discusses improving the software development workflow by moving test planning earlier. It proposes defining acceptance criteria during feature planning to help test cases be "born" earlier. This would help avoid misunderstandings later on. It also advocates for more collaboration through daily stand-ups to catch issues early and learn from failures. The goal is to reduce bottlenecks and workload by improving planning, collaboration, and shifting left testing activities.
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities done in parallel: learning, test design, and test execution. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. James Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. James focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
Critical thinking is the kind of thinking that specifically looks for problems and mistakes. Regular people don't do a lot of it. However, if you want to be a great tester, you need to be a great critical thinker. Critically thinking testers save projects from dangerous assumptions and ultimately from disasters. The good news is that critical thinking is not just innate intelligence or a talent—it's a learnable and improvable skill you can master. Michael Bolton shares the specific techniques and heuristics of critical thinking and presents realistic testing puzzles that help you practice and increase your thinking skills. Critical thinking begins with just three questions—Huh? Really? and So?—that kick start your brain to analyze specifications, risks, causes, effects, project plans, and anything else that puzzles you. Join Michael for this interactive, hands-on session and practice your critical thinking skills. Study and analyze product behaviors and experience new ways to identify, isolate, and characterize bugs.
I believe that our existing models of testing are not fit for purpose – they are inconsistent, controversial, partial, proprietary and stuck in the past. They are not going to support us in the rapidly emerging technologies and approaches. The certification schemes that should represent the interests and integrity of our profession don’t, and we are left with schemes that are popular, but have low value, lower esteem and attract harsh criticism. My goal in proposing the New Model is to stimulate new thinking in this area.
eurostarconferences.com
testhuddle.com
The presentation is about earning money from/through OpenSource software.
Date: April 4th, 2015
Event: WordPress Meetup #7 in Saint Petersburg, Russia
Language: Russian
All graphic materials were found on the Internet and are solely used for non-profit purposes. If use of some materials damage any of your rights please contact the author.
This document discusses image processing software and provides instructions for using Photofilter software. It defines Photofilter as an image editing software that offers filters, effects and simple tools for retouching, drawing and selecting within images. The document then details how to start Photofilter and describes the basic interface, which includes a title bar, menu bar, tools bar, color palette, tools palette, selection tools palette and status bar. It concludes by providing steps to create a new document in Photofilter by choosing "File > New" and defining dimensions and resolution.
1. The document discusses work teams and contrasts them with work groups, noting that work teams have collective performance goals, share information, and generate positive synergy through coordinated effort.
2. It then outlines the characteristics of successful work teams, including clear goals, mutual trust, good communication, and effective leadership.
3. The document concludes with a discussion of how managers can build trust within teams and how organizations can develop good team members.
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities done in parallel: learning, test design, and test execution. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. Jon Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. Jon focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
The Development Graveyard: How Software Projects DieErika Barron
Learn the top 5 reasons why software projects fail. The scariest part is that the failure causes are easily avoidable - yet as IT professionals, we continue to make life more difficult than it really needs to be.
This document discusses how to improve software quality through code reviews. It begins by stating the goals of code review, such as improving code quality, sharing knowledge, and educating developers. It then discusses classification of code reviews from less to more formal. The document outlines some best practices for code reviews, including having a reviewer and author, choosing reviewers strategically, and driving the review in different ways. It provides answers to common questions about organizing effective code reviews and leaves with tips, such as tracking reviewers, using checklists, and ensuring comfortable conditions for all.
This document provides an overview of exploratory testing techniques. It discusses that exploratory testing involves simultaneous learning, test design, and test execution. Exploratory testing is tester-centric and focuses on problem solving strategies like heuristics rather than scripts. The document dispels some myths about exploratory testing, including that it is unstructured and cannot involve documentation. It provides examples of how documents can be used for reflection, information sharing, and reporting in exploratory testing.
The document discusses unit testing SharePoint apps. It introduces the speaker and outlines that he will cover unit testing 101, tools for unit testing SharePoint apps, and examples. Some key points that will be discussed are how unit testing can reduce pain and improve productivity by shortening the feedback cycle. The document also notes that while SharePoint may seem untestable, isolation frameworks can help test SharePoint code in isolation without touching a live system. Finally, the document lists some resources for isolation frameworks and invites questions.
This document provides an introduction to test-driven development (TDD), including its goals, benefits, and challenges. TDD is an iterative, test-first approach to development where functionality and behavior are defined by tests. Tests are written before code and define the desired API and design. Benefits of TDD include reduced defects, increased initial development time, and easier refactoring and collaboration. Adopting TDD requires practice and a focus on good design principles like separation of concerns.
The Party Keynote from GOTO Berlin 2014, about how to stay ahead of the technology curve when you're bombarded with terms like NoSQL, HTML5, Lambdas and so forth.
More details here: http://trishagee.github.io/presentation/staying_ahead_of_the_curve/
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
The document discusses Behavior Driven Development (BDD) and how it can help increase quality and prepare an organization for increased business demands. It describes BDD as an industry practice where the whole team collaborates on system testing and definition of done. BDD promotes requirements using examples, collaboration between roles, finding defects earlier and more often through automation, and keeping technical debt low.
The document discusses whether the Groovy programming language is better than Java for testing. It outlines some of the pros and cons of each approach. While Java and JUnit tests are performant and well-supported, Groovy and the Spock testing framework make tests more readable, easier to write, and help describe expected system behavior through features like mocking and hamcrest matchers. Migrating existing Java tests to Groovy would require learning a new language but allow exploring its testing advantages without impacting production code. In conclusion, both have tradeoffs and the best approach depends on the specific project needs and developer preferences.
This document discusses improving the software development workflow by moving test planning earlier. It proposes defining acceptance criteria during feature planning to help test cases be "born" earlier. This would help avoid misunderstandings later on. It also advocates for more collaboration through daily stand-ups to catch issues early and learn from failures. The goal is to reduce bottlenecks and workload by improving planning, collaboration, and shifting left testing activities.
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities done in parallel: learning, test design, and test execution. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. James Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. James focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
Critical thinking is the kind of thinking that specifically looks for problems and mistakes. Regular people don't do a lot of it. However, if you want to be a great tester, you need to be a great critical thinker. Critically thinking testers save projects from dangerous assumptions and ultimately from disasters. The good news is that critical thinking is not just innate intelligence or a talent—it's a learnable and improvable skill you can master. Michael Bolton shares the specific techniques and heuristics of critical thinking and presents realistic testing puzzles that help you practice and increase your thinking skills. Critical thinking begins with just three questions—Huh? Really? and So?—that kick start your brain to analyze specifications, risks, causes, effects, project plans, and anything else that puzzles you. Join Michael for this interactive, hands-on session and practice your critical thinking skills. Study and analyze product behaviors and experience new ways to identify, isolate, and characterize bugs.
I believe that our existing models of testing are not fit for purpose – they are inconsistent, controversial, partial, proprietary and stuck in the past. They are not going to support us in the rapidly emerging technologies and approaches. The certification schemes that should represent the interests and integrity of our profession don’t, and we are left with schemes that are popular, but have low value, lower esteem and attract harsh criticism. My goal in proposing the New Model is to stimulate new thinking in this area.
eurostarconferences.com
testhuddle.com
The presentation is about earning money from/through OpenSource software.
Date: April 4th, 2015
Event: WordPress Meetup #7 in Saint Petersburg, Russia
Language: Russian
All graphic materials were found on the Internet and are solely used for non-profit purposes. If use of some materials damage any of your rights please contact the author.
This document discusses image processing software and provides instructions for using Photofilter software. It defines Photofilter as an image editing software that offers filters, effects and simple tools for retouching, drawing and selecting within images. The document then details how to start Photofilter and describes the basic interface, which includes a title bar, menu bar, tools bar, color palette, tools palette, selection tools palette and status bar. It concludes by providing steps to create a new document in Photofilter by choosing "File > New" and defining dimensions and resolution.
1. The document discusses work teams and contrasts them with work groups, noting that work teams have collective performance goals, share information, and generate positive synergy through coordinated effort.
2. It then outlines the characteristics of successful work teams, including clear goals, mutual trust, good communication, and effective leadership.
3. The document concludes with a discussion of how managers can build trust within teams and how organizations can develop good team members.
The summary provides an overview of the MSU PRSSA general meeting:
- The meeting included presentations from professionals on networking and building professional connections.
- Upcoming volunteer opportunities and fundraising events were announced, including involvement in Homecoming and Oktoberfest.
- The PR Apprentice team was announced and members were encouraged to contribute ideas to help reach out to potential foster parents.
- Opportunities were provided for members to get published in the chapter's magazine and volunteer with the Red Cross.
- Applications were made available for interviews with a leading PR agency in October.
The summary provides information about upcoming events for MSU PRSSA including a bone marrow registration drive, volunteering for Make A Difference Day, a workshop on self-branding, and picking up free t-shirts to promote FRIB Frenzy Day. It also recognizes the September Member of the Month and provides details on media internship and career opportunities with radio and advertising companies.
The document provides guidance for novice software testers on creating a portfolio to demonstrate their skills and experience to potential employers. It recommends including examples of bugs found, complex projects tested, and automation frameworks created. It suggests gaining experience by contributing to open source projects or crowdsourced testing websites, describing the process for finding a suitable project and submitting useful bug reports. The portfolio helps novice testers gain real-world experience to overcome the "beginner paradox" of needing experience to get a job.
This presentation provides guidance for novice testers on creating a portfolio to demonstrate their skills and experience to potential employers. It recommends including examples of bugs found, technologies tested, and test designs. Open source and crowdsourced testing are suggested as ways to gain experience without a testing job by contributing to projects on sites like SourceForge and uTest. Guidelines are provided on selecting projects, reading documentation, testing, reporting bugs, and following up to learn. Testers are encouraged to think about and document their testing processes.
Lode Palle Keeping Pace with Software-Developing Techniques..pptxLode Emmanuel Palle
Staying updated with new software-developing techniques is crucial in today’s fast-paced technological landscape. Here are some effective strategies of Lode Palle to ensure you stay ahead of the curve.
https://lodeemmanuelpalle.tumblr.com/post/722635395255451648/lode-palle-keeping-pace-with-software-developing
John Paz is a senior content designer and technical writer with over 11 years of experience across multiple industries and roles. He discusses the importance of both domain knowledge about the products being documented as well as craft knowledge of the tools used to write technical documentation. He outlines several categories of tools commonly used by technical writers, including word processors, help authoring tools, image editors, UX design tools, developer tools, project tracking tools, and video editing tools. These tools vary in their applicability, complexity, availability, and value for technical writers.
Michael Widenius provided an overview of how to successfully create an open source project. He discussed the importance of having an active community, transparency in development, and getting the product used in production early on. Widenius also covered different business models for open source like dual licensing, services models, and donations/crowdfunding. The key is finding a sustainable way to fund development while allowing users freedom under an open source license.
This document provides guidance for interning at startups. It emphasizes that startups are different than large companies and interning will change interns. It includes tips for preparing like reading about startups and building portfolio projects. The document lists 50 experimental projects interns can tackle and provides schedules of internship application periods. It also shares advice from past interns about learning to take action and work without strict hierarchies in startups.
Getting Involved in Open Source - Matthew TurlandMatthew Turland
1) The document discusses getting involved in open source projects through the Acadiana Open Source Group.
2) Open source refers to software with source code that is openly shared and can be modified. Examples of popular open source software are given.
3) There are many benefits to getting involved in open source including improving software, building a support community, and gaining experience for career development.
This document discusses various tools and tactics for prototyping and user testing. It begins by explaining how prototyping during the discovery phase can help validate problems and assumptions. It then discusses using prototyping to test multiple solutions and gain insights to support design decisions. Finally, it provides an overview of different prototyping methods and considerations for tools, fidelity, audience, and platform.
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...UserZoom
Today you will learn about a method called think out loud. Specifically, you will learn how to conduct a think out loud study with a prototype.
After this session you will be able to:
Know when to use a think out loud study
Know the type of data you can collect with a think out loud
Create a think out loud study in UserZoom
Interpret the results of a think out loud
Effective software development management requires having a clear minimum viable product plan, getting early user feedback, and establishing good processes. It is important to start as small as possible, focus on solving user problems rather than preconceived solutions, and plan for the long-term evolution and support of the product over years. Key aspects include having a good development team, using agile methodologies, peer code reviews, documentation, and tracking bugs and feedback over the lifetime of the project.
Join Engineering Manager, Prachi Gupta and Principal Engineer, Neha Narkhede for an interactive session of personalized advice on technical interview techniques, resume writing skills and gaining extra-curricular experience that makes you stand out.
InnerSourcing - Worldwide enterprise development teams collaborationJulian Werba
Why companies fail
Build a worldwide development community within the company
Boost collaboration and creativity
Increase Quality, Speed and Savings
Do you wanna know how?
The document discusses Lean Startup principles for developing products, including building the minimum viable product (MVP) and getting customer feedback early in the development process. It provides an overview of concepts like customer development, product/market fit, and pivoting. The rest of the document demonstrates how to apply these principles through examples of developing personas, conducting product discovery research, and outlining the new product development process with Lean in mind.
Open Source Product Management with KEMP Tech's PMProduct School
This document discusses open source product management. It begins by defining open source software as software where the source code is publicly available under an open source license. It then discusses who uses open source including individuals, communities, customers, and corporations. It outlines different business models for open source including pure open source, community open source, subscription models, and multi-license models. Finally, it discusses how to successfully manage an open source project through governance, licensing, usability, communication, and community building.
An intro to Open Source Product Management or "A PM’s primer on leftist software development models."
This presentation outlines Product Management in open source and outlines enterprise open source product management techniques, best practices in the space, licensing models and other topics that may be of interest to people working in software.
The document discusses open source software, noting that open source code is available for free modification and customization without licensing restrictions, allowing users to participate in development. It outlines benefits like choice of vendors, access to source code, and fast updates. The document states that more companies and large corporations are adopting open source solutions that are expanding into new domains and increasing reliability. Examples of available open source operating systems, office suites, development tools, databases, and utilities are provided. The document also discusses opportunities for developers and students participating in open source projects through searching, downloading, testing, submitting fixes, and requesting developer access from project administrators.
IDCEE 2013: How to do a successful company around open source - Michael Widen...IDCEE
http://idcee.org/p/michael-widenius-monty/
Monty is creator and original developer of MySQL, Founder of MySQL Ab.
He is an open source advocate with firsthand experience in creating and enhancing an open source community. A software architect and designer with experience in creating big complex applications alone and with a virtual team.
Currently, Monty is CTO of the MariaDB foundation. Previously to that, he was CEO & VP Community of Monty Program Ab, as well as Partner and owner of Open Ocean Capital (since 2009).
In 2008-2009, he was a MySQL Fellow and Sun DE at Sun Microsystems. He was working in Sun CTO Lab under Sun's CTO Greg Papadopoulos.
For 12 years (1983 – 1995) Monty was a Developer for Tranfor Data AB, Software Architect, TCX Datakonsult AB.
From 1981 to 1995 he was CEO of Monty Program Ab; CEO, Coder, architect and user of UNIREG (The origin of MySQL).
Pic's are here: http://www.flickr.com/photos/idcee/sets/
More @ http://idcee.org
Follow us on:
YouTube: http://www.youtube.com/user/OfficialIDCEEChannel
Facebook: https://www.facebook.com/IDCEE
Linkedin: http://www.linkedin.com/groups/IDCEE-3940138
Twitter: https://twitter.com/idcee_eu
Google+: http://gplus.to/idcee
Flickr: http://www.flickr.com/photos/idcee/collections/
How to run a pop-up lab: Innovation through rapid R&D (Emerce Retail, Holland)Fergus Roche
This document outlines a seven step approach for running a pop-up lab to drive innovation through rapid research and development. The seven steps are: 1) focus research and build a team, 2) access relevant data, 3) engage stakeholders, 4) recruit real customers, 5) check findings with operations staff, 6) design and test prototypes, 7) share learnings and win support. Key aspects of the approach include maintaining a skeptical and agile mindset, prioritizing just enough work to build momentum, and truly listening to users rather than leading them. The overall goal is to establish a permissive culture where the value of research and development is understood.
The document provides an overview of agile testing from a presentation by Lisa Crispin. It discusses how testing approaches differ between traditional and agile software development. In agile, testing is integrated into development as part of each story or iteration. There is an emphasis on test automation, feedback, and collaboration between testers and developers. Key aspects of agile testing include test-driven development, the testing quadrants, continuous integration and feedback.
This presentation introduces open source software and aims to shed light on why you should care. We’ll highlight what you can or can’t do with it (licensing), and the pros/cons for businesses and individuals.
Similar to How to Get a Software Job w/o Experience (20)
Modern PHP has grown significantly over the last 15-20 years and is now suitable for large projects. It supports object oriented programming with classes, interfaces, abstract classes and traits. Types can be hinted and nullable. Large applications can be built with namespaces and dependency management via Composer. Testing, linting and exceptions are also supported. While still allowing procedural code, PHP provides features for building maintainable, scalable software.
Redis is a networked data structure server that provides fast, simple access to various data types like Strings, Lists, Sets, Sorted Sets and Hashes. It uses an abstract data type interface where operations take a key as the first parameter and match the type of object stored. For example, list operations like LPUSH take a key and value, and the LRANGE operation takes a key and range to return elements in a list. Redis supports multiple programming language clients and can be used for tasks like leader boards, shopping carts and user profiles.
A Shallow Survey of Alternative Languages on the JVMCharles Anderson
This document surveys alternative languages that run on the Java Virtual Machine (JVM), including ported languages like JRuby and new languages like Groovy and Scala. It discusses why developers use these languages, noting they provide access to powerful Java platforms and libraries while allowing programming in more modern languages. Issues like performance and compatibility challenges are also outlined. Examples of code in several languages are provided.
How To Protect Yourself and Your Computer OnlineCharles Anderson
This document provides basic steps to protect yourself and your computer online from malware and fraud. It recommends keeping your operating system and software updated, using antivirus and firewall protection, and being wary of suspicious emails requesting personal information. Phishing scams try to steal information like bank accounts through fraudulent emails or websites, so the document advises to never enter details from an email link and to be suspicious of messages promising things that sound too good to be true. Taking precautions like keeping software updated and avoiding providing information from untrusted sources can help safeguard against online risks.
Jython is a Python interpreter implemented in Java. It allows Python code to integrate with Java by compiling Python code to Java bytecodes, making all Java classes immediately available to Python code. This allows Python to call Java code and Java to call Python, enabling flexible scripting of Java applications and experimentation in an interactive Java environment.
This document introduces Groovy, a scripting language for Java. It discusses how Groovy compiles to Java bytecode and can be used with existing Java tools and libraries. Examples show how Groovy simplifies common tasks like iteration, exception handling, and building XML/HTML. The document also briefly introduces Grails, a web framework that uses Groovy's conventions to accelerate development.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
1. How to Get a
Soft ware Job w/o
Experience
Charles Anderson
andersc@wou.edu
cander@westernskiesweb.com
2. About Me
25 years experience in industry -
mostly smaller companies
including 4 startups
Open source user since the mid-80s -
some minor contributions
3. Catch-22
To get a job, you need
experience
To get experience, you
need a job
4. Solution
Join an open-source
soft ware project
Works even if you want to
work at a closed-source
company
Source: New Yorker Magazine
5. Examples from Python
Brian Rosner - “new forms admin”
project lead for Django
Eric Holscher - screencasts and blog
entries about testing Django apps
Georg Brandl - Werkzeug and pocoo.org
6. Mad Skilz 4 The Man
Real world tools for real world problems
Know how to work on a (dist.) team
Tools: SCM, build, testing, mailing lists
Code and documentation been reviewed
Have real examples to point to
Can take criticism - peer reviews
7. How to Participate
Participate in mailing list discussions
Use/test code and report bugs
Write documentation
Find a bug or feature and implement it
Start your own (sub)project
8. How to Find a Project
A tool you’re already using - any
language or platform
A tool you wish you had
Directories: Fresh Meat, Source Forge,
Google Code, Java.net
FLOSS Weekly & Java Posse podcasts
10. Conclusion
Working on an open-source project
provides “real world” experience
Demonstrates motivation, self-
startitude
Do it now - better than video games
Put it on your resume, but you might not
ever need a resume