Thursday 7 May 2015

What are mistakes which software engineers make in the first 1-2 years of their career?


  1. Not being willing to learn new languages and skills. Not willing to read technical books.
  2. Making assumptions where information is needed and instead of raising them just coding things up with the assumptions.
  3. When looking for help, asking for more than a  general direction, expecting people to do the groundwork and still expect them to help you the next time.
  4. Not paying attention to performance: Use of good Data Structure and Algorithms.
  5. Not paying attention to design: Design Pattern, Object Modeling, Best Practices
  6. Not paying attention to security: SQL Injection
  7. Not paying attention to testing: Writing test cases. Thinking of only happy flows and testing the success scenario with a belief that you're done with the code if that runs (in reality far from it).
  8. Documentation: Improper logging and comments.
  9. Descriptive Variable and Functions names.
  10. Blind copy paste making an assumption that it would work.
  11. Forget to take backup and remove all debugging statements like System.out.print before application goes into production.
  12. Not detecting and removing code that is obsolete due to your changes and letting it fester around to confuse and astound others.
  13. Jumping directly on solution. Don't start solution hunting the moment you face a problem or bug. Even if you copy from others solution, don't forget to learn and understand the solution.
  14. Expecting you can read intent and tone in email communication.  (ASCII does not contain facial expression or intonation.) Actually reading the whole email without making any assumption.
  15. Not focusing on career development and networking.
  16. Not asking for code review and help.
  17. Starting with a know it all instead of a learn it all attitude.
  18. Paying less attention to domain, understand who the users are and why they use what we build. Understand the environment the user will be in when using your program.
  19. Not able to provide reasonable/reliable estimates for the task in hand. At times they become too much optimistic and give strict deadlines while other times they estimate the task much bigger than it actually is.

No comments:

Post a Comment