Warhammer 40k 3d Files For Printing
Jan 25, 2015. For his Warhammer 40k Space Marine Costume, which was his second costume build, Sterley decided to use both foam and 3D printing to bring his. The use of 2D sketching in his notebook.with the goal of transforming his sketches into a 3D model that the Solidoodle could both understand and product.
For the last 18 years, I have watched tech teams take ownership of builds, deploys and what I might call 'all things automatable'. This has changed the way digital products are produced and in many cases improved our ability to make incremental changes. While this is true, there are also many teams, and companies, so wound up that they can automate their pipeline that missing the obvious fact that their best efforts are not positively impacting their customers or investors. What if developers, and others working on whole product teams, looked at their next iteration by asking 'What is our next best investment?'
Is it learning from discovery, or learning 'outside the code', or is it learning in production, or 'inside the code'. Let's explore how each person at this conference can use their skills, experience, empathy, and cleverness to make the next best investment in learning, and avoid getting more done that may not make real and lasting impact for the people using their product(s).
David teaches and coaches product discovery through iterative delivery. He has spent the last 15 years coaching agility and producing products for companies of all sizes around the world. David’s coaching is non-dogmatic and pragmatic.
His focus on getting to know a project community allows him to seed self-discovery and avoid falling into the expert trap of simply telling people what they “should do'. David spends most of his time with teams, helping them create and validate product ideas and roadmaps with responsive engineering. He also works with leadership teams to pragmatically introduce the type of lasting agility that fosters innovation and creates a competitive edge.
David was awarded The Gordon Pask Award and has contributed to Agile at Scale, Story Mapping, and many other publications and presentations that can be found on-line. About the talk In this talk, we will introduce critical thinking; what is it and why it’s a critical tool for us as architects and deliverers of solutions? How can we add this to our daily tool box in order to improve our thinking in everyday situations? We will explore some practical steps to help us ask better questions, internalize feedback and make more sound judgements. How do our biases block our understanding, and how do we unlearn these in order to gain clarity of situations? We will also cover logical fallacies and unpack the key elements of an argument and tools that can help us enhance our arguments to optimize for better understanding and results.
About the speaker With over 15 years of working in the delivery, testing and maintenance of systems, Oz seeks to identify and solve the right problems, while realising value. Oz loves to share experiences and is an advocate for collaboration in teams and organisations.
He currently works as a Tester Coach at House of Test South Africa and is a co-organiser of the Joburg Software Testers meetup. He is active in building a community of super testers. A life learner and explorer; he believes thinking is his strongest skill in his bag of many varied tricks. Oz became an accidental runner who enjoys long runs and has completed the Comrades marathon. About the talk The JAMStack is a new way to approach creating a website or web application.
In the past if you wanted to get something online, you’d have to spin up a server that was alway online. If you wanted to keep costs down that server would have to be small, but that meant you couldn’t handle large traffic. If you wanted to scale cost-effictivley, that meant you’d have to use someone else’s platform, which meant you lost some control. JAMStack allows you to create full websites that are fully delivered via CDN, but without losing functionality.
I’ve used JAMStack to creat a personal blog, a corporate publishing platform, landing pages and product MVPs. The JAMStack is a very flexible tool that allows you to get your content in front of people, easily. You’re site consists made up entirely of static resources, that can be delivered through a CDN. If you need more processing, you can then offload those to ‘hosted functions’ like AWS Lambda, Azure Functions or the like. In this talk I’ll walk through the details of the JAMStack, creation of a site, how to deploy one and building in features like search and more complex functionality.
About the speaker Tim Lewis is a full stack developer and a Team Lead at Entelect. Professionally, he's worked in risk management and fraud prevention, the health sector, lectured web design and been a web freelancer.
In his free time, he is a UI/UX enthuasist and keeps a keen eye on cyber security. When offline, he is involved in a couple of charities related child protection and education. About the talk Data science is all over the news.
The job of data scientist is said to be one of the fastest growing jobs. But what is data science? Is it just another name for Business Intelligence? And how does “Big Data” fit into the picture.
In this talk, I’ll take your through what Data Science is, and what it is not, and then we’ll try and solve some simple Data Science-type problems in R, Python and Azure Machine learning. Simple problems, like image recognition and fraud detection. About the speaker Gail is a Database Specialist focusing on database performance tuning and database recovery, with a particular interest in topics such as indexing strategies, execution plans, and writing T-SQL code that performs well and scales gracefully. Gail holds a Microsoft Certified Master certification for SQL Server 2008 and is a Data Platform MVP. She is a frequent poster on the SQL Server Central forums, a Pluralsight author, writes articles for both SQLServerCentral.com and Simple-Talk.com, and has spoken at SQL Saturdays locally and internationally, SQL Bits, IT/Dev Connections and at the PASS Community Summit. Gail has been responsible for extending the lifespan of many an application by performance-tuning their databases as well as providing technical guidance on all things SQL Server related. She lives in Johannesburg, South Africa.
About the talk This talk will be around Kotlin being a first class language for Android. How it makes Android code much cleaner, better to maintain and introduces many new concepts that Android developers could not do in Java. This talk will be showing Android developers how to take there code to the next level. About the speaker P-J, who is based in Johannesburg, is a Mobile developer that develops both Android and iOS apps. Everyone knows that he enjoys trying new and different technologies and being an explorer in the technology world. On a daily basis he works on a banking app, but also maintains some open source projects, apps and blogs about development technologies on Medium. What is a lightning talk?Lightning talks are rapid fire 15 min presentations.
We bundle three back to back in a single timeslot with no break. Quick presentations! Fast handover! Singular insights from the best! Below are the three talks that you will see: The Curious Case of Monorepos by Andrew Bestbier Monorepos are a controversial idea and many think that they are bad practise. However, large companies like Facebook are actively using them to manage their projects. I will build a case for monorepos from first principles and share lessons learned while working on large digital transformations.
About the speaker Noobs Journey to Pi by Arohan Naidoo A walk though of my journey as a Business Intelligence developer who wanted to get started with Windows 10 IoT development on a Raspberry Pi 3 with no C# skills. The talk will go through some of the practical challenges and benefits gained from the process. About the speaker Arohan is a Business Intelligence developer working at Entelect primarily on the Microsoft BI stack who has an interest in using Big Data and IoT to find insights into ways to improve daily life as well as focused research on using technology to enhance learning. Habit Driven Design by Nico Botha Usage of any tech product on a regular basis creates habits among its users.
Habits are created spontaneously without the user noticing it. If these habits are not carefully thought out (and the product specifically designed to drive certain habits) user habits can get out of control.
This talk will give you some insight into the concept of habit driven design (HDD). How does the products we use daily dictate our habits? Why is it important to design for specific human behavior?
Come and challenge yourself as we journey into the world of user habits and software. About the speaker Nico is a software engineer at Entelect. In his free time he likes to play around with random tech. During long train rides to work he likes to enrich himself with reading philosophy. He is fascinated by the psychology of user behavior, especially when software is involved. When he grows up he wants to be a writer. About the talk Kubernetes has become the de-facto standard for container orchestration today.
However beginner-level educational content to learn Kubernetes today is still focused on cluster management through the Kubernetes CLI tool. This can make it harder for novices to visualize the relationship between the commands they’re issuing and what’s happening in the cluster.
Incrementally building a Helm Chart provides an easier, more intuitive, and more visual way of learning the key concepts of Kubernetes, while addressing how to manage package releases upfront. This talk will cover how to incrementally build a Helm Chart for NGINX, and along the way, will cover key Kubernetes concepts. Content will include as many diagrams and visuals as possible to accompany these concepts, and include how to deploy the new NGINX chart from a Kubernetes cluster.
About the speaker Amy Chen is a software engineer at Rancher Labs, an open source container management platform. She is passionate about open source, containers, orchestration tools, Go, and salsa dancing. In her free time, Amy runs a youtube channel called Amy Codes where she talks about technical and non-technical aspects of being a software engineer. (She aims to make the container and infrastructure industry more accessible by sharing her learning process and resources used through her youtube channel.
You can follow her internet shenanigans here: https://www.instagram.com/theamycode/. About the talk Databases are notoriously hard to include in the continuous delivery pipeline and often result in manual integration steps being required to deploy.
This manual intervention prevents us from truly implementing the continuous delivery pipeline that DevOps requires. During this presentation, you will learn how changes to the database development process and the correct tools allow the database to be successfully included into the automated build, test and deploy phases of the CD pipeline.
About the speaker Michael Johnson is a Business Intelligence architect and Microsoft data platform MVP living in Johannesburg, South Africa. Michael has been working with data for the last 15 years and has run the local SQL Server User Group and SQL Saturday conference event for the last few years. He enjoys showing people new tools and technologies that allow them to work more effectively with their data. About the talk Developing Android Apps has notoriously been a difficult task. Previously, Google refrained from giving advice as to how you should go about architecting your Android applications and it has been “left it up to the reader” to decide how. This lead to apps having a lot of bloat in their activities and being really difficult to test.
This has now changed since Google I/O 2017 where the new Android Architecture components were introduced. The libraries aim to make developing and maintaining your Android apps a lot easier. In this presentation, Rebecca will present the components and dive into detail around the different types of tests you should write (and where) for your newly architected Android application. About the speaker Rebecca Franks the Android Engineering Lead at DVT. She has over 5 years experience in developing Android applications. In March 2016, she was awarded with the status of Google Developer Expert for Android.
In her spare time, she works with Book Dash – a Non Profit Organisation – developing an Android app to showcase their free children’s books. She enjoys public speaking and frequently speaks at conferences and local meetups. Her blog has been featured multiple times in Android Weekly. In June 2016, She was selected as part of the Mail & Guardian’s Top 200 Young South Africans. She has spoken internationally in Switzerland, United States and Kenya and Poland.
About the talk Technology needs to break down bearers to productivity. The future of.net standard has the potential to do so. Having seen the latest strides that Microsoft has been doing with.net standard, it is getting clearer that with the development tools available from Microsoft we as developers can with ease build products that enables developers to target more platforms at a faster pace..net standard gives developers a wider access to.net API’s and I will show how this library can rule them all irrespective of the platform. I will also outline how.net standard compares with.net core,.net framework and xamarin About the speaker Griffiths Sibeko, a lifelong learner with a grade zero mentality who draws his design inspiration from nature, human interactions and communication patterns. Learning how to use a computer at the public library at age 11 where the staff was always sceptical that he would break the equipment, he got to excel at using computers and got his first promotion from owning a library card to owning a library staff card. He later then realised his passion to design and develop solutions to help better ways in which people interact with the world around them.
Some of the accolades that Griffiths has achieved include winning the 2014 MTN Best Garage Developer competition, in 2016 Griffiths was featured in Forbes Africa for some of the sacrifices he had to make to pursue a career in software development. Currently Griffiths leads the Windows client team at Zapper. Burosch Display Expert Tuning. About the talk How do you migrate over 65,000 of the most demanding software engineers from infrastructure built up over decades of high-intensity work into a common engineering system based on modern software development technologies and best practices? This is exactly the challenge faced by Microsoft as they moved to their One Engineering system.
Come and hear about how they did it and the lessons they learned along the way. About the speaker Willy is a program manager with the Visual Studio Team Services (VSTS) group. He’s responsible for the ALM DevOps Ranger community, which provides professional guidance and gap-filling solutions to the developer community. Go directly to him if you need help with missing guidance or features for VSTS. Since the mid-’80s, He’s been striving for simplicity and maintainability in software engineering. Reach him on Twitter at @wpschaub, or the aka.ms/vsarblog, aka.ms/willysblog blogs. About the talk Bots, AI and Cognitive learning is going to change the way we life, how we think and how we work.
It will also change how we code and how we analyse data. Automated and driverless vehicles are one example of software bots and mechanical robotics interacting.
Deep learning and Natural Language Processing (NLP) will make it possible ask virtual bot assistants questions in a natural way and get meaningful answers. Analyzing huge amounts of text, social media posts to understand sentiment and thought process will be a huge advantage to business and even government. Face-recognition and photo-analysis at the hands of the populous makes searching and analyzing digital data easier smarter and more accurate. Lear how we can make use of Bot Frameworks, AI Frameworks and Cognitive Frameworks that are available today to achieve what we might have thought previously impossible or event at the least out of our reach. About the speaker. About the talk Facebook did something beautiful when they built react. The combination of reactive programming, functional programming and immutable data has truly taken the web by storm.
What does it look like when you’re using a simple programming language, and powerful toolchain, that enshrines these values to build your next react app? What if you don’t need to have these conflicting ideals in one code base? Re-frame is a framework around a wrapper over react and gives developers a simple deterministic way to deliver rich single page applications. Being impressively buzzword compliant, it brings together the best of react, redux, Elm and other ideas that have taken the SPA world by storm. Re-frame delivers a data oriented approach to designing and building your next application. ClojureScript is an implementation of Clojure that targets JavaScript runtimes, both browser and Node.
ClojureScript is a dynamic functional language with an impressive toolchain that is the envy of any developer that has seen it, but can’t use it. You get true hot code reloading, advanced optimisations thanks to Google’s Closure Compiler, the safety of immutable data, the flexibility of dynamic typing, and great JavaScript interop, all packaged up in a wonderfully simple experience. ClojureScript does not shy away from the fact that it gets compiled down to JS, instead it offers all the escape hatches you’d ever need to interop seamlessly and build on the work of other developers. About the speaker Kenneth is full stack web developer with nearly 20 years under the belt. He's currently enjoying the revitalizing experience of writing Clojure and valuing values. Outside of his day to day, he maintains and contributes to several open source projects, writes on his Open Sourcery blog, co-hosts the ZADevChat podcast and enjoys speaking at local meetups and conferences. He enjoys learning and sharing, meeting and connecting people and being involved.
About the talk The idea of mentorship is strongest within the software craft community, which values the idea of apprenticeship. But the concepts within the apprenticeship model are valuable to all technical mentors, not just those who hire apprentices. Knowing how to give feedback, having a set of coding exercises, regular planning and estimating are all invaluable skills.
In this talk I’ll look at these and other ideas for how to ensure you give your mentees the best chance of success. About the speaker Daniel is a software consultant based in London.
He's a member of the software craft community and a founder and organizer of Queer Code London. Originally from Ireland, he's been programming computers from a very young age.
He started his professional programming career at an enterprise software vendor. Later on he worked in the financial sector before joining 8th Light as a consultant. In addition to leading development teams, he's an agile coach and mentor. Daniel's focus is on building high-quality software. He's big on TDD and pair programming, and as a generalist he's worked professionally with C++, C#, Java, Ruby and JavaScript, although these days he's a Clojure enthusiast.
Coding aside, his passion is on nurturing the technical growth of others around him. About the talk Log files hold a vault of useful information for operations as well as business. Processing your log files could reveal a host of useful information. • Who uses that brand new web solution you have just deployed? • Which country are they in?
• What device are they using? • When your host is under load, what else is happening in the environment?
• That pesky, intermittent error is back! How do you find it? • Our build server is slow, why? • Processing application and server log files used to be such a chore.
Getting a unified view of all logs required wizard-like skills! But over the past few years simple and easy solutions have emerged. Best of all, they’re free. That’s right, they’re all open source! Join me for a hands-on presentation, where we’ll pull some useful open source Docker containers and set to work making them weave some magic on our log files. We’ll cover some Docker Compose basics to get you started with a simple ELK stack (Elastic Search, Log Stash and Kibana), configure some endpoints and setup log shipping (for Linux and Windows) so that we can process log files. Once we’re processing logs, we’ll look at ways to transform and embellish our log data to add IT operational, as well as business value.
Using our transformed data, we’ll also cover visualising the data using Kibana. To close out we’ll also consider alternative technologies such as Prometheus and Grafana, and discuss the pros and cons of the different technologies. Mining log files has never been so simple. Join me to see how easy it is to get started. About the speaker Chris is a software architect with 20+ years’ experience, committed to evolutionary and constant learning, often tinkering with new tools, technologies, techniques and architectures. He is passionate about quality software and great architecture, while forging the growth of this generation of software developers. Chris enjoys sharing his learnings, often accompanied by good beer.
Chris can be found either overseeing the architecture at Kaleidocode, mentoring on the Kaleidocode apprenticeship program, or working hands on with his team. About the talk Users always rely on downloading mobile apps that could serve them when they are offline or have poor internet connections. This is because most mobile apps still offer amazing user experience when there is no connectivity.
Unfortunately, users are sensitive of the apps they download so as to keep their resources in check. If your app can’t compete enough with apps Facebook and Whatsapp, it might end up dying out in App stores. With Service Workers and Manifest JSON files, we can build engaging web app user experience even for offline users. We’re talking notifications, installable, fast, offline usage, complete app-like experience, etc.
Now that the support is almost in all browser is the best time to start giving our users fantastic experience as web developers. About the speaker Chris is a JavaScript Preacher who’s building the community with developers in developed and under-developed countries. He believes software engineering is the easiest way out of poverty. He’s also an advocate of the Next Billion Users. About the talk The building metaphor that is so often applied to software development is broken. Why do we need to start with the foundations first? The roof we’re building is virtual, it can float!
So why not build it first? Or even better just the part that we need first.
We’re so used to building software from the bottom up that we don’t even realise that it involves an incredible amount of guess work and ultimately results in a lot of hidden waste. In this talk I examine and challenge current thinking about the order in which we build software, thinking which I believe has been perpetuated by the building metaphor we use when we teach new software developers and when we communicate with non-developers in the industry. About the speaker Brendon is passionate about writing software, in a sustainable way, that solves real problems. He is an avid TDD’er, loves teaching and spends a lot of his spare time speaking at or running dev focused community events. Lately a lot of his thinking has been around how to be better at writing software with a primary focus on the thought process of the developers themselves.
About the talk Since the dawn of man (And indeed, Kerbalkind), we have looked up at the moon and stars and wondered. Is there cheese out there? Seeing as how modern science has yet to answer this question sufficiently we set out to see for ourselves. In spaceflight people use physical switches, dials, buttons and readouts to pilot their vessels.
In the game Kerbal Space Program you use a mouse and keyboard. In order to get a more authentic experience, we set out to build a. As you can see from some of the sample pictures, a few people have managed this before. However most of it is written using C# since that is what the game is written in. Because JavaScript is awesome, we set out to use that instead.
There is a mod for the game called which allows you to use and to communicate with the game remotely. We wrote a that can be included in any regular app. Using this module, and we wrote a node.js script that can interface with the Arduino.
The Arduino in turn interacts with the various physical switches, buttons, joysticks, sensors and a LCD. In addition we wrote an auto-pilot script that is capable of doing SpaceX Falcon 9 style return to launch site mission using a script written purely in JavaScript. The Mk I The Mk II About Ryan Ryan Kotzen is a recovering enterprise developer. Ryan joined Entelect in 2009 fresh out of varsity (UJ) and has been there ever since. He has worked in a wide range of domains including fintech, health, employee and customer loyalty, gamification, event management, and retail.
Ryan started his career in.Net and was part of the founding of the start-up Encentivize where he gained a wealth of knowledge about JavaScript and the MEAN stack. As an Engineering coach within Liberty dHub, Ryan has had an opportunity to deliver a mobile app written in React-Native and exercise his automation and DevOps skills, dabbling in Python, Ruby and GO. He has a passion for teaching and coaching others.
When not developing software, Ryan likes to spend his time playing Kerbal Space Program and engaging in the Warhammer 40k hobby. About the talk As members of the local technology industry, we are often bombarded with new jargon, new buzzwords, and new concepts from news and developments around the world. Artificial intelligence(AI), machine learning(ML), and neural networks(NN) all fall into that category of buzz words. This talk dives into the concept of neural networks. Neural networks are known as something used in machine learning, but few people understand how they work and the potential power of them. This talk includes how neural networks fit into AI, the historic inspiration, the intuition for how neural networks operate, the mathematical knowledge required for working with neural networks, the use cases for neural networks, and programming tools and frameworks that can assist one in developing machine learning applications using neural networks. About the speaker Rishal is currently fulfilling the role of a solutions architect at Entelect.
He is involved in ideating, designing and developing solutions for various national and international blue chip clients whilst actively growing thought leadership capabilities within the company and tech community. He has a passion for software engineering, digital architecture, mobile development, design thinking methodologies, and artificial intelligence. Rishal founded Prolific Idea in 2015 where innovation is cultivated through research and technology. Prolific Idea has released a collaborative productivity platform, gethivemind.com. Rishal has a keen interest in community involvement and development. He runs the Artificial Intelligence South Africa(AI ZA) monthly hackathons and is an active speaker at user groups and conferences.
About the talk For years and years, network pen-testers have owned companies and networks with playbooks written in the 90’s. With a good mix of footprinting, scripting and unexpected interdependence, even moderately skilled attackers have been able to reign supreme without ever needing a 0day. How does this change as organizations slip more and more into the cloud?
What do rootkits look like and what does lateral movement mean when its between different SaaS products? In 2009 we took an initial stab at answering some of these questions, and now we’re revisiting the topic in light of the huge strides made in cloud services.
We cover a few recent attacks on companies that leveraged cloud services, showing security failures can occur on the boundaries of, rather than solely in, services. We demonstrate easy and novel ways to embed compromise detection capabilities in third party services without requiring support in those services. We show how developers can be attacked with malicious code editor plugins. We tackle the gorilla, Amazon Web Services, revealing a series of attacks that cover reconnaissance, compromise, lateral movement, privilege escalation, persistence and logging disruption. Lastly, we end off describing how to aid compromise detection in cloud services.
About the speaker Marco Slaviero is the lead researcher and chief dev wrangler at Thinkst. Marco has presented research at security conferences on a range of topics including timing attacks, Python shellcode, sock puppets, honeypots and cloud security. He is rumoured to harbor a personal dislike for figs. About the talk The holy grail of web applications is having them be near-native performance, and to a large degree this has driven the JavaScript revolution.
To truly realise that goal we need to embrace native design thinking for our applications, applying it not only to our code but also to our content. Using ideas from Progressive Web Applications and a modern framework such as Angular we can create engaging, fast and available application experiences - the best of both native and web. This code-oriented talk will show how to practically use select principles of Progressive Web Applications in conjunction with Angular to create fast and compelling web experiences.
It will cover the creation of an application shell and go into using service workers for preloading, caching and even offline support. About the speaker Mike Geyser is a programmer at BBD in the R&D team, co-organiser of the Jozi.JS meetup group, a frequent technical speaker, and loves the web. He has been hacking on it since Geocities was a thing, and has the keening wail of dialup modem etched into his subconscious.
While he is fluent in several ‘golden hammer’ programming languages, he has a long-lived love affair with JavaScript, and cannot see its (many, obvious) flaws. He has worked on lots of interesting enterprise applications, but it is the challenges of the public web that really appeal to him - having spent his formative years building transactional websites.
He is always eager to talk about the web platform, but be warned, he is prone to hyperbole. What is a lightning talk?Lightning talks are rapid fire 15 min presentations. We bundle three back to back in a single timeslot with no break. Quick presentations! Fast handover!
Singular insights from the best! Below are the three talks that you will see: Brewing beer using AndroidThings by Riaan Cornelius While some home brewers consider automation to somehow make your brewing less “real”, part of the reason I brew is because I get to make stuff (I also happen to like beer). In this talk I’ll very briefly go through the beer brewing process and explain what requirements I came up with for my project. Then I’ll give you just enough knowledge about the hardware to follow along before diving into how I architected the AndroidThings project to keep the code simple, testable and extendable. Along the way I’ll sprinkle in a liberal amount of tips to help with debugging as well as warning of things that will release the magic smoke from your newly purchased hardware.
About the speaker Let the magic happen by Arjun Khoosal “You’re shooting for the moon, with bottle rockets as boosters”. That was the first piece of feedback our startup received, 3 years ago.
We had 1 developer (me), who had never written commercial code, chasing an idea that had already been conceived, attempted, and failed, dozens of times before. It was a justifiable comment. We’ve certainly not landed on the moon yet. But, we have lift off.
Our marketplace has done over R10m in transactions, by connecting homeowners with 100’s of artisans in Gauteng. You’ve heard similar stories from startups around the world. A lot, from a little. How does it happen? One common theme for almost all burgeoning startups, is the autonomy given to each developer.
To product owners and BA’s in bigger organisations, with tomes full of horror stories of devs veering off track into the abyss, this might seem idealistic or even suicidal. In this talk, I’ll discuss how, by hiring the right developers and giving them full business context of the problem they are solving, this fear can be mitigated, and the magic can happen. At least, that’s how it will seem from the outside. But all it is, is a team of developers who care about the customer and the product, with all the creative freedom they need to build something great. About the speaker Arjun was a Masters student who was getting along nicely: bursary, scholarship, triple major, distinction, 300+ citations, 1000+ hours of Dota 2. But, wanting to build something that felt real, and useful to everyone, he dropped out to found idwork.co.za.
After a long grind, eventually they got users. Then, they got revenue. Then, they got inspiring teamies. Then, they got awards. Then, they got a toasted-cheese maker that can process 12 slices in parallel. Then, they got investors from 3 countries. Then they got a new name: Kandua.com, which people could remember, for a change.
Now, as a team of 10 people, they're bringing millions of rands to 100's of small tradespeople; many of which have never used the internet before. And Arjun's having the time of his life 😄. Why shipping pet projects is so important by Simon Stewart This talk is a continuation of a series of talks I gave several years ago on the “importance of pet projects”. The intention is to encourage experimentation and fun outside of the day-to-day project work without promoting burn out. It will also highlight the potential for exposure - both from a marketing point of view and career. The idea is not to push people to overwork outside of normal office hours, but instead to show the audience that we all have a fantastic skill and can use that to have fun with exposure being a nice potential side effect.
About the speaker Organizer of the JavaScript in South Africa conference; founder of Broken Keyboards Software and CodeSkills. About the talk When you were a kid they called you a scoundrel. But it’s 2017, and technology has progressed far enough that you can be called a tinkerer when you blow stuff up, as long as it has WiFi! We’re going to build a small potato cannon, and control it from a mobile phone, becausescience! About the speaker Matt Cavanagh is a developer from Durban who hates writing bio’s in third person. He started a company called roguecode making Windows apps, but then decided being poor was a better idea so went into game development.
He’s done talks at conferences like DevConf, and TechEd (when Microsoft still knew SA existed). About the talk Deep Learning has the ability to disrupt and to disrupt fast. The democratization of AI has meant that algorithms and tools are mature enough to make a difference in almost any industry. The uptake of AI to augment our world will depend on the ability to interact with AI services in a familiar way.
The recent agreement between Amazon’s Jeff Bezos and Microsoft’s Satya Nadella to integrate Alexa as a service in Cortana, and to integrate Cortana as a service in Alexa is a clear indication that the value is not in the assistant itself, but rather in the ability to connect services with people. I will use the demo to show you an effortless way to interact with a Computer Vision System that is aware of its surroundings using the Google Home Assistant. I will use the demo to show you a natural way to interact with a Computer Vision System that is aware of its surroundings using the Google Home Assistant.
About the speaker. About the talk This is a feature presentation starring you the protagonist and the guy in the basement on the chair drinking Redbull and DDoSing your website. Security has to always be a consideration when building applications. This talk aims to build that constant reminder that early in your application is the best time to think about security. We will consider some commonly known exploits and how you can safeguard yourself and also some less common ones.
We will consider some complex ones and how you may secure yourself. This talk is for everyone who uses the web and has been designed to remove most complex terms.
About the speaker Neo Ighodaro is the CTO at Hotels.ng. He is also an Ambassador at Auth0 and the organiser of LaravelNigeria meetup. He is a full-stack software developer with over 12 years of experience. About the talk As developers we spend a lot of time structuring our systems just right.
We make sure we select the right patterns, use the right combination of acronyms (CQRS + DDD + ES), and do all the right devops so that we can scale up/out/elastically. This adherence to best practices seems to fall apart at the front end though. We have separation on the back end, but on the front end this all needs to come together.
How do we stop it from turning into a mess of spaghetti code? How do we prevent simple actions from triggering hundreds of web requests? Join William as he builds a.NET Core Composite UI from scratch. About the speaker A professional geek, William works for Particular Software writing amazing software like NServiceBus. Passionate about the web and security, he is engaged in a sordid love affair with JavaScript, and spends most of his free time trying to convince others of it’s beauty and elegance.
When not behind his laptop hacking away, this amateur beer enthusiast can often be found playing boardgames or drinking cold-brew coffee. About the talk Like it or not, things will always go wrong in production. Rouan is going to tell you about the types of issues that you should expect.
He’ll show you a range of techniques for finding out quickly that something has gone wrong, including everything from automated alerting to an old-fashioned phone call from a grumpy user. Rouan will also cover diagnostic tools that can help you figure out what went wrong, talk about how your team could approach issues, and explain the possibility of creating self-healing mechanisms. Lastly, he’ll chat about what you need to ship a fix fast and how the right production monitoring can even help you write less code. After attending the talk, you’ll see that production issues are learning opportunities. You’ll be ready to spot them, understand them and use them to build better software.
About the speaker Rouan Wilsenach is a software developer. He has built applications in a variety of technology stacks for companies in the financial services, education, health and media sectors. He’s worked as a consultant and coach, helping teams learn good engineering practices and helping businesses transform the way they build software.
He now works remotely for Tes, where he builds full-stack JavaScript microservices to help teachers and schools. About the talk Experience the excitement of the physical web with me and BB-8, the Star Wars app enabled droid.
This little robot comes with an Android and iOS app so that you can control it with your phone. However, we should not just settle for an app provided by others when we have the knowledge and tools to create our own. The idea of the physical web has created a disturbance in the force.
With just a simple web page, we can now connect to “smart” devices using technologies such as Bluetooth and WiFi. The ability to do this, will soon be a standard in all new operating systems and browsers.
This means that we will no longer be limited by our phone or tablet or the version of an operating system we are running. Join me and BB-8 as we explore all the opportunities that the physical web can provide for this little droid. We will build a website, deploy it and control our little droid. Emachines Et1161-03 Drivers Xp.
With only a smart device connected to the internet you, the audience, will be able to find the droid you are looking for. About the speaker Gergana is a software developer based in Johannesburg and works with the R&D team at BBD. She has been working in the software development field for about seven years on various projects involving.NET, JavaScript, jQuery, AngularJS, MeteorJS and more recently Angular. Front end development has always been what she enjoys most and she is also interested in UX and design. She loves Star Wars, and because of that spends a lot of time hacking her BB-8 droid as well as exploring other IoT concepts and ideas. About the talk Hi, I’m Justin, and I play the trumpet.
I’m a software engineer, bad musician, and chronic yak shaver, so when I discovered that my intonation was bad while playing the trumpet the obvious solution was to start programming. The idea was to have an application listen to me playing and give feedback on my pitch. This application is written in my current favourite programming language, Rust, and so my Rusty Microphone project was started. Now that I have something that works, I’m looking at ways to make my application available to the world, especially to musicians. Musicians are not widely known for their ability to clone a git repository, assemble the necessary collection of libraries and compilers on their computer, and compile things, so I went looking for distribution methods. As someone who spends his working hours building web applications, I’ve seen many cases of web applications that have been packaged as if they’re a smartphone or desktop application. What if I tried the reverse, and packaged my desktop application for the web?
With Rust’s support for WebAssembly, this should be easy, right? This is the story of me taking my Rust application and figuring out how to embed it in my website.
About the speaker Justin is a software engineer, working on both sides of the Internet in the web development stack. This has resulted in a considerable amount of JavaScript. In his spare time, he likes to tinker with lower level languages and concepts, which has lead to his current fascination with Rust. Wherever possible, Justin prefers to use free and open source software. He also tries to give back to these amazing online ecosystems by writing about what he's up on his blog, including code examples with open source licences for others to use and learn from.
His pug is not currently plotting world domination. Everything is fine.
For the last 18 years, I have watched tech teams take ownership of builds, deploys and what I might call 'all things automatable'. This has changed the way digital products are produced and in many cases improved our ability to make incremental changes. While this is true, there are also many teams, and companies, so wound up that they can automate their pipeline that missing the obvious fact that their best efforts are not positively impacting their customers or investors. What if developers, and others working on whole product teams, looked at their next iteration by asking 'What is our next best investment?' Is it learning from discovery, or learning 'outside the code', or is it learning in production, or 'inside the code'.
Let's explore how each person at this conference can use their skills, experience, empathy, and cleverness to make the next best investment in learning, and avoid getting more done that may not make real and lasting impact for the people using their product(s). David teaches and coaches product discovery through iterative delivery. He has spent the last 15 years coaching agility and producing products for companies of all sizes around the world. David’s coaching is non-dogmatic and pragmatic. His focus on getting to know a project community allows him to seed self-discovery and avoid falling into the expert trap of simply telling people what they “should do'.
David spends most of his time with teams, helping them create and validate product ideas and roadmaps with responsive engineering. He also works with leadership teams to pragmatically introduce the type of lasting agility that fosters innovation and creates a competitive edge. David was awarded The Gordon Pask Award and has contributed to Agile at Scale, Story Mapping, and many other publications and presentations that can be found on-line.
About the talk In this talk, we will introduce critical thinking; what is it and why it’s a critical tool for us as architects and deliverers of solutions? How can we add this to our daily tool box in order to improve our thinking in everyday situations? We will explore some practical steps to help us ask better questions, internalize feedback and make more sound judgements.
How do our biases block our understanding, and how do we unlearn these in order to gain clarity of situations? We will also cover logical fallacies and unpack the key elements of an argument and tools that can help us enhance our arguments to optimize for better understanding and results. About the speaker With over 15 years of working in the delivery, testing and maintenance of systems, Oz seeks to identify and solve the right problems, while realising value. Oz loves to share experiences and is an advocate for collaboration in teams and organisations. He currently works as a Tester Coach at House of Test South Africa and is a co-organiser of the Joburg Software Testers meetup. He is active in building a community of super testers. A life learner and explorer; he believes thinking is his strongest skill in his bag of many varied tricks.
Oz became an accidental runner who enjoys long runs and has completed the Comrades marathon. About the talk Databases are notoriously hard to include in the continuous delivery pipeline and often result in manual integration steps being required to deploy. This manual intervention prevents us from truly implementing the continuous delivery pipeline that DevOps requires. During this presentation, you will learn how changes to the database development process and the correct tools allow the database to be successfully included into the automated build, test and deploy phases of the CD pipeline. About the speaker Michael Johnson is a Business Intelligence architect and Microsoft data platform MVP living in Johannesburg, South Africa. Michael has been working with data for the last 15 years and has run the local SQL Server User Group and SQL Saturday conference event for the last few years. He enjoys showing people new tools and technologies that allow them to work more effectively with their data.
About the talk The idea of mentorship is strongest within the software craft community, which values the idea of apprenticeship. But the concepts within the apprenticeship model are valuable to all technical mentors, not just those who hire apprentices. Knowing how to give feedback, having a set of coding exercises, regular planning and estimating are all invaluable skills.
In this talk I’ll look at these and other ideas for how to ensure you give your mentees the best chance of success. About the speaker Daniel is a software consultant based in London. He's a member of the software craft community and a founder and organizer of Queer Code London. Originally from Ireland, he's been programming computers from a very young age. He started his professional programming career at an enterprise software vendor. Later on he worked in the financial sector before joining 8th Light as a consultant.
In addition to leading development teams, he's an agile coach and mentor. Daniel's focus is on building high-quality software. He's big on TDD and pair programming, and as a generalist he's worked professionally with C++, C#, Java, Ruby and JavaScript, although these days he's a Clojure enthusiast. Coding aside, his passion is on nurturing the technical growth of others around him. About the talk As members of the local technology industry, we are often bombarded with new jargon, new buzzwords, and new concepts from news and developments around the world. Artificial intelligence(AI), machine learning(ML), and neural networks(NN) all fall into that category of buzz words.
This talk dives into the concept of neural networks. Neural networks are known as something used in machine learning, but few people understand how they work and the potential power of them. This talk includes how neural networks fit into AI, the historic inspiration, the intuition for how neural networks operate, the mathematical knowledge required for working with neural networks, the use cases for neural networks, and programming tools and frameworks that can assist one in developing machine learning applications using neural networks. About the speaker Rishal is currently fulfilling the role of a solutions architect at Entelect. He is involved in ideating, designing and developing solutions for various national and international blue chip clients whilst actively growing thought leadership capabilities within the company and tech community. He has a passion for software engineering, digital architecture, mobile development, design thinking methodologies, and artificial intelligence. Rishal founded Prolific Idea in 2015 where innovation is cultivated through research and technology.
Prolific Idea has released a collaborative productivity platform, gethivemind.com. Rishal has a keen interest in community involvement and development.
He runs the Artificial Intelligence South Africa(AI ZA) monthly hackathons and is an active speaker at user groups and conferences. About the talk Bots, AI and Cognitive learning is going to change the way we life, how we think and how we work. It will also change how we code and how we analyse data.
Automated and driverless vehicles are one example of software bots and mechanical robotics interacting. Deep learning and Natural Language Processing (NLP) will make it possible ask virtual bot assistants questions in a natural way and get meaningful answers. Analyzing huge amounts of text, social media posts to understand sentiment and thought process will be a huge advantage to business and even government. Face-recognition and photo-analysis at the hands of the populous makes searching and analyzing digital data easier smarter and more accurate. Lear how we can make use of Bot Frameworks, AI Frameworks and Cognitive Frameworks that are available today to achieve what we might have thought previously impossible or event at the least out of our reach. About the speaker.
About the talk This talk will be around Kotlin being a first class language for Android. How it makes Android code much cleaner, better to maintain and introduces many new concepts that Android developers could not do in Java. This talk will be showing Android developers how to take there code to the next level. About the speaker P-J, who is based in Johannesburg, is a Mobile developer that develops both Android and iOS apps. Everyone knows that he enjoys trying new and different technologies and being an explorer in the technology world.
On a daily basis he works on a banking app, but also maintains some open source projects, apps and blogs about development technologies on Medium. About the talk Kubernetes has become the de-facto standard for container orchestration today.
However beginner-level educational content to learn Kubernetes today is still focused on cluster management through the Kubernetes CLI tool. This can make it harder for novices to visualize the relationship between the commands they’re issuing and what’s happening in the cluster. Incrementally building a Helm Chart provides an easier, more intuitive, and more visual way of learning the key concepts of Kubernetes, while addressing how to manage package releases upfront. This talk will cover how to incrementally build a Helm Chart for NGINX, and along the way, will cover key Kubernetes concepts. Content will include as many diagrams and visuals as possible to accompany these concepts, and include how to deploy the new NGINX chart from a Kubernetes cluster. About the speaker Amy Chen is a software engineer at Rancher Labs, an open source container management platform. She is passionate about open source, containers, orchestration tools, Go, and salsa dancing.
In her free time, Amy runs a youtube channel called Amy Codes where she talks about technical and non-technical aspects of being a software engineer. (She aims to make the container and infrastructure industry more accessible by sharing her learning process and resources used through her youtube channel.
You can follow her internet shenanigans here: https://www.instagram.com/theamycode/. About the talk Developing Android Apps has notoriously been a difficult task. Previously, Google refrained from giving advice as to how you should go about architecting your Android applications and it has been “left it up to the reader” to decide how.
This lead to apps having a lot of bloat in their activities and being really difficult to test. This has now changed since Google I/O 2017 where the new Android Architecture components were introduced. The libraries aim to make developing and maintaining your Android apps a lot easier. In this presentation, Rebecca will present the components and dive into detail around the different types of tests you should write (and where) for your newly architected Android application. About the speaker Rebecca Franks the Android Engineering Lead at DVT.
She has over 5 years experience in developing Android applications. In March 2016, she was awarded with the status of Google Developer Expert for Android. In her spare time, she works with Book Dash – a Non Profit Organisation – developing an Android app to showcase their free children’s books. She enjoys public speaking and frequently speaks at conferences and local meetups.
Her blog has been featured multiple times in Android Weekly. In June 2016, She was selected as part of the Mail & Guardian’s Top 200 Young South Africans. She has spoken internationally in Switzerland, United States and Kenya and Poland. About the talk This is a feature presentation starring you the protagonist and the guy in the basement on the chair drinking Redbull and DDoSing your website. Security has to always be a consideration when building applications. This talk aims to build that constant reminder that early in your application is the best time to think about security.
We will consider some commonly known exploits and how you can safeguard yourself and also some less common ones. We will consider some complex ones and how you may secure yourself. This talk is for everyone who uses the web and has been designed to remove most complex terms. About the speaker Neo Ighodaro is the CTO at Hotels.ng. He is also an Ambassador at Auth0 and the organiser of LaravelNigeria meetup. He is a full-stack software developer with over 12 years of experience. About the talk Log files hold a vault of useful information for operations as well as business.
Processing your log files could reveal a host of useful information. • Who uses that brand new web solution you have just deployed? • Which country are they in? • What device are they using? • When your host is under load, what else is happening in the environment? • That pesky, intermittent error is back! How do you find it?
• Our build server is slow, why? • Processing application and server log files used to be such a chore. Getting a unified view of all logs required wizard-like skills!
But over the past few years simple and easy solutions have emerged. Best of all, they’re free. That’s right, they’re all open source!
Join me for a hands-on presentation, where we’ll pull some useful open source Docker containers and set to work making them weave some magic on our log files. We’ll cover some Docker Compose basics to get you started with a simple ELK stack (Elastic Search, Log Stash and Kibana), configure some endpoints and setup log shipping (for Linux and Windows) so that we can process log files.
Once we’re processing logs, we’ll look at ways to transform and embellish our log data to add IT operational, as well as business value. Using our transformed data, we’ll also cover visualising the data using Kibana.
To close out we’ll also consider alternative technologies such as Prometheus and Grafana, and discuss the pros and cons of the different technologies. Mining log files has never been so simple. Join me to see how easy it is to get started.
About the speaker Chris is a software architect with 20+ years’ experience, committed to evolutionary and constant learning, often tinkering with new tools, technologies, techniques and architectures. He is passionate about quality software and great architecture, while forging the growth of this generation of software developers. Chris enjoys sharing his learnings, often accompanied by good beer. Chris can be found either overseeing the architecture at Kaleidocode, mentoring on the Kaleidocode apprenticeship program, or working hands on with his team. About the talk For years and years, network pen-testers have owned companies and networks with playbooks written in the 90’s. With a good mix of footprinting, scripting and unexpected interdependence, even moderately skilled attackers have been able to reign supreme without ever needing a 0day. How does this change as organizations slip more and more into the cloud?
What do rootkits look like and what does lateral movement mean when its between different SaaS products? In 2009 we took an initial stab at answering some of these questions, and now we’re revisiting the topic in light of the huge strides made in cloud services. We cover a few recent attacks on companies that leveraged cloud services, showing security failures can occur on the boundaries of, rather than solely in, services.
We demonstrate easy and novel ways to embed compromise detection capabilities in third party services without requiring support in those services. We show how developers can be attacked with malicious code editor plugins. We tackle the gorilla, Amazon Web Services, revealing a series of attacks that cover reconnaissance, compromise, lateral movement, privilege escalation, persistence and logging disruption. Lastly, we end off describing how to aid compromise detection in cloud services.
About the speaker Marco Slaviero is the lead researcher and chief dev wrangler at Thinkst. Marco has presented research at security conferences on a range of topics including timing attacks, Python shellcode, sock puppets, honeypots and cloud security. He is rumoured to harbor a personal dislike for figs. About the talk The JAMStack is a new way to approach creating a website or web application. In the past if you wanted to get something online, you’d have to spin up a server that was alway online. If you wanted to keep costs down that server would have to be small, but that meant you couldn’t handle large traffic. If you wanted to scale cost-effictivley, that meant you’d have to use someone else’s platform, which meant you lost some control.
JAMStack allows you to create full websites that are fully delivered via CDN, but without losing functionality. I’ve used JAMStack to creat a personal blog, a corporate publishing platform, landing pages and product MVPs. The JAMStack is a very flexible tool that allows you to get your content in front of people, easily. You’re site consists made up entirely of static resources, that can be delivered through a CDN. If you need more processing, you can then offload those to ‘hosted functions’ like AWS Lambda, Azure Functions or the like.
In this talk I’ll walk through the details of the JAMStack, creation of a site, how to deploy one and building in features like search and more complex functionality. About the speaker Tim Lewis is a full stack developer and a Team Lead at Entelect. Professionally, he's worked in risk management and fraud prevention, the health sector, lectured web design and been a web freelancer.
In his free time, he is a UI/UX enthuasist and keeps a keen eye on cyber security. When offline, he is involved in a couple of charities related child protection and education. About the talk The holy grail of web applications is having them be near-native performance, and to a large degree this has driven the JavaScript revolution.
To truly realise that goal we need to embrace native design thinking for our applications, applying it not only to our code but also to our content. Using ideas from Progressive Web Applications and a modern framework such as Angular we can create engaging, fast and available application experiences - the best of both native and web. This code-oriented talk will show how to practically use select principles of Progressive Web Applications in conjunction with Angular to create fast and compelling web experiences. It will cover the creation of an application shell and go into using service workers for preloading, caching and even offline support.
About the speaker Mike Geyser is a programmer at BBD in the R&D team, co-organiser of the Jozi.JS meetup group, a frequent technical speaker, and loves the web. He has been hacking on it since Geocities was a thing, and has the keening wail of dialup modem etched into his subconscious. While he is fluent in several ‘golden hammer’ programming languages, he has a long-lived love affair with JavaScript, and cannot see its (many, obvious) flaws.
He has worked on lots of interesting enterprise applications, but it is the challenges of the public web that really appeal to him - having spent his formative years building transactional websites. He is always eager to talk about the web platform, but be warned, he is prone to hyperbole. About the talk Since the dawn of man (And indeed, Kerbalkind), we have looked up at the moon and stars and wondered. Is there cheese out there?
Seeing as how modern science has yet to answer this question sufficiently we set out to see for ourselves. In spaceflight people use physical switches, dials, buttons and readouts to pilot their vessels. In the game Kerbal Space Program you use a mouse and keyboard. In order to get a more authentic experience, we set out to build a. As you can see from some of the sample pictures, a few people have managed this before.
However most of it is written using C# since that is what the game is written in. Because JavaScript is awesome, we set out to use that instead. There is a mod for the game called which allows you to use and to communicate with the game remotely. We wrote a that can be included in any regular app. Using this module, and we wrote a node.js script that can interface with the Arduino. The Arduino in turn interacts with the various physical switches, buttons, joysticks, sensors and a LCD.
In addition we wrote an auto-pilot script that is capable of doing SpaceX Falcon 9 style return to launch site mission using a script written purely in JavaScript. The Mk I The Mk II About Ryan Ryan Kotzen is a recovering enterprise developer. Ryan joined Entelect in 2009 fresh out of varsity (UJ) and has been there ever since. He has worked in a wide range of domains including fintech, health, employee and customer loyalty, gamification, event management, and retail. Ryan started his career in.Net and was part of the founding of the start-up Encentivize where he gained a wealth of knowledge about JavaScript and the MEAN stack. As an Engineering coach within Liberty dHub, Ryan has had an opportunity to deliver a mobile app written in React-Native and exercise his automation and DevOps skills, dabbling in Python, Ruby and GO.
He has a passion for teaching and coaching others. When not developing software, Ryan likes to spend his time playing Kerbal Space Program and engaging in the Warhammer 40k hobby. About the talk How do you migrate over 65,000 of the most demanding software engineers from infrastructure built up over decades of high-intensity work into a common engineering system based on modern software development technologies and best practices? This is exactly the challenge faced by Microsoft as they moved to their One Engineering system.
Come and hear about how they did it and the lessons they learned along the way. About the speaker Willy is a program manager with the Visual Studio Team Services (VSTS) group. He’s responsible for the ALM DevOps Ranger community, which provides professional guidance and gap-filling solutions to the developer community. Go directly to him if you need help with missing guidance or features for VSTS. Since the mid-’80s, He’s been striving for simplicity and maintainability in software engineering. Reach him on Twitter at @wpschaub, or the aka.ms/vsarblog, aka.ms/willysblog blogs.
About the talk As developers we spend a lot of time structuring our systems just right. We make sure we select the right patterns, use the right combination of acronyms (CQRS + DDD + ES), and do all the right devops so that we can scale up/out/elastically.
This adherence to best practices seems to fall apart at the front end though. We have separation on the back end, but on the front end this all needs to come together. How do we stop it from turning into a mess of spaghetti code? How do we prevent simple actions from triggering hundreds of web requests?
Join William as he builds a.NET Core Composite UI from scratch. About the speaker A professional geek, William works for Particular Software writing amazing software like NServiceBus. Passionate about the web and security, he is engaged in a sordid love affair with JavaScript, and spends most of his free time trying to convince others of it’s beauty and elegance. When not behind his laptop hacking away, this amateur beer enthusiast can often be found playing boardgames or drinking cold-brew coffee.
'Teaching Computers to be as Flawed as Humans Through Algorithmic Bias' Earlier this year, NPR did a story answering the question, can computers be racist? (Yes.) Not soon after, Microsoft launched an AI chatbot experiment, called Tay, which shut down when the software began spewing hateful speech on Twitter. One of the knowns fears of AI and machine learning is the notion of algorithmic bias, which can create or indirectly allow machines to learn prejudiced behavior. In this talk, we will explore what it really means to “teach” a computer to have prejudices, and what this can mean for the future of computing.
What Attendees Can Expect to Learn: Examples of “bad” computing, how personal beliefs and prejudice can manifest in code, and ways to avoid personal bias in algorithms.' Terri Burns is a developer and technologist based in San Francisco.
She's an editorial contributor at Forbes, where she offers business and leadership advice in the form of data visualizations. In addition to making visualizations, Terri's cohosted the Forbes podcast Well, Technically, a podcast about startups and technology.
She's the former-President and current Chair of, the largest student technology organization in New York City. She regularly writes about technology, diversity, and inclusion, and her work has been featured in Forbes, Scientific American, and Model View Culture. Terri's interested in building products, diversifying the technology industry, and and speaking about technology.
She currently works at Twitter as an Associate Product Manager. So you are technical genius and you have the software community commits and contributions to prove it. Therefore your value to an employer is obvious.you should earn a fortune! Does this assumption hold true for the current and future trend in business? What does business value, historically, now and most likely in the future?
My talk explains why you are not a resource or an asset. You are an investment. This talk explains what is needed from you and from the business to unlock the value of the investment in you and your career. I am the CEO of Chillisoft.
I have worked in the software development industry for 18 years, as a consultant, and owner of two software development companies. During the course of my career, I have studied and worked with software developers and senior managers. I am therefore in a unique position of understanding how soft issues, shape business, learning and sustainability of business and a career in the software industry.I have presented and spoken at various engagements, as a guest speaker or a presenter. These engagements have been to students, software developers, managers, senior decision makers from government, corporate and the private sector. Do you have dark places in your database where only the knowledgable few fear to tread?
Shouldn’t you try to change this?For more than a decade any team I have worked with has treated the database as code. We have also treated the database as a living object that changes its structure with every iteration of the code. This practice takes discipline but the payoff is well worth it.In my daily job as a consultant, I am often frustrated to find many databases in a state of uncertainty. Not many teams embrace the concept of Agile Database Design, and those that do, struggle to get it right. Databases aren’t treated as first class citizens and definitely not as code. This results in databases quickly losing consistency with the code and over time becoming unmanageable behemoths.In this talk I discuss why treating your database as a first class citizen is important.I cover the techniques we have used over the past decade to make sure we treat the database as code, as well as the techniques we implement to manage ve. About Brent: I am a passionate technologist who enjoys providing leading-edge Information Technology services to medium and enterprise clients in a wide variety of sectors including retail, public, financial, media and communications, energy and the professional services industry.
I create value by bridging the gap between business and technology through a focus on strategy; people, processes, information and communication technology. I am skilled in a range of offerings extending from Microsoft Dynamics implementations with customization to bespoke software solution offerings using Visual Studio,.Net Framework, SharePoint Portal Server, BizTalk Server and Microsoft Azure. Office 365 Development, Cognitive Services, IOT and Bots I pendulum between delivering software solutions and mentoring and coaching partners, customers and ISV's to do the same.
About Dave: Dave is the Managing Partner and Co-Founder of Tangent Solutions. Prior to starting Tangent Solutions in 2010, Dave gained wide exposure into the Information Technology consulting industry in Johannesburg whilst working for a number of Gold Microsoft Partners and Blue Chip corporates including amongst others, the JSE, Investec, Standard Bank, Sun International and Liberty Life. Tangent focuses on delivering innovation and mobile and web applications that combine sexy UI and UX with high quality engineering. Tangent is a strong proponent of build automation and DevOps and have helped a number of enterprises implement digital transformation and reap the benefits thereof, allowing for quicker time to market, reduced build costs and improved quality. In the Digital age, good enough is not good enough.
Excellence is the only currency. I work as a Senior Developer at Dariel and started working in software over 10 years ago.I studied Electrical Engineering and am in the process of completing my Masters in Software Engineering. I have experience in a wide range of technologies including C# and.Net, Ruby, Chef, JavaScript, Angular and Knockout.I am currently based at a bank working with a team to provide a strategic project with a fully automated development pipeline using Chef, Ruby and Angular2.I run an internal training programme at work, was a presenter at Tech-Ed 2013, and have given a lecture on Software Security to 3rd year Engineering Students. How is it possible that a seemingly highly skilled team struggle to meet business deadlines whilst a team of average skilled professionals consistently deliver value to their client?
Do the skills of the team members have any outcome on the delivery of the team? Of course they do, but without the secret sauce even the best team will fail.
The uncomfortable truth is that human beings do not do ANYTHING unless they are sufficiently motivated to do so, despite what they may say they will do. Unfortunately, in most organisations, people learn to say what their managers want to hear and then still proceed to do the opposite. Why do people do this?
In this talk we will explore how an Agile approach makes average teams become great teams through the injection of one vital ingredient: motivation. We will explore how an Agile approach gets people in all kinds of industries (not only developers!) become motivated to be successful without them even realizing it. The key principles of Agile that, probably coincidently, addresses the fundamentals of human motivation, will be uncovered. Jaco heads DVT, a team of 600 staff that specialises in Agile software development, testing and related services for clients in South Africa and the United Kingdom. He has more than 20 years IT experience in the field of software development and has been involved in the architecture, design and construction of various size software development projects, some of which were in the utilities, financial and insurance industries. Jaco holds a doctorate in Computer Science from the University of Johannesburg and has focused his Ph.D.
Research on object oriented software design and information security. This talk will be an introduction to the Elm language (with live examples featuring the Dark Knight himself (and maybe other super heroes if time allows).Elm is a delightfully simple to learn typed functional programming language which compiles down to HTML, CSS and JavaScript and runs in the browser.Elm is also an opinionated framework for writing simple and elegant single page applications with a clear separation between models, views and updates. Think of it as React + Redux but put together in a single, easy to use framework that checks (well compiles) your code to protect you from all those funny JavaScript errors at runtime. Disclaimer: I am not using Elm in any serious capacity, just currently learning about it. I do however have JavaScript apps running in production.
I started out as a developer 15 years ago when I became fascinated with automation and how it could solve many of the problems I was experiencing. I currently lead the DevOps team at Derivco and co-host the Durban DevOps Meetup group. I am passionate about collaboration and automation, and spend a large amount of time finding ways to improve our software delivery pipeline and bringing people together to work on complex problems. When I’m not at work I enjoy spending time with my family and taking time out to run, cycle or workout at the gym.
If you haven’t heard about blockchain, you probably know Bitcoin. Blockchain is the underlying technology that powers Bitcoin. Although it was created to support Bitcoin, the blockchain concept can be defined regardless of the Bitcoin ecosystem. Experts say that blockchain will cause a revolution similar to the one enabled by the advent of the Internet.
But what is it really, and how can it be used to build apps today? In this talk, Badi explains the blockchain phenomenon to developers who primarily build web and mobile apps. You’ll understand the fundamentals of blockchain and how to get started with building apps with it. Badi is a lead developer at IQ Business and a Google Developer Expert (GDE) in the making.
Badi focuses on growing African businesses by solving problems and finding new and better ways of doing things using technology. Since beginning his career with Yahoo!, Badi has lived in four countries, worked on numerous projects for multi-national companies, led many software teams and built beautiful software.Badi is also an avid public speaker having spoken at more than 10 developer events and conferences in 2016 alone, including international conferences held at places like Romania, Denmark, Sweden, Kenya and at home here in South Africa. We create REST API’s to be integrated to system that are expected to at the end achieve a business defined goal. We never test against these requirement and wonder why we have to either add or rework some of our service because they don’t match requirements. Join me in this discussion as we bridge the great rift between business and technical using Cucumber-Serenity. This talk will expose you to writing normal English scenarios (test cases) that are translated into methods which test the actual contract you expose to the public and enable rich reporting for visibility. I wrote a document with more details about this, which can be requested, I am just going to highlight some of the points I want to talk about.The reason for having a database has changed.
It used to be only for persistence, but has now become a means of storing more and more data to be able to do meaningful analytics to help grow the organisation. I have gotten a lot of questions regarding 'Why do I use MongoDB, why is it better than SQL?' This talked is aimed at answering that question. To explain that it is the wrong question to ask, since neither is better than the other.
Each has different benefits and a different reason for use. With NoSQL (I will specifically talk about document stores) it is easy to make design changes and it's better for rapid development and deployment. It is also a good fit in the world of micro services. Choosing NoSQL vs SQL has more to do with the development process and less with the way of storing the data. With polyglotism it is also not necessary to only have one database. Calvin has worked in the professional services industry for over 18 years and in a number of major organisations, both in South Africa and abroad. He has a background of delivering highly complex solutions across a broad spectrum of businesses, including; financial services, engineering, logistics and government and has undertaken many roles including project management, project reviews, package selection, vendor assessments, solution architecture and implementation.
Denzil is an experienced senior Technologist with good Consultative skills. He has 9 years’ experience in the IT industry. Technically he spends 80/90% of his time coding with managerial tasks interspersed. His core skills lie within C#. He has worked across many technologies including, MVC, angular.js, node.js, mongodb, iOS development using Apple’s swift language, WPF, windows and web forms, Web Services, MS SQL, ASP.net, Raspberry Pi etc.
One of the oldest and most harmful misconceptions is that programming and testing are activities similar to manufacturing or construction in mature engineering disciplines, performed after the design has been completed. In this talk I will give the audience a fresh look at growing software, inspired by a 1992 article by Jack W. Reeves: “What is design?” I will show how software product development is a creative, collaborative design process involving the creative energy of all the role players.Finally we will take deep look at modern software design practices like Continuous Delivery, and see how it interlinks with disciplines like Lean Startup and UX Design and allow us to iterate fast toward superior solutions.
I'm founder of nReality and a software engineer who divides my time between coaching software development teams and building software products, mostly mobile (both native and hybrid). Most of my experience has been in developing crucial font-end applications in the financial industries: online trading, online banking, insurance and branch banking.I have plenty of SA and international software industry speaking experience, highlights being Agile 2015 Washington DC, and Agile Australia 2016. This is a new talk which I have been working on for months, and I plan to present it at a few events – I think it speaks to one of the biggest misunderstandings in software creation. Automated testing is becoming more visible as a critical practice for the development of high-quality and high-value software products. There is a lot of guidance around this practice, for example the Test Pyramid popularised as part of Continuous Delivery. A potential problem with this guidance is that the parameters involved in automated testing are changing all the time, for example the tools enabling automated testing are improving all the time. I developed the Dimensions of Tests Model as part of my coaching and training, with the aim of helping development teams have better conversations around why they want to have automated tests, and to help them decide which types of tests they should write.
Over the last couple of months I have been leading a team tasked with upgrading an extremely core component of our gaming systems. There are just 2 requirements for our project to be considered a success, seems easy right? Well we need to support near infinite scale (i.e. Google/Facebook load) for hundreds of millions of users, and everything in the system has to happen in real-time. If this system goes down, or runs poorly, the money printer stops.
After lots of research and testing we ended up picking Couchbase as our primary data store. In this session I will highlight some of the lessons learnt along the way - from coding to hardware infrastructure - that allows our clusters with billions of JSON documents to meet these lofty requirements. Collective code ownership is challenging. Different members of the team have different ideas of what 'well' written software is.
Personal styles often creep in making it easy to 'identify' who wrote what and introducing key man dependencies.In the past we have come up with various approaches to counter this from code reviews to pair programming. While they all help, what if there was a better way?What if there was a way we could get the best of everyone into all the code?What if while doing this new team members could become almost instantly productive, overall skill level increased by all involved, key man dependencies radically reduced and the overall output and quality increased?Over the last year I've used a technique that has done just that we call it mobbing. Mobbing has allowed us to speed up, scale up and skill up all at the same time.It sounds like a magic, but it isn't it has its set own challenges.Today I would like to share the journey I've had with mobbing with you. By the end of this sessi.
I've been involved in creating software for over two decades. Most of the time I have gotten it wrong, sometimes I've gotten it right. As I get older it feels like I am getting it right more often. I find nothing more fulfilling than being involved in creating something that has a real impact on other people's lives.I'm currently an engineering lead for MYOB in Auckland.I love sharing the insights I have gained from these experiences with others - I do this by speaking at events, writing andfacilitating workshops. DocumentDB is a fully managed schema-free global scale NoSQL database service built for fast and predictable performance, high availability, elastic scaling, global distribution, and ease of development. In this talk we will explore what's involved in working with DocumentDB including using the rich and familiar SQL ad hoc query capabilities, using and using JavaScript within the database and what it means to be able to store in DocumentDB for apps written for MongoDB with the new MongoDB protocol support.
I'm a technical all-rounder with many years of experience working with the various incarnations of Microsoft development tool and have worked extensively with SOL Server throughout my career. I currently work at Microsoft South Africa as a Cloud Data Solution Architect.
Most recently I have been working on projects utilizing Azure SQL Database and Data Warehouse, Azure Stream Analytics and Azure HDInsight (Microsoft's Azure distribution of Hadoop). I particularly enjoy the intersection of electronics, math, data and innovation. Akka.net is a port of Scala Akka. It uses the Actor model to provide a higher level of abstraction for writing concurrent and distributed systems. Getting up to 50 million messages per second on a single machine. Akka Actors have a small memory footprint with about 2.5 million actors per Gig of memory. In this talk we will see how we can use the Akka framework to simply create a concurrent and distributed system.
Hopefully looking to show how we can get about 10 million transaction a second (creating text data files) on a simple laptop. Rebecca is a Senior Android Developer based in Johannesburg, South Africa. She loves working with new technology and has a passion for making great user friendly products. During the day she works the DStv Now app adding new features and supporting old ones. In her spare time, she manages her open source app, Book Dash, which contains free African story books. She speaks at conferences and local meetups mainly about Android.
When not coding, she can be found baking and travelling the world. Previous talks: https://riggaroo.co.za/talks/. Burnout has been synonymous with the IT industry since its birth in the 60s and many good people have suffered the consequences. Everything in our industry is geared to pushing us towards burnout, with those resisting it often labeled as lazy or “not pulling their weight.” Even tinkering / playing / learning new technologies in your own time can be detrimental.
The objective of this talk is to equip people with a number of practical techniques to prevent burnout and attain that elusive “sustainable pace,” regardless of your boss’ demands. That way we can reduce the human and financial cost of burnout. The content is based on lessons learned in a 4000 person organization where employee performance was demanded and burnout was deemed unacceptable. Marius is a process improvement pragmatist. He has worked with individuals, teams, and organizations around the world, to find better ways of delivering on their promises by mainly employing Lean and Agile thinking. Marius' career has been a mix of external coach/consultant and full time employee, ranging from developer on a small team to senior executive of a 4000 person organization. This journey has provided him with first hand experience in the rewards of successful change and the deep learning that results from abandoned initiatives.
Though qualified as mechanical engineer, software has always been his passion, and helping others find joy in work, his motivation. With more and more data being available on the web, wouldn't it be nice to know how to access it? I'll show you just how easy it is to work out how a private API works by sending requests through an HTTP proxy, and how to scrape data directly out of web content when an API doesn't exist.Finally I'll detail the process I went through to discover and exploit a vulnerability in one of the largest [type redacted *] companies in SA, and how to avoid this in your company.* = currently going through the responsible disclosure period. Which will be up soon and they're publishing a fix soon. AppCapital built a realtime online auction and catalogue system in under 6 months, using the Google Firebase platform, coupled with native iOS and Android applications as well as a web portal built on AngularJS. The use of Firebase greatly improved the user experience, reduced the time to market and facilitated an Agile delivery against other technologies.
In this talk we demonstrate and show the code of the application(s), their commonality and their differences. We will also delve into the various design considerations and mindset changes required when using this technology stack to deliver an application, in a short amount of time, that surpasses client expectation and technical performance. You don’t really need a service bus, do you? There are service bus offerings out there, but they’re too complex and opinionated. Surely it’s easy enough to write your own messaging layer over a queuing technology like RabbitMQ or SQS.It doesn’t make sense to take a dependency on 3rd party software with millions of lines of code when you could have a lot more fun writing the perfect solution all by yourself. In this session, I’ll show you everything you need to know to build the ultimate service bus of your dreams from scratch.After all: how hard could it be? (Not sure if this is a bio, or just a thing about me.
I'm gonna assume it's a bio)A professional geek, William works for Particular Software writing amazing software like NServiceBus. Passionate about the web and security, he is engaged in a sordid love affair with JavaScript, and spends most of his free time trying to convince others of it's beauty and elegance.When not behind his laptop hacking away, this amatuer beer enthusiast can often be found playing boardgames or drinking cold-brew coffee. With every increasing speed of delivery required and a great need for exception devs, the amount of companies that can afford to employ a dev for every platform is quickly draining.Additionally, small projects have enough to decisions to make when trying to build the right app for their customer. Every project would benefit from being able to remove the decision of which platform to deliver to first. If it were possible to deliver a responsive app, while still developing for all platforms, it would be a no-brainer.NativeScript tries to achieve this by allowing developers to write in JS and compile down to truly native mobile apps. NativeScript is to Angular 2, what React Native is to React. The path of a craftsman is one of mastery.
Our industry is only starting to understand the implications of this. We are feeling the pains of losing our best craftsman to other countries or managerial positions, but don't really know what to do about it.For craftsman, this talk will give insight into the mastery model adapted from the Northern European guilds' model of apprenticeship.For leaders, this talk will help you to understand how to support your team members to grow in mastery, become more fulfilled and structure your organisation to nurture mastery as motivation. I've worked at Business Connexion and a few small companies and I will be running a dev start-up from 1st of January '17. I have a B.IT degree and a M.A. In Organisational Leadership.With a team of friends, I've written and presented my own full financial seminar. I've presented many times at a pre-marriage seminar. I've given a similar talk as the one I'm planning to give at DevConf to the Pretoria Dev User Group (you can ask Sean or Terence who were hosts for feedback).
I haven't given a talk at a conference like this before. The growth of the craft beer industry has been a boom stick for a dycotamy of new products, businesses and brewers across South Africa, though, like most businesses, brewers and event's organisers don't utilise the mountains of digital information and feedback available to them. Social media and data analytics tools offer brewers and events the ability to tap directly into the opinions, popularity and conversation of a consumer base that they'd not originally be able to. This intelligence can be most effective in small businesses like brewers who are small enough to adapt a moments notice over larger businesses.
I use craft beer and brewers as an example, but, this rules apply to all businesses and corporates in most industries. Hi there, My name is Brett Magill, I'm an entrepreneur based out of Alberton, South of Johannesburg and Maboneng, Jeppestown. I currently run three business; Milled.co.za; focusing on Millennial centric content in the entertainment, technology and business conversation, Joburgbrew.com a online retail store and beer of the month club, and lastly, Third Planet Media, a digital communications agency, focusing on paid media, data analytics and social media. I've spoken on topics such as eCommerce, startup entrepreneurship, craft beer and the craft beer industry, social media and digital communications and entrepreneurship overall. I've got more energy than I know what do with and more energy than most stages can handle. I am usually able to get a rise our of a crowd and keep the audience engaging and tweeting at the same time.
I'd like to speak at DevConf because, yes, it's a great opportunity to expose myself for further opportunities, but I also have the opportunity to add value to my audience out side social m. I'm a software developer who develops mobile apps for Discovery by day and tries to find ridiculously interesting projects to tinker with by night.My decade of work experience includes setting up an SMS service for USAID in Afghanistan, consulting on a mobile CRM system in Costa Rica and helping out with systems for an SMS campaign during presidential elections in Zambia.My tinkering has included computer vision, robotics and home automation projects. This has led to talks on using Sci-fi interfaces as inspiration, using computer vision to keep physical and electronic scrum boards in sync and getting started with robotics using Javascript. Architects, those that design buildings, study architecture from the past to the present to best understand their craft. As software developers we aren't easily afforded this opportunity, this has always frustrated me, and has thus lead me to always want to share with my fellow craftsmen. In this talk I lift the veil on a two of my enterprise projects implemented using a message based architecture.
I walk through the architecture of the projects highlighting the SOA patterns used. The first architecture focuses on patterns employed for performance and scalability and the second focuses on big data principles for data visualisation using projections and the lambda architecture. This presentation also focuses on the do's and don'ts when designing a scalable message based architecture, as well as potential technology you may consider such as NServiceBus. Chris Tite is a director and co-founder of Kaleidocode, a software consultancy based in Durban. He earned his B.Sc. Electronic Engineering through the University of Natal and has 22 years of software development experience, spanning multiple countries, technologies and industries as diverse as banking, farming, health services, call centres and financial services. Currently Chris can be found either overseeing the architecture at Kaleidocode, mentoring the intern programme which is run through the company twice a year, or giving talks around the country through his inStruct Series, or through the Durban Agile User Group, where he is well known for sharing his love of craft beer with active contributors during his talks.
The World we live in today makes us deal with a lot of information. The solutions we put out there also have the same problem. We collect a lot of data through our applications and we try to give these data back in a non-asphyxiating fashion. Doing this with a single data storage technology will make you feel definite agony even on a medium-scale solution.
Furthermore, it's next to impossible to provide a viable solution in a large scale products like Foursquare and Twitter. This is where polyglot persistence comes into picture. As much as the word 'polyglot persistence' sounds extremely fancy to your ears, it's also not that straightforward to adopt in a solution; especially in existing ones. Come and join me in this session to learn about what most matters in this type of architecture to build a viable, maintainable solution. Also, I will be talking about how to make decisions to choose the right data storage technologies based on my personal experiences I gained with the side project I am spending my nights on.By the end of the talk, polyglot persistence should seem less scary and you would at least have a one real world example in your mind on how a solution is being architected where polyglot persistence is the solid foundation. I am a web guy, Microsoft MVP and software developer specialized mainly on.NET Web technologies.
I've worked at the tourism industry to build tourism software services and products for long time and now, I am working at Redgate Software as a Software Developer helping people do database delivery in a joyful way. I am also a very involved member in the community and try my way to expose my knowledge to others through my blog, webcasts, authoring books, giving talks on various topics and so on. I live in lovely and green Cambridge, UK and I am married to a lovely woman. Speaker Experience: I have been speaking in international conferences and local user group events for last four years. A few examples: I have spoken at That Conference in US, Web European Conference in Milan, Progressive.NET Tutorials in London, /dev/summer in Cambridge and Azure Conf 2014 Virtual Event and many other local events in UK and Turkey. In addition to that, I have some upcomming speaking engagements scheduled like Codemash 2016, in USA.
When I started out with app development I had zero knowledge on app development, all I had was just design skills. I got over my fear starting on developing an app by testing the waters by building an app based on my experiences. After building a few apps, I got to advance my XAML skills.
This later got me to build an award winning app with minimum skill set on building an app. • Discover a simplest way to build a basic app. • Gain insights on different tools • Applying new skills to real life problems. Griffiths Sibeko, a lifelong learner with a grade zero mentality who draws his design inspiration from nature, human interactions and communication patterns. Learning how to use a computer at the public library at age 11 where the staff was always sceptical that he would break the equipment, he got to excel at using computers and got his first promotion from owning a library card to owning a library staff card. He later then realised his passion to design and develop solutions to help better ways in which people interact with the world around them. Griffiths' work range from software design and development, knowledge management, and digital design.
Griffiths has skills on various Microsoft technologies and has since published various apps on the Windows store. Griffiths was awarded the MTN Best App Garage Developer 2014 for the Rea Vaya app he designed and developed beginning of January 2014 in a quest to solve some of the issues he encountered when using the service. After finishing an internship program at the Microsoft AppFactory, Griffiths now works for Zapper which is a successful mobile payment solution company he competed with at the MTN App Awards for the consumer choice award and is based in Cape Town. After hours, apart from working on local relevant solutions, he is furthering his understanding on software develop and to better his skills. How many times have you wanted to start a new project in Java EE, but struggled to put all the pieces together?
Has the Maven archetype syntax left you scratching your head? Everyone else is talking about cool new tools in other languages or frameworks, and you're left thinking, 'I wish it were that easy for me.' Are rapid prototyping tools a thing of the past? JBoss Forge is the tooling and technology you have been waiting for! It will blow your mind how easy it makes development. Just say 'hold on, let’s prototype that', 'Yes, that is what we need!' We’ll first see the insane productivity this tool offers, and create a full JEE multi-tiered application in under 5 minutes!
Restful services made with 2 lines! Swop out our JSF layer for angular in one statement! Oh the horror stories about SQL Server systems that I could tell. Over the years I've come to realise that most of the worst problems could have been avoided if a few things were more widely known, So in the interests of preserving my sanity (and my weekends) I'm going to talk about a few things that I really, really wish more developers knew.
Learn the importance of good database design, the reasons for SQL's locking behaviours, the use of indexes, the risks of functions, the need for maintenace, and more. Colin Dembovsky is a senior DevOps practitioner for Seattle-based Northwest Cadence. He is currently based in Cape Town, South Africa. After completing an MSc in Computer Science at Rhodes University, he worked as a developer (first in Linux/C++ and moving to.NET/C#) and later systems architect.
He left development work to start ALM consulting, and has been a Microsoft ALM MVP since 2011. He is passionate about helping teams embrace DevOps as a journey, without self-destructing on the way.
When he is not working on improving DevOps somewhere around the world, he is playing guitar or mandolin and recording in his home studio, or entertaining his wife and 2 kids. Colin is a frequent guest speaker and has appeared several times at DevDays SA and TechEd Africa. Over the past year (and a bit) our team has been working with RabbitMQ on our production lead management system. We adopted it as the base of our unproven 'Service Bus' based architecture that we wanted to try out. This talk will share learnings, take-aways (eaten), technologies adopted and options, lessons learn, pain and tumblebeasts experienced and other near homicidal ideas. What are they? • Reasons why to design disconnected systems (benefits) • Things to expect when moving to queue based systems (pitfalls) • Examples of service bus systems that exist.
Having loved computer science at school I realised that software development was my calling; I moved on to complete my B.Sc. HONS Computer science at UCT (long before #feesmustfall). I have been working with C# for last 11 years, moving from front end development focused on Windows forms to back end development services and now slightly begrudgingly towards web (but mainly the services behind the scenes). Moving from 5 years of working in the 'casino world' and the 100% uptime that comes with it, I moved to JAG Method to help revolutionise their IT systems. JAG Method is one of SA's largest online lead generators.
We specialise in generating leads for the financial services industry (no we are not those SPAMMER guys!). Adopting an unproven service bus based design our small team has rewritten the 10,000 line one-file VB service (sexy!) into a multi-service, service bus oriented system with full management portal and monitoring (scary!). We currently process between 4000 and 8000 leads a day which are received, cleaned, run through a rules engine and then send on to the insurers for conversion. Design thinking is a methodology used by designers to create innovative and effective solutions. Most scientific methodologies of working take all the known factors into account when deriving a solution, whereas, design thinking analyses both the known and the unknown.
It challenges us to delve deeper into the problem and read between the lines before forming a solution. This talk aims to provide insight into activities and practices that assist developers in building effective, robust, and usable software by utilising the design thinking methodology. The outcome of this talk is to highlight the benefits for the developer, team, client, and project in being a design thinker. It is to also convey some practices that the audience can immediately apply in their working lives to better themselves and their projects. Rishal is currently fulfilling the role of a team lead at Entelect. He is a senior software engineer designing and building solutions for various national and international blue chip clients. Rishal is also the founder of Prolific Idea where innovation in software is cultivated through technology and research.
He has a passion for web and enterprise architecture, mobile development, and user experience design. Rishal is an avid speaker at various conferences and user groups such as Tech4Africa, JSinSA, Java SA, RubyFuZA, Jozi JUG, Jozi Android UG, and the Gauteng Dev UG. Mark Biagio Solution architect, software engineer and aggressive agilest.
Mark has a passion for well-constructed clean code and loves building pretty much anything - mobile, web and complex enterprise line of business applications. It must just work and bring value. Adriaan Putter Senior software developer with a passion for web development and open source technologies.
Adriaan is driven to build the best simple solution using the technologies, platforms and tools that fit the requirement, and unit testing, always, fits the requirement. The gang of four make two important statements in their book. 'Program to an interface and not an implementation' and 'Prefer composition over inheritance' This talk is about more than just that it's about what we call the two pillars of javascript. Prototypical inheritance and Functional Programming and how we can use the two pillars to enable composition. • Learn when and where to use composition • Get a better understanding about how prototypes and classes work in javascript • Learn about functional tools closures, lambdas, functors, higher order functions, etc.
Ben is a javascript developer trying their best to manage complexity and constraints in software design. Ben has been building software for as long as they can remember and has built everything from accident and traffic management software for Government, to digital contract management software, to itinerary builders and presenters for travel companies. Ben currently works at Red Comet Labs and worked at Go2africa in the past. In the past Ben has worked with British and South African Government, at Unboxed Consulting and, at Microzone. With most new technologies it looks very simple when you have done a little 'Hello World' tutorial. However, when you start implementing it in your enterprise and it needs to work at scale then simple isn't that simple anymore and all kinds of problems start showing their ugly faces. There isn't any difference when it comes to NoSQL.
With more solutions starting to contain NoSQL components more developers will need to come to terms with what to expect in the real world. Scaling isn't the only problem you will face.
In this session we will look at the different types of NoSQL databases and unpack a few of the important issues you need to address to ensure you don't discover these ugly face problems late on a Saturday night when production goes down. The session will cover all major NoSQL database types and look at the two or three main issues of each to be aware of and how to solve them. I am a technhical lead and part-time trainer at BBD. I'm currently drifting around in the banking space. I have been a developer for the last 15 years and hold an MEng from Wits. When I'm not working or trying my hand at something new in the technology world I like to run.
I'm currently training for my first Comrades marathon this year. I am part of the Jozi-Jug committee and presented 2 talks at the JUG last year, one on Swagger and the other one on the value of certifications. I also present the Java expert level certification training at BBD. Becoming the next Uber is only possible when bringing your ideas faster to your end users. Some aspects of DevOps are perfect for that as it only works if Ops and Dev work closely together.
But what does this mean for you as a developers? Delivering code faster with the high chance of failing faster?
In my opinion we need to look at Key Technical Metrics such as Memory Usage per User or Request, # of SQLs, # of Service Calls, Transferred Bytes. - these are metrics you need to track starting at your workstation all the way through CI into Ops – and don’t forget the Business: How often is the new feature really used? What does it cost to run it? Let these metrics act as Quality Gateways and stop builds early before they Crash your System: faster than ever. In this session we look at how companies like Facebook, CreditOne and Co apply metric-driven DevOps.
We look at use cases that crashed rapid deployments, identify metrics that identify the reason of the crash and learn how to use these metrics to steer your pipeline to build better code, deploy faster, without failing faster! Andreas Grabner is a performance engineer who has been working in this field for the past fifteen years. Andreas helps organizations identify the real problems in their applications and then uses this knowledge to teach others how to avoid the problems by sharing engineering best practices.
He was a developer, tester, and evangelist for Segue Software, builders of the Silk Testing product line. Later Andreas joined Dynatrace where, for the past eight years, he has helped organizations worldwide test applications, better understand the technologies behind their apps, and improve the entire development process. He shares his expertise on blog.dynatrace.com Conferences I spoke at: JavaOne 2015, Java South Africa 2015, Velocity, STPCon, StarWest, Agile Testing Days. Some of the meetups I spoke at last year: Java New York, Web Perf Chicago,.NET Devs in Redmond, DevOps Boston, DevOps Berlin, Web Perf Amsterdam.
Corneil is a Software Architect and Developer with over 30 years experience in all manner of software development technologies on hardware from embedded systems to Mainframes and just about everyting in between. He has written software using Assembler, Pascal, C, C++, Java and a few more languages. He has a special interest in developer productivity using a variety of patterns and tools to improve the feedback cycle. Corneil presented at the inaugural Java South Africa Conference in Cape Town during November 2015 and at various JUGSA and Developer User Group meetings over the past few years.
When working in a team environment, code-reviews are an essential step in the process of producing code. Reviewing code decreases “silos” by increasing mutual understanding, exposes bugs/pitfalls and allows you to maintain consistency and quality. I’ll be sharing some of my experiences with the Zando team, how we work and the tools we use.
• Learn how to conduct productive and critical code-reviews • Behaviours to encourage and discourage in code-reviews • Habits to develop in your team to lead to fewer defects in production. Testing is important, but I am lazy. So why spending copious time thinking about test cases when your computer can do this for you in a fraction of the time? In this talk, I will show you how to use an awesome approach called property-based testing. It allows you to automatically generate test values based on the properties of the things you want to test, from primitive types, all the way to arbitrary data structures. Generating copious amount of random data can certainly break things but sometimes you want to find out which particular test case causes your system to fail. This ability to hone on the particular bug (it is called shrinking) is extremely useful and almost makes property-based testing very hard to distinguish from magic.
I will use Scala, a typed functional programming language as a driver for demonstration, together with the ScalaTest and ScalaCheck frameworks. The principles of properties-based testing have been applied successfully to many other languages, from Haskell to Erlang and I will briefly touch on those as well. I am a self-employed consultant doing Software Engineering (mostly in Scala) and DevOps (mostly with Ansible). I am from Martinique and I've been in South Africa for over 3 years. I currently work in the TV broadcast industry building software solutions to help media companies produce news and sport content.In a previous life I was doing a lot of work on distributed systems and configuration management at HP Labs. I've started the Scala and Ansible Meetups in Johannesburg where I try whenever possible to hammer in the benefits of functional programming and automation while feeding people some pizzas.
I've given talks at Meetups in Johanesburg and at Tech4Africa on topics such as Scala, DevOps and Continuous Delivery. Building extraordinary user experience requires extraordinary capabilities.
Among these capabilities, persistence of data is one of the most important one. We need a database that is fast, scalable and supported by world-class infrastructure, has a wide-variety of APIs, allows for clean code and needs less coding. FireBase, Google's NoSQL cloud database, provides just that. Auto-scale to millions of users; real-time user experience; easy-to-use APIs. It allows developers to build extraordinary mobile and web apps.
With FireBase, you can build and build fast for any device. FireBase also supports REST API natively. This session will be focussed on providing a practical overview of this awesome database with coding examples. Badi is a developer, architect and agile practitioner with over 14 years of professional experience in a wide range of software development roles. He excels as a solo developer, team member, team leader, or manager of multiple distributed teams. Badi started his career at Yahoo!
He has since evolved as a thought leader in the field of software architecture, software design and development for the web, the desktop and mobile platforms. Badi has spoken at, and contributed to, numerous internal training events and International conferences like the Free and Open Source Software conference (India), the Unicode Conference (USA) etc. He is currently a leading technologist at IQ Business, South Africa. He works closely with clients to define ideas and deliver products. In this session I will discuss the importance of analytics in the application life cycle and how to use it to drive change that improves the end users' experience of applications. This includes how to define meaningful metrics to measure so that the data being used to inform decisions is accurate and reflects the actual usage of the system. I will be showing attendees Google Tag Manager(GTM) with Google Analytics(GA), as an example of tag managers and why they should be using them instead of implementing analytics tags straight into their applications.
The techniques for that I'll discuss can be used for other tag managers, like Omniture, but I chose GTM since it's free to use so attendees can start playing around with it straight away. With the advancement of Software Development, developers' capability to test their own code has been greatly improved.
IDEs and automated testing tools are enabling developers to easily create unit, integration, regression and any other tests as required. The widespread availability and use of automated build tools that aid testing, and practices like TDD, do we still need human testers in a software development team? Do testers have a role in this ever improving environment of automated testing?
What skills and value do they bring? What is the mindset that keeps a tester relevant and valuable in a software development team? Originally from Zimbabwe, with working experience in a few African countries, Oz currently works as a software tester in a mature development team. He believes thinking is his strongest skill in his bag of many and varied tricks. With over 15 years of experience, mainly in financial systems, he is focused on solving the right problems, the right way. A co-organiser of the Joburg Software Testers meetup, Oz loves to interact, learn and grow with the community.
He enjoys a good coffee, especially with developers and other non testers alike. He has spoken at Agile Africa 2015, and co-facilitated a workshop at Lets Test Conference South Africa. I'm Joshua, and I used to be addicted to mocks. I fell in love with TDD many years ago. In the past, every class I wrote had its own unit test and was perfectly isolated from its collaborators using mocks. More recently, I've changed my specification test philosophy quite drastically, to the point where I now no longer use mocks or other test doubles unless I absolutely have to. I believe my specification tests are now much more valuable, understandable, changeable, and also smaller and quicker to write.
My production code is much easier to refactor, and I can also start releasing my code earlier. Let me tell you my story of rehabilitation and liberation from my addiction to mocks and how I came to see the light. Graphs are great for discovering connections between things, but what if you want to search as well as do recommendations or exploration? It's time for polyglot persistence: store your connections in the graph, the indexed documents in Elasticsearch, images in some random key-value store, logs in Splunk and maybe some tabular data in your SQL Database. It's not rocket science, but I would like to share the way we designed our data stores to connect the graph and other stores elegantly. I'll start with a super-quick overview of Neo4j and Elasticsearch and then dive straight into connecting the two. I'll follow that up with why you might want to do this, and what kinds of applications could you build with it.
How many people are using your website right now? Which features are their favourite?
Are they experiencing errors? Getting stuck? How are your servers performing? Is your code easy to work with?
Are you making money? Dashboards are a way to have the answers to these questions all around you, all the time.
Join Rouan as he shows you why building dashboards will change the way you look at software. He’ll share concrete examples of the kinds of dashboards you could build and will show you the tools with which you can build them. He’ll introduce you to principles that will guide you as you make decisions about what you dashboard, how you treat data and how you use data to make decisions. Rouan Wilsenach is a software developer at ThoughtWorks.
He has built software for companies in the financial services, health, media and education sectors. He has worked as a consultant and coach, helping teams learn and adopt good engineering practices and has helped businesses with organisation-wide agile adoption. He enjoys setting up feedback loops that lead to good ideas and setting up automation to help get those ideas to production. He has spoken at several conferences including Agile Africa, Scrum Gathering and JavaScript in South Africa. We all have a favourite actor. For some of us it's a heavy hitter like Robert Downey Jr, for others: the more obscure the actor the better. Regardless of how good the actor is though, he or she can only act out one scene at a time.
The same is true for systems that implement the Actor Model - a conceptual model aimed at reducing the complexity associated with concurrency. By treating a piece of computation as an 'actor' we can direct multiple actors into a single, fluid scene that describes complex business scenarios in a simple fashion all while make sure each actor only has to do one thing at a time.
Join William as he sets the scene for explaining the Actor Model, and tries to fit as many bad actor puns into one talk as he can. In 1961, in his chapter about testing in his book 'Computer Programming Fundamentals', Jerry Weinberg wrote - 'It is, of course, difficult to have the machine check how well the program matches the intent of the programmer without giving a great deal of information about that intent. If we had some simple way of presenting that kind of information to the machine for checking, we might just as well have the machine do the coding.
Let us not forget that complex logical operations occur through a combination of simple instructions executed by the computer and not by the computer logically deducing or inferring what is desired.' Are you testing if you have a set of automated tests that you consistently run? Do you need a human doing testing? Why bother testing at all? In this session, I would like to discuss and debate what 'Testing' means to people. I have heard so many developers say 'TDD is great in concept, but I can't use it in my current project. I'll wait for my next project to introduce it.'
And they never do. Let's be honest TDD is not easy, especially when you have a large legacy code base to deal with, and if you are waiting for the perfect situation to start it may never come around.
You need to make it happen. This talk will give you practical handles on how to introduce TDD as one of your development practices in your existing brownfields (legacy) project. When do we start? Well, there is no better time than the present!
People are using our web applications on mobile devices, so internet connectivity is no longer always guaranteed. We need to build applications that work offline. Enter PouchDB, a database that works in the browser and CouchDB, a NoSql database that replicates. Combine both of these and you can build responsive applications that work whether the user is online or offline. In this talk I will introduce both of these great database technologies, show you how to get started with CouchDB and PouchDB, and demo many ways you can combine them for an amazing web experience for your users. Nowadays, infrastructure automation is a necessity to achieve repeatability of deployment processes across multiple servers with minimal/zero human intervention.
Yet, mere automation has proven to be insufficient when trying to keep up with ever growing business requirements. Tools such as Puppet, Chef and Ansible have consequently emerged to ensure versatility and consistency of automated infrastructure. These tools provide ways to treat server provisioning and configuration management as we would treat software source code; thus making it possible to apply software development practices. Unfortunately, just like with the rest of our software code, infrastructure code can grow difficult to maintain when good practices are not followed thoroughly.
And that is even a bigger problem when multiple teams are involved. In this session, I will share my experience of some Chef anti-patterns.
I will then discuss the approaches that can be taken to address them. More specifically, I will show how software principles such as DRY, domain modelling and versioning can make a difference for teams who need to collaborate on automated infrastructure. We're stuck in limbo with angularjs 1.x, knowing that v2 is looming large on the horizon - with significant changes, but no clear upgrade path.
In this session we'll focus on some of the major design flaws of angular 1, the reasons behind the change, and work through how to best future-proof your code. Even if angular 2 doesn't become a 'thing', we can make our angular 1 code the best it could be.
Major changes between angular 1 and angular 2 How to avoid the biggest angular 1 performance pitfalls How to structure and partition angular applications for development at scale (both amount of functionality and team size). How to start preparing existing angular applications for v2.
Mike Geyser is a programmer at BBD, specialising in designing and building for the web platform. He's been hacking on the web since geocities was a thing, has a long-lived love affair with javascript, and has (almost) come to terms with the fact that he will never have a programmer beard. While he has worked on some interesting large-scale enterprise applications, it is the challenges of the public web that really appeals to him - having earned his stripes on high volume transactional websites. He works primarily in javascript, C# and (unfortunately) java, and seldom refers to himself in the third person. Johann is an extremely passionate engineer and long time techie. He has a passion for continued learning and playing and due to this he holds a wide scope of language / framework / service knowledge and always trying to find the tools that fit. Johann has a deep understanding of systems ranging from embedded to large data processing services; and is also experienced in developing successful services from front to back.
He is currently working on a ton of cool products. He is a regular on the local tech scene in Cape Town and attends every conference possible. He also helps to run the local NodeJS chapter (meetup.com/nodecpt/) and helps other groups organize and source speakers. Johann is experienced in building and team leading large scale systems with past work examples such as a Data Aggregation and Reporting service being used by a few US based financial companies. Currently, his main focus is building and leading development for a real time betting site, where large amounts of data needs to be processed and shown in a way that makes sense to the user. He also builds, maintains and leads one of the four national microchip databases for Southern-Africa that is currently working with a few local organisations to find pets that have gone missing and get them home. Everybody seems to be in agreement that maintenance is the most expensive phase of software development and that we as developers read more code than we write.
There has also been better adoption of agile methodologies and continuous delivery which are essentially putting parts of your code live (and therefore in maintenance) much earlier. What all this means is that there is a very clear need for focused refactoring to make live code more readable and hence more maintainable. Of course, this has to be balanced against the cost implication - rewriting all bad code you come across is not sustainable either. In this session we will look at how we can use forensic techniques to identify bad design and the code most in need of refactoring in your projects.
We will use version control data along with complexity measures to identify hotspots in your code that is not only complex, but that changes often. By doing this we can focus our refactoring on the code that will slow us down most often. The techniques used is tool and language independent, so will work on pretty much any project you may be maintaining. I'm a software developer who develops mobile apps for Discovery by day and tries to find ridiculously interesting projects to tinker with by night.
My decade of work experience includes setting up an SMS service for USAID in Afghanistan, consulting on a mobile CRM system in Costa Rica and helping out with systems for an SMS campaign during presidential elections in Zambia. My tinkering has included computer vision, robotics and home automation projects. This has led to talks on using Sci-fi interfaces as inspiration, using computer vision to keep physical and electronic scrum boards in sync and getting started with robotics using Javascript. However, what I am really passionate about is producing quality code. I'm always looking for better ways to refactor legacy code. Writing unit tests for your C# or Java code these days is a pretty well known and well covered topic. What about your database code?
There are still many companies out there who have large SQL Server databases with many lines of code that are untested. If you thought it wasn't possible to write tests for your database code, come along to my presentation and let me show you how to get started. • Where to find tSQLt and how to install it • How to write a simple tSQLt unit test • Key features that make tSQLt a solid option for database unit testing. My name is Andrew Russell. I am currently working as a Team Leader at Chillisoft a company based in Hillcrest, KZN. I have about 20 years of commercial programming experience and have worked in a number of sectors including commercial and investment banking, transport, insurance and government.
I have worked on many greenfields and brownfields projects over the years and worked with a wide range of developers. At Chillisoft I am responsible for driving our deliberate practice (as a company we spend about 5-6 hours a week working on sharpening our skills outside of our production work) and I am also involved in running some of our tSQLt training courses. Git is an amazingly useful and powerful tool. Continuous Integration and (Continuous deployments) are incredibly valuable practices. But are they compatible? How do Git's major advantages such as cheap branching fly in the face of continuous integration?
Is there a way to use the popular Git-Flow process and still have true CI? I would like to explore my journey into using Git and CI thoughout my career, and I'll cover the various lessons learnt and viewpoints held and how they have changed. I'm not promising to have a solution to the problems posed, but I would like to stir up some debate and get people to think about their processes rather than just following practices that seem to be buzzwords.
My name is Duane McKibbin. I have been a software developer for 10 years working in various fields. I started in Machine to machine communications (IOT before it was a buzzword;) ) at Siemens, writing embedded j2me software as well as the corresponding j2ee server code.
I then worked at a startup developing an electrical smart grid system aimed at preventing load shedding. My main responsibility was a handheld device used for field installations (.net compact framework), but I helped out on the Java server side as well. I dipped my toes into some embedded C++ but nothing much to speak of. I now work at Entelect Software as a Team Lead. I am currently based at Ashburton Investments but previously worked on various projects in various industries including medical aid, debt consolodation and imports. I have a real passion for web development, particularly front end javascript applications.
I also attempt to blog at www.continuousdeveloper.co.za, where I talk mainly about CI and Continuous delivery, though I have fallen a bit behind lately. I love to share my knowledge with other developers and am always keen to learn something new. I have previously presented internal training forums within Entelect as well as at our internal DevDay conference. This would be my first foray into speaking in the wider community.
On a personal note, I am married and have a 1 year old daughter who keeps me very busy when I'm not in the office. I plan to give a high level overview of React.Js to the audience, so that they will feel comfortable with the general concepts and know how to get started. Many people would have heard of React.Js and will want to know what all the fuss is about. This talk will give a brief outline of the history of React.Js, why it is incredibly useful and the problems it solves. I will give brief code examples (showing the outline of a React.Js component), but will not go in-depth. I will however provide links to many websites that give in-depth tutorials and will also provide a boilerplate Github repository for interested listeners to pursue further. Developers often feel de-motivated, disempowered and under-utilized.
Especially if working in big teams or in big corporations. I want to help developers identify where these feelings come from and give them ideas on how to adjust their behaviour and mind-set. It’s not easy to change other people or organisations, but it is possible to change your own behaviour and attitude. Very often when we change ourselves, others respond and follow.
However I believe that the developers are not aware of how significant an impact they personally can have on the success of a team and the software created. I want to share my pragmatic opinions, ideas and tools that technical people can use to improve their job satisfaction. However I believe that the developers and testers are not aware of how significant an impact they personally can have on the success of a team and the software created.
There are so many ways that they can influence and lead even as a junior or new member of a team. My software engineering background with +-7 years as a C++ developer gave me a practical understanding of the intricacies that are involved in teams of smart creative people creating successful software.
My first job at Nokia in Cambridge UK in the 90’s gave me a benchmark for what teams can achieve. I was disappointed and despondent when coming back to SA. Spending a few years in our corporates, I felt very dis-empowered and frustrated as a developer. I started learning “tricks” and an attitude that enabled me to develop successful products despite the constraints of the organisation and team I was working in.
Since then I have worked in inspirationally successful teams and dysfunctional teams. I have been always been fascinated about understanding what makes the difference between happy and dysfunctional teams. I have had to grow and learn hard lessons on how my mind-set and attitude affected the team and therefore the success of the software created.
Running my own custom software development company and co-founding a start-up gave me the opportunity to create and grown many teams myself. I also got to play all the different roles in a development team – tester, developer, product owner, scrum master, project manager and even the support consultant on my own product. I now have lots of opinions, ideas, practices and tools. I use these extensively in the teams I am now leading. I fill my “spare” time with mentoring young entrepreneurs, testers and developers Presentation: “Agile practices for tech start-ups” - 2015 Scrum gathering.
I started out as a developer 15 years ago when I became fascinated with automation and how it could solve many of the problems I was experiencing. I currently lead the DevOps team at Derivco and co-host the Durban DevOps Meetup group. I am passionate about collaboration and automation, and spend a large amount of time finding ways to improve our software delivery pipeline and bringing people together to work on complex problems. When I’m not at work I enjoy spending time with my family and taking time out to run, cycle or workout at the gym.
Most developers have an idea of what refactoring is, but can quickly paint themselves into a corner by not sticking to a safety first rule. Statically typed languages typically have great refactoring support, yet developers tend to rather rely on a slower refactor-compile-fix-errors cycle than a safely-refactor cycle during development. This session will address the true meaning of refactoring, and how using small, safe refactoring steps can actually speed up development, reduce stress, help you live longer, and swear less. Some of the benefits of switching from a row representation of data into columns is that it enables one with an ability to pivot a given dataset which can lead a reduction of the size of your dataset. For instance, if you have 5 rows with each indicating the number of apples bought by Themba over 5 months – you can use SQL Server to rotate the data around in a such a way that only one row is displayed with all Themba’s apple-buying history. Therefore, this proposed session utilises SQL Server Management Studio client, SQL Server Statistics and Actual Execution Plans to illustrate row-to-column representation of data using SQL Server built-in methods such as CURSOR, PIVOT, XML and Dynamic Transact SQL. Sifiso is a Johannesburg based certified Microsoft professional within a wide range of competencies such as SQL Server, Business Intelligence and Data Warehousing, and Visual Studio Application Lifecycle Management.
He is the member of the Johannesburg SQL User Group and also hold a Master’s Degree in MCom IT Management from the University of Johannesburg. He blogs at selectsifiso.net and has published several articles at SQLShack.com and SQLServerCentral.com. He currently works for Clientele as Data Warehouse Development Supervisor. Take your CI server from good to great!
I'll share some examples of graduating your CI from tester, merger, deployer into a productive member of the team. CI servers can: * Run static analysis tools to guide refactorings and enforce team standards * Upgrade dependencies (local and external) and run tests, catching breaking changes early * Check for security vulnerabilities, in the app and dependencies (CVE's) * Build with stricter configurations to catch other issues * Run any other repeatable process that would be mundane for good developers, freeing them to focus on the 10x stuff. 10 people delivering more than a department of 150. How is that possible? In his work as a coach the speaker has seen how small nimble software teams outperform large enterprise teams by a factor of 10 to 1 or more.
This talk explores the causes this phenomenon and how to effectively scale software development. Scaling software development is usually driven by a need for teams to deliver more features with increasing complexity faster. Typically companies address this need by increasing team size without considering others factors that affect a team’s ability to deliver. In this talk the speaker will explore characteristics that enables teams to scale their software development capacity without growing headcount. This talk will use model and simulations of value streams to visualise explore factors such as batch sizes, process overheard, feature selection and scoping, defect management, team size, team organisation, capacity management, and task switching. The speaker will look at how modern software development practices that has an effect on these factors. (such as TDD, Continuous Integration and Delivery, Story Mapping, Pair and Mob programming).