
Ask HN: Need help deciding between a small django shop vs. large .net company - bnchrch
This is my first job after graduation (I&#x27;m 23) and right now I just started a position as a developer in a small company which uses python, django, aws, and knockout&#x2F;angular. I got the position because my past internships have been this stack, however after taking a week I&#x27;ve discovered that their processes and codebase is a little terrifying and I feel like I&#x27;ll end up in more of a mentor position.
Today I just received a competing offer from a larger company (80-100 employees) which is similar in terms of salary but has many more perks: In house bar, fully stoked kitchen, free gym passes ect. Typically I&#x27;d jump at this however the stack is .net something that I&#x27;m not familiar with and am not to excited about as I&#x27;m not a big fan of microsofts history with their paywalled garden.
What I&#x27;m really struggling with is I would like to be in a larger company where I can grow more as a developer but I&#x27;m wondering if it&#x27;s worth it enough to sink my time into a .net stack especially when I want to be moving onto the west coast in 3 years.
Any advice is more than appreciated.
======
thisjustinm
If you're just starting out and your experience thus far has been python /
django then I'd say go for the .net job.

While .net itself may not be "cool" you'll benefit a lot from diving into an
entirely different language, framework and ecosystem. Plus, it sounds like you
may get some good mentorship, which is invaluable when you're starting out.

Bottom line: don't sweat the .net - dive into a different stack, spend a few
years learning its way of doing things and then see what you want to jump into
next.

------
brudgers
Don't take this the wrong way, but at 23 you're not old enough to have lived
through Microsoft's history, and it is likely that what you have heard is the
agreed upon myth. Netscape's founders had a multi-billion dollar exit that
allowed Marc Andreesen to become a VC and Jim Clark to once own a 90 meter
yacht. In actual history Apple sued Microsoft, not vice versa and it was
Microsoft's executive team who made 10,000 millionaires from its employee
option pool.

Microsoft has open-sourced .NET and C#. It's been helping Miguel de Icaza
develop Mono for many years.

That said, pick the opportunity with the best team. Pick the opportunity which
will push you the furthest. Pick the opportunity where you will learn the
most. Pick the one that takes you out of your technical comfort zone the
furthest. Pick the opportunity to work with people who make decsions on
technical merit.

Good luck.

------
mmcconnell1618
I wouldn't consider perks at all because no perk is going to make up for a
place where you're not happy. If the salaries are similar then the main
considering is if you'll enjoy the work at each company. From your description
it sounds like you won't enjoy the django role because you won't have someone
to push you to grow. Does the .Net role have great developers who can help you
get better at your craft? Tech stacks come and go. You'll need to learn a new
one again and again. Focus on the people and opportunities to grow.

------
slackstation
As someone who came from the Ruby/Rails stack to a C#/.NET MVC stack, I have
to say it was eye opening. The stack has alot of bells and whistles and
arguably benefits from the deep integration between the tools (Visual Studio)
and the platform. I came in wanting to hate it and actively looking for things
to bemoan but, it was rather a pleasant experience.

One last thing is the importance of writing code in a static/typed language.
It allows you to write and build things in a different style. It changed how I
looked at programming and once I had learned another paradigm, I became far
more interested in others. It led me to functional programming which in turn
led me back to Object Oriented Programming and reading a bit more deeply about
the theory of architecture. It made realize that most of my career, I was
either using someone else's architecture or just hacking together the bare
minimum for the task at hand without any thought of how the system could
change and grow over time.

------
bdavisx
If your current companies codebase is "terrifying", then you may end up
finding a lot of resistance to writing cleaner code anyway. Many of the
"senior" developers could be suffering from expert beginner syndrome and not
be too welcoming to different ways of thinking.

------
crazypyro
I took a .net internship this summer and I'm actually really enjoying it. The
most annoying thing to me has been dealing with wcf (which you may be able to
completely avoid), but otherwise, it's been good. I was also apprehensive to
stepping into .net/microsoft stack, but really, as long as you can use modern
versions, the tooling provided by Microsoft and Resharper makes things really
swell. There are still things that make you go "&#$@ Microsoft", but they
aren't really an everyday type of thing. MSDN is great.

~~~
karmakaze
Not to be confused with F# @Microsoft being an extremely cool .Net/OCaml
language.

~~~
crazypyro
Ahah, whoops. Edited for clarity. That's a funny coincidence.

------
raphaelb
At this stage in your career is pick whichever one you are going to learn more
from in terms of working with great people. By the way you worded it it sounds
like the .net shop will have more people senior to you and therefore may be a
better learning experience.

Perks and even salary at this point are far behind the benefits of working
with an excellent team you can learn from, in my opinion.

------
marypublic
Some things to consider.

If you are starting out, keep in mind you are coming into a live and running
environment. What looks chaotic to you may just be something that grew up
organically over time and has an internal logic that isn't readily apparent.
If they have money to pay you, they must be doing something right. Consider
seeking that expertise out, even if you feel you are not necessarily being
challenged at the technology level. You can always change jobs later when you
have this experience under your belt. First jobs out of college are supposed
to be "stepping stone" jobs anyway. "Get what you can and move on" is an
entirely legitimate way to approach this.

Think about where you want to end up eventually. If you want to move into
corporate-land writing reports against business databases, go for the .Net
shop. If you want to eventually do "fun" stuff in startup-land, then stay
where you are. Because the reality is the complexity of what people are doing
with .Net is relatively low - they use it to run businesses, so you're always
writing a variant of a shopping cart or accounting program. When people want
to do something interesting/new/really challenging, they tend to choose other
tools than those provided by Microsoft, inclusive of .Net.

So I guess if you want immediate security, go with the .Net shop. (Though be
aware that in any large or even medium-sized organization you are as likely to
have to learn politics as programming.)

Otherwise, stay where you are a little longer and see if you can find some
value in what you have to work with now.

------
s73v3r
What about stuff like health insurance, and 401k match? Young people typically
don't think about these things, but getting a maximum match out of your 401k
contributions (it's literally free money) while you're young will pay back
quite a lot when you're looking to retire.

~~~
bnchrch
health and dental match but I do not know about the nuances of RRSPS (Canada's
401k equivalent)

