Essential skills for a developer

Written on July 01, 2018

1 min. read

Language

  • Syntax, Style
  • Algorithms
  • OOPs, Procedural, controls & functions, compilation
  • Introduction to functional programming
  • Error handling
  • Exception handling

Tools

  • Git, Github, config, package manager

Community

  • Forums like Quora
  • Stackoverflow

System Internals

  • Call Stack
  • Analysis
  • Logs and Log analysis

Debugging

  • Debug and fix the issue

Software Design

  • Top-Down design
  • Abstraction
    • Abstraction layers: for each layer/component what is the purpose and it’s responsibility

Application Life Cycle

  • Background, Foreground, Active, Inactive, Suspended

VM life Cycle

  • Running, paused, snapshot, stopped.

Network Internals

  • IP/REST/AUTH/APIs

Communication mastery

  • Video
  • Writing about what happened till that point every day for a month
  • Standard set of sentences that are used in software bussiness communication.
  • Raising the flag early (do what you expect as a boss.)
  • Script/Protocol/CheckList creation.

Books

  • Lynchpin.

Life

  • Walk & Yoga & Food & Life.

Planning

  • Priority
  • Daily update
  • Plan what you want to do tomorrow.
  • Think like an owner and just follow your common sense. “Give up on the guesswork. Decide what you’re going to do this week, not this year. Figure out the next most important thing and do that. Make decisions right before you do something, not far in advance.” by Jason Fried

Systems we are in

About the systems in which we live in. The effects of schooling.

  • Education system
  • Economic/Banking system
  • Medical system

Mindset

Learning is a byproduct of creating something you care for.

Stop learning, start creating…