Click here to Skip to main content
15,886,724 members
Please Sign up or sign in to vote.
3.00/5 (2 votes)
See more: (untagged)
Hello,
I am VC++/MFC,C# developer. I am good at programming. I am having 2+ years of experience. I wanted to become Software Architect. When I ask people about guidance, some asked me to start with Design Patterns , some with UML, Low level design , High Level Design etc.. and few other things. I know I need to know all this. Where I should start. And then what to take in hand.

RIP Mr. Dennis Ritche.

Happy Programming
Posted

If you think you are really mature enough with using different technologies and methods of development, you really need to start creating some architectures all by yourself from scratch and lead at least one project to good marketable condition. Only in this way you can learn how to identify mistakes you made in architecture and design and how to fix it. ("Good architecture is not the one which has no mistakes — this is just not realistic. Good architecture is the one where fixing mistakes costs less." — © 2006 by SA)

You also need plenty of time for such project, to be allowed to finish it even if you cannot meet deadlines. Learning architecture in practice and meeting deadlines at the same time could be not realistic.

If would be great if you could lead a tiny team of developers who would follow your technological and architectural directions. If it cannot happen, you will need to do such project totally with your own hands. It has certain benefits: you will feel all the consequences of your architectural decision. The drawback is: nobody will complain that your decisions do not work, or creates problems in implementation, etc. Such complains is important component of work. First, they are part of real-life problems you need to be able to deal with. Secondly, it would help you to improve or chance your decision sooner.

So, this is a problem. Who would allow you such a luxury? — you're not a full-time student anymore. Here is what I think: do some hobby projects, some projects for your personal use or for your friends. Make if Open Source and publish on-line (how about CodeProject?). If you publish it, you might get a very important benefit: valuable criticism from fellow developers. Nothing helps in growing any kind of skills as really tough and competent criticism, that's for sure.

Best wishes,
—SA
 
Share this answer
 
v3
Comments
Mehdi Gholam 14-Oct-11 0:12am    
My 5!
Sergey Alexandrovich Kryukov 14-Oct-11 0:16am    
Thank you, Mehdi. I just added one more paragraph.
--SA
Ask this question in 10 years time.
In the meantime gather as much experience in every aspect, language and problem domain as possible.
You can only become an architect after you have this experience level.
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 14-Oct-11 0:21am    
First sentence is not comprehensible, believe me. Maybe you just need to correct grammar. What's the idea?
Did you mean "Ask this question 10 years later"? (If so, I would disagree. The one who feels like creating architectures should try as soon as possible, just creating realistic projects. In this way, next 10 years will just bring better results. Yes, 10 years are needed to became a real master in almost any field, but it does not mean one needs to wait for something -- just the opposite.)
--SA
Mehdi Gholam 14-Oct-11 0:34am    
I was referring to his experience level, 2 years is not enough, you become a master in any trade after 10 years, only then should he consider becoming an architect.

Thanks
In ideal way, career goes like Programmer, Senior Programmer, Designer, Solution provider, Architect, etc. You are at initial stage; u can reach architecture stage at min 10+ years with variety of technology, computing, project experience.

Within Architecture stream, there are 5 layers starting from Technology Architecture, Application Architecture, Data Architecture, Business Architecture to Enterprise Architecture. Top notch Enterprise Architecture needs all these career experience and ideally it would be at 20+ career years.
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 14-Oct-11 0:26am    
No, top notch is of course technology architecture. How many people do you know who created new technology, even small one. Whole concept from... to is wrong! There is no "from" and "to", these parts go in parallel. Who told you the career path you describe is ideal? If just from observation of "architects" who cannot write one single function with good quality -- but bad things are everywhere, we should not judge by them.
--SA
Ganesan Senthilvel 14-Oct-11 1:33am    
You are talking practical, but mine is ideal way

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900