Geeks With Blogs

News Ashraful Alam Joy

Create Your Badge

Ashraful Alam is a Software Architect, who has 8 years of professional experience in Software Development industry. This Bangladeshi national is involved with project management and development of several US based software projects from his country. Already he has managed and developed several software projects, which are being used by several users of different countries, such as USA, Canada, Australia, and Bangladesh. While developing and managing a team, he contains and maintains a set of well defined engineering practices developed by him and other online developer communities.

Due to his willingness to give effort to improve and share better software development practices, Ashraf has been awarded as “Most Valuable Professional” (MVP) in ASP.NET category by Microsoft since year 2007 multiple times, which is a rare honor and prestigious reorganization among the developers around the world.

Check his portfolio to know more about him and his works.

.NETTER Characters... Every part of your life is best, if you can know yourself and thus create your life like an artist!

Regarding my previous experience in software development team, as developer and project manager, I’ve found some capabilities that are required to be a good developer to put a valuable effort in the development team. As mainly I have worked with web based database driven applications, these capabilities are closely or loosely relevant to that context.

Of course you can consider some other capabilities regarding the software development context in broader sense, but here I consider the very basic things, that came in my mind on the fly.

  • Punctuality: This is a basic virtue that helps project managers to meet the estimated timeline in a more specific and sharp way.
  • Discipline: This is a basic virtue that is required to maintain a developers work efforts effectively, that includes obeying team/organization hierarchy, along with other rules and regulations
  • Team Player: This is focused on how a developer shares his knowledge with his following/sibling developers/team members
  • Planning: Involves a developer capability that how s/he is planning his/her assigned tasks to be completed on time, along with the integration with other modules or code segment
  • Problem Solving: This capability is a major factor to solve, code, design complex business/computational programming logics.
  • Coding Quality (.NET): Includes the coding quality, as putting proper comment, following coding standard, way to utilize important API methods (such as DB, UI etc), using powerful language features etc. Also the capability to write high quality code that is manageable, understandable, along with utilizing best practices with available built-in and external programming resources.
  • Coding Quality (Java-script): Includes the capability to write codes that creates high-end user end experience.
  • Coding Quality (Robustness): Includes the capability to write error/bug free codes
  • Learning Capability: Capability to learn required technology quickly
  • Eagerness to Learn: Although learning capability is one of the main virtues to be able to be productive based on application requirements, but eagerness to learn is another factor that plays an important issue, besides the capability to learn.
  • Communication (Written): Capability to document code, communicating with software development stake holders via IM, mail.
  • Communication (Verbal): Capability to understand and explain problem domain, communication with team members and project manager to explain accomplished works/codes.
  • Technical Concept (OOP): Includes a clear understanding of Object Oriented Programming and Technology (encapsulation, polymorphism, inheritance, design patterns etc), along with the ability to utilize them in proper context.
  • Technical Concept (Database): Includes the capability to normalize, de-normalize data relations in most optimized but requirement specific way.
  • Technical Concept (Web): Includes a clear understanding to web based technology along with the best practices and standards (html, xhtml, web 2.0, div, SEO friendly code, CSS, browser independence etc)
  • Technical Concept (Software Engineering Best Practices): A solid understanding of Software Development Life Cycle, Unified Process etc)
Posted on Monday, April 30, 2007 6:31 PM Implementation , Project Management , My Life , Software Development | Back to top

Comments on this post: A Quick View to the Capabilities Which Can Make You a Great Developer

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Ashraf Alam | Powered by: