Critical stuff that every junior C# developer must know
I don't think ORM is a thing any C# developer must know, and the more specific recommendations like this get, the less valuable they become (especially with UI APIs, which seem to change pretty radically with each major framework release).
For a junior C# dev:
-
Know the foundational stuff: data structures and algorithms. A good grounding in basic comp. sci. is pretty handy for finding your way around unfamiliar systems.
-
Know enough SQL and relational algebra to figure out queries involving more than one table. Don't get too hung up on which RDBMS, or on the procedural scripting language it uses (e.g. Transact-SQL, PL-SQL, etc). Your employer might be using a different DB than the one you used in school, and, as a junior C# dev, you're not going to be expected to know all the ins and outs of the database. Be familiar with the Db* classes (DbCommand, DbConnection, etc) in System.Data, though.
-
Know basic to intermediate C#: reference vs value types, static vs non static, class vs interface, class vs object, access levels, and other language stuff. Bonus points if you understand LINQ.
-
Be able to debug code. Even if all you do is turn on breaking on exceptions being thrown.
-
Be able to test your own code, even if all you do is run it and see if it breaks.
-
Have some experience with using source control. Don't get hung up on details, because there's no guarantee that your employer will use the same source control system you did, or use it in the same way, but understand what it means to check in, and check out. Bonus points for understanding merges and branches.
-
For web stuff, know HTML, CSS, Javascript. Bonus points for knowing your HTTP error codes.
-
Know how to find information in MSDN and via Google, but be willing to ask questions of your coworkers and seniors, especially about domain-specific stuff.
I don't think I'd worry too much about UI toolkits, whether on the web or the desktop. Have some experience with one of each, if you can. Odds are probably about even whether or not what you know will match what your employer uses, so the concepts are probably more valuable than the concrete skills at that stage.
More on reddit.comIs there any chance to get junior ASP.net developer job without learning WebForms ?
I wouldn't listen to the senior software engineer who is telling you to learn webforms.
Learn what you find interesting, get good at it, and find a job where you'll be rewarded for being a good general developer with an emphasis in .NET, not being an expert in one specific area like webforms (talk about backing yourself into a corner).
If you're anything like me (and i have a hunch you might be if you're looking into new frameworks like angular, bootstrap, ET, etc...), you'll hate being stuck on old tech that people want to just maintain.
More on reddit.comRecent Graduate .NET Developer Interview without proper knowledge
The best part about being a junior is that it's accepted to suck ass at coding. Aslong as you show you have the motivation and hunger to learn and improve.
The best coders are not the ones that "know" everything, it's those that can learn anything quickly. (Not always but you get the point)
More on reddit.comA question on skills required to be an ASP.NET developer
If you are a 'full stack' web developer, you need to know JavaScript, HTML, CSS and a handful of web standards and conventions in addition to knowing the backend languages, frameworks, databases, and services used at the company in question.
Most modern ASP.NET fullstack developers will be expected to know how to use:
HTML
Javascript
CSS
C# or VB.NET
The basics of IIS
SQL (most often TSQL)
SSMS or a database modeling / utility tool
Service Technologies like Web API, WCF, and understanding REST
JavaScript tooling (for some companies)
At least a bit about build and deployment tools
How to modify files by FTP
Familiarity with issue tracking, documentation, and testing tools
Most full stack developer positions, even junior ones, are generally looking for a developer with several years worth of accrued knowledge and experience though they may only have a small amount of actual job experience working with the stack.
More on reddit.comWhat is a junior .NET developer?
A junior.NET developer is someone who develops, improves, troubleshoots, and maintains computer software applications. They work as members of the IT team specialized in software development using the.Net framework.
What Is a Junior NET Developer?
A junior .NET developer is an advanced web developer that uses the .NET computer software framework to build web, mobile, and desktop applications which focus on either frontend or backend development. You design and develop various layers of an application and coordinate with your team members to put everything together in a functional manner. Your duties include writing reliable, scalable code from scratch, integrating data storage, finding and fixing bugs, upgrading, improving, and debugging existing systems, maintaining code organization, and creating or using automation wherever possible for maximum efficiency. Providing user support may also be required. Other responsibilities as a junior .NET developer include helping with requirements analysis and maintaining documentation throughout your projects.
What should a junior .NET developer know?
A junior.NET developer should know software development, programming languages, and troubleshooting methods. The overall responsibility of Junior.NET developers is to develop, improve, troubleshoot, and maintain computer software applications.
So I’ve been reading the c# player’s guide. So far I’m 50% through it and I just started practicing coding challenges in Exercism. Thing is I’m not sure where to go next when I’m done with the book. Should I go into .NET and start building simple web apps? Or should I go and start learning data structures/algorithms? I’m well aware that git is essential so I’ll study that definitely.
My end goal is to be employable as a junior software engineer and I’m interested more in the backend than frontend. So a roadmap I was thinking of is the following:
C# (OOP, lambdas, events, async) 1.a) algorithms?? How necessary is this?
.NET (I’m not sure of which technology to focus on first, maybe ASP.NET?)
SQL (I have experience working with this)
Git (I’ve used it a few times)
Azure basics
Docker basics
Build a portfolio
Any advice to this roadmap would be greatly appreciated. Thanks.