We can help you improve productivity through training in software development and processes.

Contact us to learn how we can help.

Software Development Fundamentals

Developers come from all sorts of backgrounds, which can lead to gaps in knowledge. This course helps fill in those gaps, with topics including:

  • Learning new languages
  • Basic data structure knowledge
  • Basic algorithm knowledge
  • Familiarity with methodologies
  • Version control
  • Unit testing
  • Practice
  • and more

Learn More

Leveling Up

Some developers are much more productive than others. This course shows strategies that can help you become more productive.

  • Learning new languages
  • Solid data structure knowledge
  • Solid understanding of standard algorithms
  • Understanding of algorithmic complexity
  • Solid expertise with your tools
  • Katas
  • Automate the boring or repetitive
  • Code Review

Learn More

Code Review

Code review is an effective practice for improving the quality of developed software. This course shows you how to benefit from code review.

  • Types of code review
  • Benefits of code review
  • What to look for
  • What to reject
  • What to question
  • What to accept
  • How to get the most out of code review

Learn More

Pair Programming

Pair programming is an agile process that some find improves code quality. This course focuses on benefits of the practice and how to get the most out of it.

  • How to be productive with two developers at one keyboard
  • Continuous design review
  • Continuous code review
  • Knowledge transfer
  • When to pair

Learn More

Unit Testing

This course focuses on effective unit test strategies and how to get more out of your unit tests

  • What are unit tests?
  • When do they help?
  • Unit tests are a good idea, but we can't because ...
  • Automation
  • Regression tests
  • No threat to QA

Learn More

Refactoring

A fair portion of maintenance programming is a fight against entropy. Refactoring is a practice that helps slow and even reverse decline in code quality.

  • Incremental improvement
  • No change in functionality
  • List refactorings
  • Refactoring and unit tests
  • Refactoring versus rewriting
  • When to refactor

Learn More

Process and Automation

Every development organizations has processed they depend on. Too many leave these processes manual leading to errors and inefficiencies.

  • Automated testing
  • One click build
  • One click release
  • Continuous integration
  • Continuous deployment

Learn More

Custom Coding Standards

Once you have more than about four or five developers, consistent code becomes difficult. A written coding standard can help.

  • What not to standardize
  • Critical standards
  • Coding standards versus coding styles
  • Coding standards and code review
  • Standards for your organization
  • Acceptable idioms
  • Code smells
  • Changing the standards

Learn More

Programming for Non-Programmers

Programming is a lot like writing. Most people have almost no chance of writing a best-selling novel, but almost anyone can write a paragraph.

  • Make the computer do what you want
  • Identifying a problem you can solve
  • Pick a language or tool
  • Minimum viable program
  • Where to go from here

Learn More

Hiring Developers

A resume and short interview is not enough to really evaluate a developer. This course covers proven techniques for making the evaluation time count.

  • What are you looking for?
  • Required skills
  • Required skill levels
  • Evaluation techniques
  • Look for ability to learn
  • Phone screening
  • Technical interviewing
  • Soft skills
  • Team interviews

Learn More