Rate your programming experience

Let's evaluate how proficient you are at writing great code.

Overview:

Action Plan contains 35 steps to Rate your programming experience.
Which level you identify with the most?
Level 0) You don't know what defensive coding means
Level 1) You check all arguments and assert critical assumptions in code
Level 2) You make sure to check return values and check for exceptions around code that can fail.
Level 3) You have your own library to help with defensive coding, and write unit tests that simulate faults
  • Option #1: Identify as defensive coder Level 0
  • Option #2: Identify as defensive coder Level 1
  • Option #3: Identify as defensive coder Level 2
  • Option #4: Identify as defensive coder Level 3
Which level you identify with the most?
Level 0) You only code the happy case :)
Level 1) You write basic error handling around code that can throw exceptions/generate error
Level 2) You ensure that error/exceptions leave program in good state, resources, connections and memory is all cleaned up properly
Level 3) You code to detect possible exceptions beforehand, maintain consistent exception handling strategy in all layers of code, come up with guidelines on exception handling for the entire system.
  • Option #1: Identify as error handler Level 0
  • Option #2: Identify as error handler Level 1
  • Option #3: Identify as error handler Level 2
  • Option #4: Identify as error handler Level 3
Which level you identify with the most?
Level 0) You depend mostly on IDE for text editing
Level 1) You know your way around the interface, able to effectively use the IDE using menus.
Level 2) You know keyboard shortcuts for most used operations in your IDE.
Level 3) You have written custom macros for your IDE.
  • Option #1: Identify as IDE Level 0
  • Option #2: Identify as IDE Level 1
  • Option #3: Identify as IDE Level 2
  • Option #4: Identify as IDE Level 3
Which level you identify with the most?
Level 0) You need to look up the API documentation frequently
Level 1) You have memorized the most frequently used APIs
Level 2) You have a vast and In-depth knowledge of the API
Level 3) You have written libraries that sit on top of the API to simplify frequently used tasks and to fill in gaps in the API
  • Option #1: Identify as API Level 0
  • Option #2: Identify as API Level 1
  • Option #3: Identify as API Level 2
  • Option #4: Identify as API Level 3
Which level you identify with the most?
Level 0) You have not used any framework outside of the core platform
Level 1) You've heard about but not used the popular frameworks available for the platform.
Level 2) You have used more than one framework in a professional capacity and are well-versed with the idioms of the frameworks.
Level 3) You have authored your own framework.
  • Option #1: Identify as frameworks developer Level 0
  • Option #2: Identify as frameworks developer Level 1
  • Option #3: Identify as frameworks developer Level 2
  • Option #4: Identify as frameworks developer Level 3
Which level you identify with the most?
Level 0) You have no knowledge of scripting tools
Level 1) You can write basic batch files/shell scripts
Level 2) You're confident coding in Perl/Python/Ruby/VBScript/Powershell
Level 3) You've written and published reusable scripts
  • Option #1: Identify as scripting developer Level 0
  • Option #2: Identify as scripting developer Level 1
  • Option #3: Identify as scripting developer Level 2
  • Option #4: Identify as scripting developer Level 3
Which level you identify with the most?
Level 0) You think that Excel is a database
Level 1) You know basic database concepts, normalization, ACID, transactions and can write simple selects
Level 2) You're able to design good and normalized database schemas keeping in mind the queries that’ll have to be run, proficient in use of views, stored procedures, triggers and user defined types. Know the difference between clustered and non-clustered indexes. Proficient in use of ORM tools
Level 3) You can do basic database administration, performance optimization, index optimization, write advanced select queries, able to replace cursor usage with relational sql, understand how data is stored internally, understand how indexes are stored internally, understand how databases can be mirrored, replicated etc. You understand how the two phase commit works.
  • Option #1: Identify as database administrator Level 0
  • Option #2: Identify as database administrator Level 1
  • Option #3: Identify as database administrator Level 2
  • Option #4: Identify as database administrator Level 3
Action Plan estimates 7 minutes to Rate your programming experience.
Get Started    

Other Intentions: