The Art of Design and Development
This workshop presents wisdom on software design & development usually passed by word of mouth or learnt only by experience. It can be helpful for everyone who designs/develops software and values development & maintenance time. It can help save lot of time, money and energy both for individuals as well as companies.
Date : 20 Mar, 10AM – 5PM (with some breaks as needed in between)
Building software is a niche skill. It requires more than good logical/code writing abilities to develop world class software. Many smart programmers realized the shortcomings of the software they developed only after it got into production when it became painful & in some cases impossible to maintain or even failed. Building robust software requires understanding the wisdom behind it rather than just knowing the technology/tools or language/methodology. Given that a majority of the software industry’s time (and money) is spent on fixing defects rather than developing innovative software, this area requires careful attention and on priority.
This language agnostic program gleans on some of the time-tested wisdom accumulated over the years by developers of successful operating systems, languages, tools as also people who have delivered high-quality software products and services. The program has many snippets of production code which would have rather been designed/written differently. It discusses many of the good things to do/avoid, and also shows how.
- Developers, Senior Developers/Leads, QA Engineers/Leads, Tech Managers, Architects, Directors..**
- Anyone who would like to build software
**As we started out, we were thinking of people with fewer years of experience. But eventually our reviews suggested that this could be useful for just about everyone involved in software design
- Familiarity with programming and operating systems
- Solid understanding of the software development principles & practices generally not found in textbooks
- Style and conventions
- Naming, using good naming to improve clarity, consistency, conventions, syntax
- !Goofing up code (! → Not)
- Logic, popular irritants, language semantics, readability, commenting
- Designing API’s
- Desirable characteristics, what to avoid, designing widely used and elegant API’s
- The Big deal on bugs, strategies, design for debugging, dealing with tough bugs/unreproducible bugs
- Testing culture, types of tests, common development mistakes to avoid, code automation, stress test, some common design cases for developers, good practices
- Measurement, tuning, guidelines for achieving speed, techniques for efficiency & proper resource usage
- Need, variety of environments, guidelines, union and intersection approach, implementation issues, interpreting data, internationalization
- Need & implications, some well-known risks and defenses
Duration: 6 hours
The content outline above is just an indicative list, the program covers much more
The trainer’s career in the IT industry spans more than 20 years. He has designed and developed software for reputed product companies including Cisco and Hitachi, as also some tech services companies and startups. His areas of work include storage networking, systems software, embedded software, mobile and enterprise applications.
He also conducts training’s for professionals & corporates. He’s been helping professionals at various tech forums – 2017 onwards he’s ranked in top 30% of the contributors at StackOverflow, a popular forum used extensively by experienced software professionals. His LinkedIn profile can be viewed at https://www.linkedin.com/in/ravishankar-rajagopalan-0b47501/
Program charges: Rs. 4,500 † per head
† – Limited time promotional pricing
- Only 10 seats – seat confirmation is on a first come first serve basis and subject to compliance with workshop guidelines