Feb. 10th, 2011

alexthunder: (Default)
I think of myself as a pretty advanced computer user. As a computer user I can accomplish quite a lot by myself and without much of other people help. Sometimes I do need help but majority of my goals I am able to accomplish by myself. That is what I think qualifies me as advanced user.

Following is what as I think qualifies skilled computer user.

Skilled computer user is a person who can accomplish most of their goals using computer and software installed on it by himself

Thinking of myself as a software developer I also need to provide some kind of qualification which is different to what qualifies me as a user. What exactly makes me a good software developer and why? Is it measurable and can be presented as proof? Following is how I see the answer to that.

I think I have achieved success in software development when I see other person successfully using it without any of my help. If is suddenly need to get involved in other person's trying to accomplish their goal as a user - that is to me is a failure of software development. When I jump into the users seat and start typing, clicking and doing all the magickal things I am capable of - that is me failed as a software developer. Failed as a developer and now having to cover for that using my extraordinary computer user skills. Yes it can still accomplish myself what the other person seen as their goal. Yes I am accomplishing that using some program I made myself. No - that is NOT what qualifies me as a software developer. If it is still me and a computer accomplishing something - it is still me being a user. Very powerful, extraordinary skilled, fabulous user but NOT a software developer. Following is what as I think qualifies software developer and what differentiates them from user.

Software developer is a person who can make other person be able to accomplish their goals using new software they made

The most important point here is underlined and can't be stressed strong enough - it is about other person and their goals. That is the measure of success in software development.

Now that we have Software Developer and User qualifications established we can start thinking of Software Architect. Here is what I see in it.

Following the same principal I see myself achieved success as Software Architect when I see that other person being Software Developer is achieving their goals using the input I provided without me doing any of software development myself. Opposite applies the same way. If what I have done as a software architect requires me jumping into developers seat and start coding - that is me failing as an Architect. Failing and covering for that with my software developer skills.

If I have to start teaching software developers how to do their job properly, how to code, what to use, where to search - that is the same as when I am being a software developer starting to pull the keyboard out of users hands. That is a failure to accomplish what qualifies the Software Architect.

Software Architect is a person who can make other person be able to accomplish their goal as a Software Developer

Software Developer and a User in this all situation are equal in a way they are either the beneficiaries or the victims of other peoples attempts to act. Users are very often blamed for being not skilled enough to be able to use certain software. Only recently that phenomena started to be addressed as a failure to deliver by software development, not as a failure to be a good user. Same as I believe applies to Software Architects even though that is not yet addressed the same way.

It is good think that we stopped expecting too much from the user who we are trying to program for. The next step will be is to stop blaming the Software Developer who simply can't accomplish their goals within certain environments created for them by Architects. It is not really their faults in most of the instances. If software doesn't work for a typical user without a programmer getting involved - that is the bad software as we agreed. Similarly if certain environment, set of tools, frameworks, chosen technologies, selected patterns, techniques and development workflow are not working for developers - that is bad environment and that needs to be improved. How much improved? Same as with the users - improved enough to make it work without external help applied on a regular basis.

That is how I see it.
alexthunder: (mkrot)
А я вот именно так себе понимаю произошедшее и происходящее далее.

Profile

alexthunder: (Default)
alexthunder

February 2017

S M T W T F S
    1234
567 891011
12131415161718
1920212223 2425
262728    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 08:13 am
Powered by Dreamwidth Studios