I think of a Software Engineer as: professional who work in
computer programming.
Computer programming a mix of
science and
techne /
craftsmanship founded in knowledge and discovery of principles, direct experience, exploration and experimentation, mastery, sharing of ideas and insights, empirical evidences, proven facts, good arguments
A passionate and engaged
Software Engineer:
- often participate in and actively contribute and belong to some computer programming communities. Too much can lead to software cult
Software Cult is about believing in something as opposed to having observed, sensed, experienced it hands-on directly
- trust well recognized thinkers and professionals that contributed with significant advancements in computer programming. Too much can lead to software superstition
Software Superstition is about counting on unproven cause-effect relationships as opposed to empirical evidences, proven facts,real data and reality
- understood that nowadays challenges require contributions from a large group of diverse people and skills and experiences. Too much can lead to software politic
Software Politic is about searching consensus for your owns ideas and searching for followers and fans as opposed to searching for concrete solutions that actually works well enough in real projects
- is extremely curious about new technologies and breakthrough. Too much can lead to software fashion
Software Fashion is about pursuing the latest trends as opposed to developing mastery in one area and further develop useful evolutions in that area
- learned the power of communication and that people love to have fun at work. Too much can lead to software advertising
Software Advertising is when tools vendors and consultants promote themselves with entertaining performances and occasionally with smoke&mirrors as opposed to having meaningful discussions, sharing valuable content and great insights
The recent renewed interest on
social and soft skills and the
intense interactions in social networks amplify all these possibilities in many directions.
I like to think of a Software Engineer as someone who:
in some degree look at computer programming from a variety of points of view, as a useful characteristic of human nature, while keeping an healthy balance between social and soft skills, intense interactions, detached professional approach, solid knowledge, deep theory understanding, practical experience and mastery.