I help companies improve their software development teams. Teams need to have good understanding of at least some parts of software engineering to be effective.
Without a good set of processes, teams (greater than two or three people) cannot function without conflicts, significant inefficiency and confusion. However the need for processes is often not made clear to developers, who often don’t appreciate it. Explaining this need is itself not sufficient, it has to be impressed upon so that the team appreciates it.
While sound processes are essential, basic skills of team members are at least as important. Most developers are usually skilled in a few aspects software development, there are a few crucial gaps in skills and often in attitudes, and this is what the team must be helped to overcome.
Skills and process improvement can go hand in hand. This is where I bring in benefits.
Need for processes and how to follow them is routinely provided during training sessions.
Training
- Introduction to Design Patterns
A basic talk on design patterns including singleton, factory and observer patterns. Java is the language of demonstration.
- Introduction to Unix
A course for developers who use Unix/Linux as a development platform, including simple shell scripting.
- Testing for Developers (1 day)
Enables programmers to be better developers by helping them test their own code /functionality before delivery. The idea of Test Driven Development and how this benefits software development is provided. An assignment and exercise are provided at the end for assimilation of the knowledge gained.
- Selected Topics in Java programming
Defensive programming, data modeling, collections, case study