Tech Lead Diaries: Page 2: Setting up the Stage for Development kick start

Ravindra Reddy Donapati
3 min readOct 18, 2020

In Tech Lead Dairies, I am going to share my daily learnings from the experience of leading a development team.

In this post, I will talk about the tools, setup and practises to consider before we start coding for a safe journey ahead.

Set clear Expectations for the team

Photo by Vincent Ghilione on Unsplash

Tech lead should discuss Dev practices with the team and set the clear expectations. These practices should be agreed and owned collectively by the team. Some of the key practices are listed below.

Test Driven Development.

Clean Code

Tech-debt Management.

Production Grade Code.

Maintaining Build Sanity.

Active Tech huddles.

Code Reviews.

Test Pyramid.

Pick up the right tools for your problem.

Photo by Fleur on Unsplash

We often tend to choose the latest language or tech stack in market, with out validating the business requirement. Choose the right language and framework that is needed for solving the business problem.

Kickstart Checklist

Tools ( IDE with all plugins)

Code formatting tools

Linters

Static code analysis Tools ( for identifying security bugs and code smells).

Infra: Environments setup with Continuous Integration and Delivery ( Local ,Dev, QA, UAT…to Prod), Databases, Configurations etc, Code repository, Artefact Repositories and etc

Build Tools

Pipelines : ( End to end Automation tests,Performance and Security pipelines included apart from deployment pipelines)

Secrets management tools

Communication channels

Testing devices

Supported device specifications.

Feature Toggles for Continuous Delivery

Monitoring Setup

Logging and exporting logs setup , like ELK stack

Tracing , ( ie. Jaeger)

Above is the checklist to be considered before we start coding, we spend time in Iteration 0 or the first week for the setup.

It is recommended to have these in-place as early as possible.

In case of any challenges like infrastructure un-availability,Licences and etc.Bring them to notice of right people, to solve these problems as early as possible to avoid the cost of change at a later point in time.

Having performance and security analysis tools from the beginning of the project helps in maintaining sanity and avoids any tech-debt.

The absence of Test devices will increase QA backlog and delay the feedback. Bugs will be easily hidden.

Failure to setup higher environments will lead to consistency problems like configuration mismatch against lower environments and missing dependencies. It also narrows developer view of thinking only till the environments available. ( ie. Only Dev and QA are available but higher environments such as UAT, Pre-prod and Prod environment are not setup )

To avoid the above-mentioned pitfalls, it is essential to set up the stage correctly before we kickstart the development

Hope this helps, see you soon.

Do check out previous pages

page1: Getting Started as Tech lead

--

--