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.

Do I need to have a knowledge of architecture along with C# to get a job using C#, or if I worked through some books (no architecture content) would that be sufficient for a graduate position?

I finished university and have a Software Engineering degree, but can't recall any of the architectures and frameworks module content such as setting up an n-tier architecture.

share|improve this question

closed as not a real question by gnat, jmo21, Mark Trapp, Jim G., Bill the Lizard Oct 1 '12 at 14:26

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

Depends on the type of work. –  Euphoric Sep 27 '12 at 10:26
No, most junior developers have little or no understanding of architecture. –  MattDavey Sep 27 '12 at 10:33
I don't know. Most university tracts have at least one required course where you address this stuff from my research seeking a school...and the one I picked did. Wouldn't expect a new grad to really be able to implement a full architecture but should at least have a basic understanding of the ones relevant to the job. –  Rig Sep 28 '12 at 13:02

3 Answers 3

It depends on the seniority and type of job you are going for. Generally speaking, the more senior the position, the larger and more complex the systems you are expected to be able to design and implement. For entry level positions, particularly in larger teams, much of the architecture and design will be handled by tech leads and architects.

That said, I would make an effort to absorb as much as you can, whether it be language details, libraries, design or architecture. Even if you are not doing design or architecture officially, the more you understand the faster you will pick up new things and the more you will contribute. Do not be afraid to respectfully ask questions and make suggestions.

share|improve this answer

Unless you're going in as Head Architect on a project (which, with your experience seems unlikely), in my opinion you don't need deep specific knowledge about architecture. You do however need to be familiar with paradigms, patterns and concepts applied on the architecture. Understand why they work well in this situation, what are possible pitfalls etc.

That said, if you're competent and not afraid to explore new concepts as you run in to them, you will not have a problem taking an (entry) position as C# developer. Be honest with yourself when you lack in knowledge, and don't be afraid to say so. But try to be proactive about catching up on new concepts.

share|improve this answer

Short Answer: As a recent graduate, i would NOT worry about architecture and extensible design, i would rather build strong fundamentals.

It would not be realistic expect this skills from a new grad. However, you are expected to have strong understanding of CS, database concepts and intermediate skills in any OO programming language.

What i would do is, work on my debugging skills and tools to be able to catch-up and understand the code flow in the project that i am assigned to. Thus, being able to read the code, analyse it, learn new technologies/framework as you go - should be my priority to build my initial experience.

Reading about Design Patterns and learning from experience of peer programmers is very useful path to follow.

share|improve this answer
Could you tell me what you mean by intermediate skills? –  user1702801 Sep 27 '12 at 11:36
intermediate skills would refer to working knowledge and understanding to perform day-to-day coding tasks. however, it is very subjective from person to person. –  Yusubov Sep 27 '12 at 11:47

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