DEV Community

Discussion on: What is the minimum...

Collapse
 
tiguchi profile image
Thomas Werner

After collaborating with several different kinds of developers with varying levels of skill, here's a list of skills I find very important:

A dev should know how to...

  • Read and understand an existing code base
  • Put their own code style preferences aside and adapt to the style and coding conventions of the existing code base
  • Have a grasp and appreciation of clean code
  • Identify similar problems and apply common solutions without duplicating existing code
  • Fix "undefined" errors or null pointer exceptions
    • This is one of the most common bugs that is usually easiest to spot and fix
  • Read a stack trace / error message
    • Identify which component crashed, how to find the file and line number
    • Identify or isolate possible causes
    • Understand the technical terms that are often in an error message (e.g. index out of bounds)
  • Efficiently use the IDE
    • How to find classes, methods, functions, pieces of code?
    • How to use code completion, code generators and refactoring tools
  • Use a debugger
  • Write useful code documentation and comments
  • Set up and troubleshoot their tools and workstation
  • Understand Git or version control basics (branching, merging, rebasing, resolving conflicts)
  • Write useful commit messages
  • Take notes and write down lessons learned and troubleshooting steps for later reference
  • Communicate from developer to developer (i.e. learn the correct terms for their tech stack)
  • Communicate from developer to non-developer (i.e. how to explain something with non-technical terms)
  • Ask for help when stuck (not everyone does that)
  • Figure out when they are really stuck
    • Some people always ask for help when there is the smallest obstacle that could be easily resolved by googling
    • Some people google all the time and cannot find the right answers

And ultimately a good dev should know how to google. Coming up with good search terms and knowing how to filter through relevant and irrelevant search results is actually an important skill