Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a junior developer (half a year out of university) currently working in a small project. The project team size about 30.

I am wondering how important it is for us developers to know about the technical architecture (hardware, network, etc.) of solutions. I don't think that I can do side-projects for small firms without a strong TA background.

Are there books where I could learn more on software TA and the like?

share|improve this question
3  
Project team size around 30 means "small project"? Out of curiosity, what's the team size on a large project in your company? –  user7197 Apr 23 '11 at 16:05
    
Hmm I might be wrong, it should be a large project then, however 30 not only includes developers by the way. It also includes the change management team, technical architecture team.. –  juniordeveloper87 Apr 23 '11 at 16:15
    
so, if you have an in-house technical architecture team why not ask what's important for them and go from there? –  user7197 Apr 23 '11 at 16:23
2  
Any project with a "change management" team and a "technical architecture" team is not nearly a small project. –  Rein Henrichs Apr 23 '11 at 16:23
    
@dbp: Yeah, I did. Most of their answers are, learning through experience and having seniors guide them along the way –  juniordeveloper87 Apr 23 '11 at 16:56

2 Answers 2

Required "Technical Architecture" knowledge varies widely based on domain. Web application programmers don't need to know much about hardware, but they do need to know at something about networks (at least at some level). On the other hand, if you're writing a database, you'll need to know quite a bit about both hardware and low-level networking.

How much technical architecture knowledge do you need? Enough to get the job done. How do you improve your technical architecture knowledge? There are as many answers to that question as there are technical domains. There are good books on hardware, networks, and any other "technical architecture" domain. Being good at "technical architecture" just means knowing enough about the technology to make good decisions. There isn't any special magic.

share|improve this answer

As you said, you are fresh out of University. Didn't they teach you anything about Computer Architecture? And Network Infrastructure? That seems so strange.

As for your question: it depends. If you are going to be coding mindless business applications for all your entire programming career, you probably need only basic understanding of Technical Infrastructure (resources are limited, you know).
If you are planning to develop some serious networking applications (like router kernel for example), you would need in-depth understanding of underlying hardware as well as network protocols and network infrastructure.

Basically, if you really like programming (do it out of passion), you probably want to learn as much as you can about Software Architecture, Technical Infrastructure and Computer Architecture - this could open the doors to some serious development (firms).

Just want to point out, that side projects does not necessary have to be paid, for example you can contribute to some Open Source project. It could be fun and it will teach you invaluable lesson at the same time.

share|improve this answer
    
Virtual +10 for suggesting open source. –  Rein Henrichs Apr 23 '11 at 16:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.