Ann Mwangi is a software developer and consultant at ThoughtWorks for projects across different domains mainly in Uganda and Australia. She had a stint as a quality analyst to understand the challenges of maintaining quality in a system.
Ann contributes to open source projects and has served as a mentor with groups like Rails Girls, coaching and working with young people interested in IT. Ann is an international speaker with experience speaking across 4 continents. She is intrigued by the complexity of life, people, and how teams effectively work together.
Ann hates being stagnant in life and thus keeps seeking for opportunities to grow both personally and professionally.
As the cloud becomes more popular, many cloud-inexperienced architects wonder whether migration to the cloud is the correct way to scale. When they decide to migrate they have to figure out where to start from and which components to use. This talk is not about a particular cloud vendor but the questions and considerations to take while deciding on a cloud architecture for your business.
After deciding to migrate to the cloud, the architecture design will determine the success rate of the infrastructure. This architecture needs to be robust and well thought of to ensure that it handles all the requirements at hand and flexible enough for the future.
This talk is about considerations to take while designing a system, including:
The intended clients
Investment decisions
The business strategy
The development team
Choice of tools
Good development practices
Here we also discuss common pitfalls of the architecture design process, including choosing tools.
In the past, the software development process was divided into various stages, from the business defining the requirements, then the developers building the software, then the testers test it to ensure that there are no bugs in the application, then it is passed over to the operations team who release it to production and a support team to maintain it.
Over time the process has been changing to accomodate feedback to each stage of the software lifecycle and release software faster by bringing the team to work collaboratively and make it less of a staged process. A part of this improvement, a devops culture has emerged where the developers and the operations team work together in the development and deploying the application. This in itself has brought up a lot of challenges while still leaving the technical support of the application to another team, who did not develop it.
This talk:
Highlights misconceptions of the various team functions
Evaluates various ways to streamline the process of building, releasing and supporting software
Evaluate a way forward where the whole team can achieve their needs and continue being productive.
Examine what is in it for the developers? The operations team? The business? The customer?
The talk is conducted in a well paced, highly-interactive style to keep the audience engaged throughout with examples that are drawn from previous projects that I have worked on.
Having worked with different teams over time, a pattern has emerged: The success of a team does not rely entirely on the technical knowledge of each member, but another cohesive power that keeps a team together and enables it to excel. This presentation looks at how emotional intelligence is the other cohesive force that helps teams increase their performance, through through traits defined by author Daniel Goleman. This talk defines what success may look like in different teams, and how to use emotional intelligence to define and achieve it.
This talk challenges each person to increase their emotional intelligence while also helping others in their team grow everyday. It also encourages everyone to try out one trait that they may be lacking it and look for best ways to develop it daily. Attendees learn how a team can best utilise individual and varied strengths to build a more productive and cohesive team.
As Cloud computing becomes more popular and many businesses are keen to adopt it,one of their major concerns is security. In spite of the hype accompanying it and the success stories from the large organisations who have adopted, there are also numerous examples of breaches that have been experienced in the cloud. Many businesses would like to know how to create a secure cloud infrastructure to ensure that all their applications and data is well protected.
This talk is based on my experience in different projects that I have been involved in, some pitfalls that my team has fallen into and considerations that we can take while preparing for new cloud infrastructure.
This talk is not about a particular cloud vendor solutions but about the questions and considerations to take to ensure that your cloud infrastructure is secure.
The considerations include:
Ensuring data is securely protected from anyone who would want to access it.
Encrypting the data so that if it got to the wrong people
Authentication to ensure that only the authorised people can access the data
Enabling due diligence so that data is not accessible by those who eavesdrop and would like to modify it.
Protecting the infrastructure from Denial of Service attacks(DOS) from both internal and external sources
This talk also highlights some common pitfalls:
Using components for a different purpose other that what it is created to for.
Waiting till after the application is built before preparing the infrastructure.
Creating the infrastructure then thinking about the security at the last minute.
At the end of this session, attendees:
Are able to evaluate the level of security that they need
Can reorganise their priority while designing for their cloud infrastructure
Are equipped to create a highly secure infrastructure
When we have a problem which can be solved using a software, we first design an architecture that will guide how the system will look like. This architecture needs to be robust and well thought of to ensure that it handles all the requirements at hand and flexible enough for the future.
This talk is about some considerations to take while designing a system:
The problem to be solved
The users of the system
Systems integrations
The talk also highlights some common pitfalls that teams fall into during this process:
Database management
Buzzword-oriented architecture
Outcome of the talk:
By the end of this session the listener is be able to:
Interpret the most important considerations while designing a system
Evaluate the business and customer requirements to determine their architecture
Analyse past organisation strengths and shortcomings to make better decisions