![]() Consulting, Teaching and Mentoring in the Craft of Software Development |
Consultancy - scope
-
Design/Architecture/Implemenation Consultancy for Startups
- Initial design and architecture
- Seting up basic development tools (version control, issue tracker, automated builds etc)
- coding/implementation
- Reviews/audits of design and code to maintain/improve the product quality
-
C/C++ software development projects
Design review/audits and Design improvements
- Flexible and modular design
- Framework design
- Module and Class Interface design
- Design for Testability
- Algorithm design
- Design for performance
-
Refactoring and code cleanup
Objective is to reduce ‘technical debt’ of project/products and to Improve the productivity of team by improving quality of code/design.
- Identify the modules/files/classes for refactoring.
- Develop a refactoring roadmap
-
Performance Optimizations
- Code profiling
- Interprerting the profiler results and intentifying the code bottlenecks
- suggest code/algorithm modifications improvements for better performance
-
Team Productivity Improvements
-
- Project Automations (e.g. Automated builds, unit tests)
- Integrations of bug tracker and version control
- ALM (Application Lifecycle Management) Software Implementation/deployment
- Defensive coding and coding best practices
- Design improvements and refactoring
- Teaching & mentoring for technical competency improvements
-
Design and Implementation of large scale projects
-
Project Team Mentoring
- Writing bug free/easy to debug code
- Coding and code review best practices
- Multiple facets of design (design for change, design by contract, design for testability, design for performance, framework design, etc)
- Project Automation (e.g. automated builds/continuous , automated unit tests etc)
- Tools Best practices (version control, bug trackers, automated builds, automated tests etc)
Check the various specialized learning programs available
