All Articles

Being a Software Engineer

What is Professionalism

https://en.wikipedia.org/wiki/Softwareengineeringprofessionalism
Define PROFESSIONAL yourself

Demanding Professionalism in Software Development by Robert C. Martin

https://youtu.be/p0O1VVqRSK0

  1. Be professionals (Take your job seriously)
  2. Don’t ship shit
  3. Be always be ready
  4. Stable Productivity
  5. Inexpensive Adaptability (separate of concerns)
  6. Continuous Improvements
  7. Fearless Competence (maybe by TDD)
  8. Extreme Quality
  9. QA will Find Nothing
  10. Team members cover for each other
  11. Honest Estimate
  12. Automation! Automation testing
  13. Continuous Aggressive Learning
  14. Mentoring

How to Be a Responsible Developer?

https://www.netguru.com/blog/how-to-be-a-responsible-developer

Great developers who have achieved success

  1. They work proactively.
  2. They contribute to the developers’ community - they may be role models for us also because of their work in the public domain.
  3. They have a growth mindset - they know that their most basic abilities can be developed through dedication and hard work — brains and talent are just the starting point.
  4. They are fantastic communicators.

List of the things you can apply to your routine

  1. Ask specific questions.
  2. Be transparent and honest.
  3. Be aware of your own limitations and don’t hesitate to ask for help.
  4. Think about the consequences - sometimes it’s better for you to NOT implement a given feature. Deploy things you’re able to handle.
  5. Be there for your team. If you can contribute right now, don’t wait — do it.
  6. Test your code.
  7. If there is a rule for something, follow it — it’s there for a reason.
  8. Don’t pretend that you can’t see a flaw in your software. Know when to dig deeper as opposed to delivering a “good enough” feature.
  9. Be positive.
  10. Think about yourself as a real end user of the feature.

Being a Software Developer

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8405631

Knowledge, Cognitive and Interpretation Skills. Being a professional in a rapidly evolving field means you need to continually invest in learning new skills, technologies, practices, and tools. Be on the lookout for them by reading professional magazines (including this one), attending conferences, studying classic books as well as new ones, and examining other people’s code (open source software makes excellent such material). Look for aspects of your and your organization’s work that can be improved, and be ready to learn and experiment with new methods to address the shortcomings.

What Should a Software Engineer Know?

https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8938103

Recommend Books to read

  • The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin
  • Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers by Steve McConnell
  • The Software Craftsman: Professionalism, Pragmatism, Pride by Sandro Mancuso