All posts by Neil Harwani

Interested in movies, music, history, computer science, software, engineering, management and technology

Reasons to adopt AGILE & DevOps

DevOps:

  • Developers need environments to be readied, recycled, shared, rebuilt in short period of time with least amount of lost time, control and additional jumps
  • Fused teams of developers, system admins where responsibilities are more or less completed via multi-tasking & multi-skilling by each member

AGILE:

  • Early feedback for product owners, developers & testers
  • Continuous feedback / demo driven development
  • Required documentation (Not less not more) via specialized tools
  • 1 to 4 week sprints giving out tangible outputs that can be demoed
  • Course corrections possible in the middle of the project / product life cycle

Tools / products / technologies for AGILE & DevOps:

  • JIRA and similar
  • Jenkins and similar
  • Containers, Kubernetes and similar
  • Git and similar
  • Cloud ecosystems
  • Ansible, Terraform and similar automation
  • Video conferencing tools
  • Monitoring & log products
  • Testing tools
  • Ticketing & Chaos engineering tools
  • Reporting tools
  • And more

References: Google Search, https://victorops.com/ 🙂

Reach me at: Neil@TechAndTrain.com

Four waves of Artificial Intelligence & Machine Learning

While teaching students in two different courses (AIML & “Data Science and Analysis”), there was a requirement to categorize historical AI & ML along with it’s interface with Data Science.

To start: AI is the superset, ML is a subset of AI, Neural Networks (Deep Learning) are specialized subsets of ML.

Below is a categorization of AIML across four waves and it’s interface with Data Science:

Wave 1:

Concepts: Traditional topics like state space search, heuristics, knowledge representation, expert systems, fuzzy logic, problem solving languages and such.

UseCases: Think a small basic robot moving through your home and taking decisions on avoiding obstacles.

Wave 2:

Concepts: Standard algorithms built on top of Regression, Statistics, Algebra, Probability, Calculus and such – Classification, Decision Trees, Association Mining, Clustering, Ensemble methods, Random Forest, SVM and so on. NLP, Computer vision, scanning solutions, advanced search and such areas also evolved here in parallel or with the help of these algorithms.

UseCases: Spam detection, Decision making, Co-related variables related predictions, Prescriptive Analytics and so on.

Wave 3:

Concepts: Replicating human / animal brain. Neural Networks. Storing and managing very large amount of data (structured & un-structured)

UseCases: BigData, Self driving cars, Image recognition, Complex reasoning, Medical diagnosis, Chat bots, Personal assistants, potentially unlimited usecases interfacing with all usecases across AIML & Data Science.

Wave 4:

Concepts & UseCases: Explanability, Interpretability – Understanding the complexity of artificial intelligence & machine learning models. UI & Low code driven AIML (Neural Networks), one shot learning, hardware optimized AIML. Deep Learning. BERT and newer context driven algorithms also are in this area, Natural Language Generation is another area here.

Where does Data Science interface with AIML:

  • Non structured data analysis
  • Natural language generation
  • Sentiment analysis
  • Use of standard algorithms to analyse structured data
  • Building insights & making predictions / prescriptions and so on

Email me: Neil@TechAndTrain.com

Traits of a good Information Technology company – Part 1

  1. Promote merit and people with soft and hard skills both not just technology or soft skills alone
  2. Get them to attend trainings from HBR, MIT Sloan & various business schools from across the world regularly
  3. Setup a culture of knowledge sharing, collaboration & team work
  4. Plan & design all projects / initiatives in advance with spirit not lip service
  5. Setup accountability & responsibility
  6. For top management, managers, architects & leaders “Practice what you preach”
  7. Inculcate culture of cyber security, discussion & respect
  8. Keep people busy with genuine work
  9. Respond to people when they reach you, ignoring and tolerating problems for long will not solve the problems and snowball into bigger problems
  10. Few bad leaders will destroy culture across the organization rapidly
  11. Transparency & explaining WHY helps when you are a leader or manager
  12. Operational level problems over time convert into strategy level problems, fix them when they start. In the same way, strategic problems convert into operational problems quickly. Cater to both of these regularly
  13. Think design & systems thinking
  14. Plan and evaluate the future regularly – if you don’t invest in the future now, your path will derail from future when it should have come to you
  15. Have tie-ups with top institutes for further education / training of employees
  16. Give time off, leaves & hobby time to employees – they are not robots. People have people problems, robots too have breakdowns
  17. Actions have consequences, repeated violations have more consequences. Everybody needs to understand this
  18. Don’t judge the book by it’s cover – take 3-6 months of regular interactions to evaluate an employee. Instant judgements don’t help
  19. Awards, limelight & likes don’t always determine the worth of a person
  20. Anything can be achieved anyhow is a dangerous concept, companies that promote this beyond the legal or fair boundaries are not the right places to work – We are not at war, this is corporate world not World War 1/2
  21. Culture eats strategy for breakfast – this is true
  22. Promote, remove & reskill right set of people who have all stakeholders’ interest in mind, stakeholders should include employees & customers both
  23. Give regular & timely feedback at-least once a quarter, be open to discussions & feedback yourself as manager
  24. In internet and social media world, you cant hide your problems as an organization, they will bounce back with time most of the times. These can only be solved by discussion & transparency
  25. Shallowness, spam, power play, sycophancy & such can be detected easily, don’t promote it. Authenticity & transparency helps
  26. Sincerity, transparency & authenticity most of the times gives you the same in return, remember that
  27. Revenue is not everything, other things like strategy, culture, stakeholders matter equally
  28. Practice inclusivity and enablement of all sections of employees rather than only one set based on any bias
  29. Understand why and how biases are formed and correct them with right intervention

Email me: Neil@TechAndTrain.com

What all has changed post COVID-19?

In the last one year, many things have changed for us. Here is a list of areas in business & life that have changed as observed by me & students who were attending the class for subject of BigData in MBA.

1. Digital payments now have wide acceptance 

2. Work & study from home is now a reality, locations matter a lot less now

3. Cyber security is now at the fore-front

4. Digitization of everything – Though we need to be careful of what, how and when we digitize

5. Mental & overall health for people is now a priority 

6. OTT platforms are now providing opportunities to various type of actors, film makers and others beyond the traditional ecosystems of cinemas & multiplexes

7. True democratization of knowledge / information & opportunity is happening, if you want to showcase your talent – internet & digital gives you that space 

8. Healthcare services are now online / tele-medicine is a reality 

9. Pharma companies are now collaborating in a big way 

10. Public health is now a priority for governments 

11. Digital innovation in physical businesses is now at the fore-front 

12. Online learning is widely accepted not just by certificate providers but by universities as well

13. Hiring & business models are changing 

14. RegTech is now mainstream

15. Local shops / stores / super-markets are now converging and getting a voice on various online app ecosystems / platforms – should the local stores act as small warehouses and deliver via app ecosystems, this could be the new model 

16. Newspapers / magazines are going for online subscription based models and shifting away from paper based publishing

17. App ecosystems have changed rapidly to accommodate alternative business models of deliver anything rather than specific things

18. Hotels, airlines & restaurants are looking at alternative solutions to problems that they faced in pandemics

This is a short compilation of changes that we see around us. It is not the strongest who survive, it is the ones who evolve and change that survive

What else do you think will change in the near term?

Email me: Neil@TechAndTrain.com

Kubernetes topics to Search & Learn

  • Pods
  • Containers
  • Registry
  • Master node
  • Secondary nodes
  • Control plane
  • Namespace
  • Ingress
  • Jaeger
  • Prometheus
  • Grafana
  • Kubectl
  • Docker
  • Kubernetes API
  • MiniKube
  • Logging
  • Kubeadm
  • Stateful vs. Stateless pods
  • Configurations
  • Yamls
  • Helm
  • Ansible
  • Operator
  • Metrics & Monitoring
  • Objects
  • Persistent volume
  • Persistent volume claim
  • Clusters
  • Auto cleanup
  • Kube proxy
  • Scheduler
  • Kubelet
  • Controller manager
  • api-server
  • Administration
  • Extensions & plugins
  • Patterns for Kubernetes
  • Authentication
  • Authorization
  • https://kubernetes.io/docs/home/

#kubernetes #clusters #orchestration #cloud

Email me: Neil@TechAndTrain.com

Visit my creations:

  • www.TechAndTrain.com
  • www.QandA.in
  • www.TechTower.in

Best practices for low code development

Best practices for low code development:

  • Finalize the domain / entity model early
  • Check the capabilities of platform before writing code for any feature
  • Learn XPath
  • Try to have daily builds, daily demos, daily development goals with short sprints – comes from agile world
  • Learn to use the CI/CD and Code management tools of the platform
  • Avoid deep linking URLs, avoid page URL altogether if possible
  • Check security / roles / entity access settings regularly
  • Integrate using in-built tools rather than custom code
  • For features like audit, associations, validations try to work at the entity level to start with. Incase you are unable to manage them their then move to workflow level validations
  • Understand the limitations of platform and then make appropriate suggestions
  • Old components, modules, etc. building up in apps should be cleared regularly
  • Check the app stores of the platform for modules that are already available before you build one
  • Check added libraries regularly for unused or deprecated / insecure versions
  • Scan uploaded files before using
  • Try to use architecture / design principles like SOLID in terms of singular responsibility and so on
  • Think of SSL, containerization, cloud, kubernetes, automation testing, logging, user interface & licensing in advance and not as a reaction later

Low code has arrived !!!

What can Jenkins do for you?

Topic: “What can Jenkins do for you?” might sound a bit old fashioned and cliched as Jenkins has been around for a while but it has very varied capabilities via plugins & build pipelines to manage many things. Brief list of capabilities which in no way are exhaustive are given below:

  1. Continuous build management
  2. Continuous deployment
  3. Continuous testing
  4. Continuous quality checks and code scans
  5. Continuous security testing
  6. Continous license checks
  7. Continous Kubernetes, cloud & docker deployment / monitoring
  8. Continuous email notifications for events
  9. Integration with JIRA
  10. Integration with notification systems
  11. Continuous monitoring
  12. Continuous reports & test results analysis

Key concepts, documentation & keywords in Kafka – Part 1

Here are some important concepts, documentation and keywords of Kafka that you can refer and learn. There are two major flavors of Kafka – Apache Kafka & Confluent Kafka, I have listed major keywords, documentation and concepts from both here:

  • Broker
  • Zookeeper
  • kSQL
  • REST-Proxy
  • Schema-Registry
  • Connectors
  • Operator
  • Control Center
  • Streams
  • Topics
  • Consumers
  • Producers
  • Partitions
  • Offset
  • Log
  • Node
  • Replica
  • Message
  • Leader
  • Follower
  • Replicator
  • Schema management
  • Confluent Hub
  • Events
  • Associated keywords in today’s cloud deployments: Docker containers, Kubernetes, Ansible, Security

Associated documentation:

Building data models that everyone can understand and more importantly believe

Building data models that everyone can understand and more importantly believe. Faculty Article – Author: Mr. Balakrishnan Unny & Mr. Neil Harwani. Thank you Sapience – IMNU’s (Nirma University) Alumni Newsletter for publishing our article in Changing Times 2.0 (A Special Edition).

Productivity hacks for Architects / Designers / Tech Leads

As per my experience, the biggest productivity hacks for Architects / Designers / Tech Leads are not to decide the variables / class names / loops / scope / data types / exception handling / object relational mapping & so on – they definitely are important and should be done, but so are the below points:

1. Design patterns

2. What is the code for?

3. Functional to technical mapping

4. Solution creation

5. Pseudocode & logic steps

6. Logic of solution for design / programming problems

7. Co-ordination with stakeholders & communication

8. Code review

9. Logic review of programmed modules

10. Architecture / Design thoughts

11. Knowledge updation around tools / products / frameworks usage

12. Time management of developers

13. Task management of developers

14. Solving problems in design

15. Programming standards management

16. Technical best practices management

17. New technology exploration

18. Helping sales, presales & practice

19. Working on POCs, solutions, products and accelerators

20. Updating oneself with the current happening in industry and domain

21. Automation, Security, Testing, Deployment, Continuous integration / deployment, Integrations, Logging, User Interface / User Experience, Application monitoring, Support structure, Clustering / Auto-scaling, Non functional requirements and other such important areas

22. Establish collaboration / teamwork among technical staff working with them

23. Right documentation and knowledge sharing practices

Many get stuck in only programming, that is definitely something we all love and do, but you should be dividing your time as an Architect / Tech Lead / Designer between programming and above tasks equally. Current enterprise softwares are complex and you can’t achieve much without collaboration and above form an important link for productivity in complex, large team projects.

#architecture #design #technicallead #solutionsarchitect

Email me: Neil@TechAndTrain.com

Visit my creations:

  • www.TechAndTrain.com
  • www.QandA.in
  • www.TechTower.in