C# dev wanting to move on from a small team.
Posted by _MrsBrightside_@reddit | ExperiencedDevs | View on Reddit | 73 comments
I have 6 years experience with a small agency in dot net web development, it is my first programming job and I do enjoy the stress free environment but I feel out of touch with modern practices. I fear this will keep me stuck here.
For some context, when I started I had to learn webforms and after a while I asked if we could use Razor Pages instead, my boss is great and allowed me to do a POC. We did a couple apps in it and then Blazor Server was becoming more intriguing to me since my team is used to webforms. Me and a coworker have been using it for 2 years but the rest of the team stays on webforms so if anything hiccups it’s up to me only, even my other coworker relies on me to figure out bugs for him since I introduced us to the framework because he doesn’t bother to take a full fledged tutorial. He learns as he goes, as he says. My bosses are good as i mentioned and allow me to try new things and get us caught up to the times 😆 but there’s only so much I can do because I feel like I need a mentor and yet I am the mentor. My boss did get us copilot recently to test out so at least there’s that.
We don’t use Git, I’m starting to learn it and i already know it’s going to be an uphill battle trying to get my coworkers to use it too, we don’t do code reviews, I don’t publish our applications so no devops experience (taken care of by other team member due to security policy), we don’t use entity framework (we use stored procedures in mssql), we don’t use micro services (all our apps are monolithic).
I love that I can be a value to my team and that I am allowed to bring new ideas, I just don’t want to be the only one doing so.
So basically my question is if I was applying to your team, would you hire me? If not, what could I do to help with this gap in on work experience, side projects?
roynoise@reddit
Sounds very similar to a workplace of mine. People were "senior" if they've been there longest (lol), absolutely wretched code smells, still building stuff in really ugly, badly designed asp web forms, and totally devoid of professional programming sensibilities (or any professional sensibilities).
It was a massive uphill battle for adoption of sane programming practices. A lot of those battles I did not win.
Example: I was explaining to my "senior" that we need to implement processes and UIs so that we're never...get this...typing manually into the production database.
Their reply? "You need to go eat a snack."
F**k off.
That's what .NET shops are like, my friends.
_MrsBrightside_@reddit (OP)
others have stated similar situations as well so I'm thinking about what area or stack I want to begin working towards because from what I'm hearing this is common in the .net space....also a coworker does actually type manually into the database lmao you clocked that.
Legal-Trust5837@reddit
I wouldn't hire you. Not knowing git inside out is a big red flag. I'd dig for experience in production systems and if that's not under your belt that's no bueno. I'd ask how you so code reviews and probably find some skeletons there.
Then there goes stuff like architecture and design patterns, and then actual coding.
You should upskill for sure and abandon that ship.
RubyKong@reddit
Not knowing XYZ, for me, is not a reason not to hire.
Git - or anything for that matter, is really easy to learn. 30 minutes - you've learned git for 99% of use cases: git add, git commit, git ammend, git rebase -i, git merge and that's about it really. maybe if you screw something up really badly, you'd have to get into the reflog.
Legal-Trust5837@reddit
You're missing the point I'm making - my expectations for a senior are not "good enough", they are mastery of your craft.
Also your argument is weak, and shows lack of experience in prod systems. That kind of git knowledge isn't enough when you've pushed a version and there's a regression that you don't know the source of just as a quick example. You'd use things like bisect to dig through and do some investigative work. Unless you've done that in the past, no thanks, respectfully.
RubyKong@reddit
I'm only saying what has worked for me. The best hire i ever had was someone who most would probably be passed over by everyone else for want of specific knowledge of XYZ. that's fine. in fact he was a strong "do not hire" recommendation. 15 minutes i discerned this guy is good. really good. he learned quick, and was excellent in all respects. he made me a lot of money. he made excellent money too.
Unhappy-Ladder-4594@reddit
What made others consider him a strong no-hire?
RubyKong@reddit
Two reasons:
(1) Bad english. Actually i can't even say that 'bad english' - he could barely speak english at all.
(2) And there much he didn't know. But what was immediatley apparent was the precocious ability to LEARN and a willlingness to put in the HARD WORK. With very little guidance.
All of which was remedied suprisingly quickly.
brothafromanotherbro@reddit
How do you upskill from such position? I find it that you need to be working actively on something to learn the in and outs?
Legal-Trust5837@reddit
100%. The only way to learn is build. Also courses/books in key areas
brothafromanotherbro@reddit
Can you recommend some for distributed systems? Also how can you practice something scaling backend projects without the actual traffic?
Legal-Trust5837@reddit
I'd say start from learning one of the cloud platforms very well. I'd also look up famous implementations and case studies of faang/famous projects.
Distributed systems specifically I learned pretty much on the job over the years so can't help much there.
For learning cloud I'd recommend Adrian Cantrill. He's the most hands on of the bunch and has a nice GitHub repo with projects and ideas that you can use.
After this I'd probably learn k8s but it's a topic for another time this is already getting too long
East_Lettuce7143@reddit
Nobody knows Git inside out.
Legal-Trust5837@reddit
Maybe the people you work with, agree to disagree
_MrsBrightside_@reddit (OP)
Thanks for the take. Git is on the top of my list for sure now. We don’t do code reviews 😭 and I wouldn’t even trust some of my colleagues if we did do them (they aren’t dumb they just don’t have coding standards here). I’ll look into some architecture books (I hear designing data intensive applications is good).
Legal-Trust5837@reddit
You got this. Work hard build stuff break stuff
projexion_reflexion@reddit
This job is harming your resume
ninetofivedev@reddit
/r/dotnet hates to hear this, but most .net jobs are IT hell holes or some forced usage of some of the crap that Microsoft has put out over the years, like razor pages, IIS, Windows only .net, anything azure, etc, etc.
Seriously, it's some of the worst technology out there. Avoid like the plague.
spez_eats_nazi_ass@reddit
Have slowly transitioned to .net on linux shop here and I will not trust Razor pages until it's been around and properly supported a few more years because I remember silverlight. .net without windows is great. Ride on mac destroys vs on windows - mostly because my company has not figured out how to crap up macs yet due to immature mac device management on their part.
ninetofivedev@reddit
Razor pages are over a decade old. Unless that’s your point.
spez_eats_nazi_ass@reddit
Sorry meant blazor. I get them mixed up. I never had a use case for razor pages because we were 90% AngularJS with the odd MVC CHSTML view bound to a controller before going full client side angular. It's just a repacking of the same old shit.
ninetofivedev@reddit
Blazor is theoretically… it’s fine. But if you’re not using react I don’t know why.
bolacha_de_polvilho@reddit
C# is my favorite language and unfortunately I have to agree. Modern dotnet is nice but too many C# jobs revolve around maintaining some kind of legacy crap boxed in Microslop land
ninetofivedev@reddit
Transition to Go. It's less dependency hell than most other backend languages, it's a fairly simple language to learn, and you don't have to deal with Microslop.
bolacha_de_polvilho@reddit
I've transitioned from Microsoft Java to Oracle C# already
ninetofivedev@reddit
I don't understand why people are still using these bloated runtimes in the world of containers.
Our Java applications are massive resources hogs compared to our Go, Rust, and C++ ones.
And it's mostly just because the team who takes on the effort knows Java, so they write Java.
Meanwhile I could build whatever they build with a fraction of the overhead in Go and significantly less resource intensive.
Teh_Original@reddit
Do you write and structure your software in Go/Rust/C++ the same as you do in Java? (Lots of abstractions, hierarchies, etc.)
ninetofivedev@reddit
Absolutely not.
angrysaki@reddit
That's the problem, they're not going to transition to go because they don't even want to transition to modern .net.
_MrsBrightside_@reddit (OP)
I was just about to ask 😅 i was worried about ending up in a similar environment with .net.
CrazyPirranhha@reddit
yeah, same here. 3 YOE, all in net 4.8 without perspective of anything new here. I am crying inside myself and force myself learning something different to change the stack - almost anything else would be better 😃 maybe except pure Javascript ecosystem (TS, Node, Express etc), Java and Python - it doesnt differ too much from .Net ecosystem
East_Lettuce7143@reddit
Azure is great imo. Probably only good thing that's left from Microsoft.
seriousgourmetshit@reddit
Is this true everywhere? The majority of corporate tech roles in my country use C# over Java
jev_ans@reddit
Il preface this by saying I'm primarily a .NET developer, but no, .NET (Framework / winforms, IIS) historically has been tied to large orgs that have forgone any form of updates and applications have been happily left to rot. This to me is a more a result of business' lack of investment, but has left a lasting impression of what it was like 15 years ago The difference today however between modern .NET (.NET Core) and framework is night and day. I'm also not really sold on the "forcing you use azure" and other msft products. Il also caveat and say I've not had to work to much on the desktop side, mostly backend side.
Plevi1337@reddit
I don't get it, they really like they microsoft: IIS, windows server, ssis, sharepoint (lol),mssql, blazor (because they've survived the webforms era without learning js), tfvc (for real) and the one and only Visual Studio. I imagine they can spend their whole carrier in this stack comfortably, so why would they look for anything else
TheGRS@reddit
I have some limited dotnet experience from a previous job, and at the time they were doing .NET Core, which seemed pretty solid. The ecosystem is obviously aimed at getting you into Azure as much as possible. But credit where its due to MS supporting something more open an accessible.
But anyway, I have to agree. I took over a team at my company recently that has a bunch of old dotnet apps, I'm realizing I need to GTFO because this is not going to impress the type of companies I'd like to work with on modern stacks.
_MrsBrightside_@reddit (OP)
Dang, yeah now I’m really thinking of switching from .net ecosystem.
_MrsBrightside_@reddit (OP)
Learned this a little too late but that’s why I’m trying to get out 🏃🏻♀️
SeaworthySamus@reddit
There are a TON of boring F500 companies on an Azure/.NET/SQL stack. I’d recommend looking up job reqs for those sort of jobs and learning/leaning into those skills. Don’t tell anybody you don’t use Git ever again.
DeepHomeostasis@reddit
F500 .NET shops are usually a decade or more behind on stack modernization, with cloud bits bolted on legacy. learning the migration patterns gets you in faster than knowing the latest Azure release that doesnt match what they actually run.
__ihavenoname__@reddit
I hear this multiple times but to this day I am yet to find a TON of companies that use .NET, may be azure but .NET is less from what I've observed (Phillips, Simeins, societe generale and Microslop are the only companies I can think of, I have seen some openings in JP Morgan chase but they have more openings for Java). BTW, they use legacy .NET, even the F500 companies are hesitant to move or migrate their services from old .NET to newer one all thanks to Microslop.
_MrsBrightside_@reddit (OP)
😂 okay I won’t. Thank you
spez_eats_nazi_ass@reddit
"webforms" - This has been dead in the .net world since at least 2010? It had a few last gasps with the extremly janky and "Just why?" Ajax support in webforms in 07/08. Anyone forced to work in this slop in 2026 should run screaming. I admit it was kind of cool for 2 minutes in 2001 coming from classic asp world. Then i realized what a god damn mess it made of EVERYTHING. Now given the current environment - don't quit for free. But definitely work on your chops.
_MrsBrightside_@reddit (OP)
😂 it is a mess and I won’t, im going to make sure to work on some of the things people here have listed and then start applying. Maybe even try and go back for a masters degree.
spez_eats_nazi_ass@reddit
I did that when I worked for a low stress shit hole stuck in 1998. If you can get them to pay for it without too many strings attached even better. Is there no incentive to address tech debt or ensure there is some form of future moving forward with the stack. And as much as it can suck hard generative AI is absolutely good enough at code and platform migrations based on my experience.
_MrsBrightside_@reddit (OP)
They do offer tuition reimbursement which is good. We just got approved to use AI copilot, so far I’m the only one testing and using it but will see how well it works with migration assistance. I don’t think I want to stay working in this stack so I’m going to spend some time thinking on what other area I would like to get into it 🤞but obviously I’m still going to do my job and try to improve there.
spez_eats_nazi_ass@reddit
are they at least in ADO/TFS (which has supported git for a long time now) or some other ancient stuff? Please tell me they are not still using Sourcesafe?
DaymanTrayman@reddit
As someone who was in your exam same shoes with 5 yoe, go get the other job. I was making 75k a year as a "senior" SWE at a manufacturer that saw tech as a cost rather than a revenue stream. That kind of workplace will never bring in talent that you can learn from which is the biggest issue. After switching to a real software company, I've learned more in 3 years than I would have learned in 30 at my old job.
_MrsBrightside_@reddit (OP)
😯 this is motivating to hear. Can I ask what helped you transition?
DaymanTrayman@reddit
Not much. I moved to a mid-level engineer role that just wanted someone proficient in C# which was basically the only thing I was good at. Just have to find the right fit!
_MrsBrightside_@reddit (OP)
That’s good to heard. Glad it worked out for you!
mprevot@reddit
I would hire you the moment you managed to trigger a shift in your team, have them embrace modern practices, and have improvements at different levels (for instance, improvements of time between bug report and deploy, time to test, "health" of classes (coherence, responsibility, size), methods, quality of tests, etc).
Also, a difficulty to modernize code and practices may reflect an excessive level of technical debt, it can be the team too. I would like very much to see how you would measure those, and suggest a strategy to modernize code and practices (in engineering, interpersonal, management etc).
Material-Smile7398@reddit
.NET is great now, but some of the patterns MS have pushed on us in the past haven’t been great. MVC I’m looking at you..
You need to learn git, why not push to have it used where you work now. Aside from that, if you haven’t already done so, start to split off back ends into an API. I know in Blazor it’s simpler to do a monolith, great for rapid development but a nightmare once apps start to grow. As soon as you can, split off the data layer, you can still do MVVM, but this way the UI is agnostic, then you can start to write UIs in something like react, which you should take to quickly as its component based development, just like Blazor.
Oakw00dy@reddit
If you were to present yourself as a senior, or even mid-level, it'd be a hard sell. If I were you, and you can afford it, I'd apply for junior level positions in larger established shops (SaaS, eCommerce) and do a full reboot of your career. With your experience, you would probably pick things up quickly and get back on track with a modern set of skills.
cherry_master12@reddit
Comment
ZunoJ@reddit
I had this exact job but that was in about 2005
TpOnReddit@reddit
You should be able to find a blazor FE/FS job and branch out from there. Obviously some angular experience would go a long way even if it's a personal project.
ninetofivedev@reddit
How are people recommending angular in 2026? React won and it wasn't even close...
TpOnReddit@reddit
.Net companies with large projects aren't switching over. https://dtoyoda10.medium.com/why-dot-net-developers-prefer-angular-over-react-994dc4651fdd
angrysaki@reddit
Since no-one has else has addressed the feeling of being limited from not having a mentor. IMO, you grow by building things and trying out new ideas. A mentor can speed that up, but i don't think it's necessary.
I would say there are a lot of negatives at your job, but if your boss is a nice guy and willing to let you try out new ideas, you currently have an opportunity that a lot of other developers don't have. That is the best substitute for a mentor (maybe even superior) because you have the opportunity to try things and learn from them.
As someone who lived through the OOP/UML days I am also of the opinion that a lot of "modern practices" are often not really a good idea just trendy, so don't feel like you're somehow a lesser developer because you don't know them. *This is separate from knowing them for getting another job.
snowplango@reddit
Six years of real production experience at a small shop is worth more than people give themselves credit for. The "out of touch with modern practices" anxiety usually resolves in the first few months at a new job once you're just doing it every day.
_MrsBrightside_@reddit (OP)
That’s good to know 😮💨 feeling really behind. I’m still going to try and focus on advancing but will try and remember this so I don’t overwhelm myself.
SquiffSquiff@reddit
Without meaning to sound rude, what you've described is that you only have experience working on a single team at a single place, with a very restricted stack, or a very restricted use case, and with great resistance to change without even the most fundamental modern development practises. Why would anybody hire you? I am not primarily a c# developer but surely there are some ways you could broaden your field, perhaps with other programming languages, frameworks, deployment methodologies, use cases, etc. even if these are only for personal and homelab projects
_MrsBrightside_@reddit (OP)
No offense taken. This is basically what I’m feeling - inadequate. I’m trying my best to learn and advance in my own but only so much i can do while also completing my projects, meetings, etc etc. not sure whether to keep on the dotnet train or stop off somewhere else.
spline_reticulator@reddit
The advice I always give is specialize in domain. Be a generalist when it comes to technology. Try to find a domain you're interested in or has the career opportunities you want and try your best to stick to it. But the companies in that domain are probably using a variety of tech stacks. Try to build enough of a technological base, so you're comfortable enough switching between them. It's one of the best ways to maintain job security.
WiseHalmon@reddit
I work on a wide variety of things so I'm interested in what tech you know and what interests you. What is your company actually building? What technical knowledge did you gain?
In an interview with you, I would ask a few git discussion questions. Like what is rebase vs. merge. Where do you find the value in it? You'd probably say "I don't have git experience" and then I'd ask "what kind of source control do you use" and then you would say "my company doesn't use any" and I would probably demerit you unless you followed up with something like "but I personally use git locally and then push the files where they want. I've tried getting the team to use git but by showing them it's useful for x y z, but we just don't have the size of team to require it in their opinion"
If you want to discuss the actual benefits of git... let me know.
Suggested reading :
https://learn.microsoft.com/en-us/azure/devops/repos/git/git-branching-guidance?view=azure-devops
_MrsBrightside_@reddit (OP)
I’m in government, we mainly build web apps for internal personnel and on occasion external vendors. They mainly entail of reporting and data correction. Our main function is basically being a data pipeline. I definitely gained knowledge with database management (mssql) which I wouldn’t have gotten on my own. I only know dotnet frameworks (razor pages, obsolete webforms and Blazor Server). TBH I don’t think I’m a fan of web development but since it’s the only experience I have (no matter how small) I feel like I have to just keep going in this space. I would prefer to be in the mobile app space. I just feel like I would be wasting more time though working on that on the side instead of working on moving to another role/company.
I have started to use git on one project (I guess better late than never). We hardly work on same projects here, it’s always just 1 person per application but I think I can show them the merit of not having to copy folders all over the place.
WiseHalmon@reddit
I mean... I wonder what percentage of mobile apps are just web page wrappers . . . It's probably high.
So for 6 years you've worked on presumably a lot of projects. How do you manage those ? How do you manage requirements? How is documentation managed?
You may not have experience with a lot of technologies but you ("someone" ) can definitely choose to dive into being a developer that's very fast at setting up small .net projects that serve specific purposes in government. There's no real shame in that. The part that employers are likely to find interesting though is how you migrate to latest .net frameworks, how you work with DevOps to ensure performance or handle bugs, etc.
Side note: Mobile development is a pain. I prefer deploying to a cloud environment and magically my users get an update on their phone app. I wouldn't personally focus here unless you have an idea you'd like to build that isn't a CRUD app. I.e., maybe a Bluetooth app for controlling 10 Bluetooth devices.
I think you should lean into the DevOps guy and ask to shadow and use git for release tags and try it out. The DevOps guy can build a pipeline for you that builds your .net program when a new release tag is pushed. Gets away from "it builds on my computer"
_MrsBrightside_@reddit (OP)
Thanks for the advice! And the questions 😊 They have made me think more about my role and what I can offer/improve on. I’m definitely going to talk to him to try and shadow.
RubyKong@reddit
If you're working with a team, using git is much easier to coordinate and merge patches. I would highly recommend that you use it, if not the others.
CorrectPeanut5@reddit
Get your homelab in order. Gitea for both git and git actions to build/deploy to at least get the experience. Be able to speak with a little experience. The plus side is most big corpo shops put enough of their own spin on that kind of thing and it's rare for anyone to ask about git in an interview.
sigmoid_balance@reddit
There are two things I look in at a new hire: 1. are they able to do the work? 2. will they be successful in the team/company?
Part of #2 is engineering culture fit. Do you code defensively? Do you think of edge cases and express them as tests? In your designs, do you consider reliability of the components?
I'm sure the people in your team aren't "stupid", but unfortunately the projects you are doing didn't force them to use better engineering practices, so they just do the minimum required to deliver.
I think your weak point is that being in your current company didn't give you the experience of working with better engineers and on more challenging projects. This lack of experience will translate into being hired at a lower "level" in a new company - your 6 years of experience might translate into being hired as almost a junior, because your experience might not give you the chance to succeed at a higher level. This might be ok because a larger company might pay you better than your current one.
You are able to overcome this lack of experience with side projects and doing things "the right way" outside or inside the company. Try to understand why the other people in your company aren't using better engineering practices. This is a good growth story to present into a behavioral interview and good introspection for you as an engineer.
_MrsBrightside_@reddit (OP)
Thank you, this was very helpful. I have prepared myself for being a junior somewhere else since I didn’t get the necessary skills here, big fish little pond kinda thing. I do think I’m good with defensive coding, so there’s at least that 😂