The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
at work fairly clean(my definition), a few drink cups, temp gauge, assorted office supplied, pens, tape, etc.. one test laptop(old) my lug-able laptop, three monitors, keyboard mice, phone, power strip, personal tablet, phone, two drink coasters sometimes the cups are even on them. Almost no paper nor books, one journal.
At home. my wife won't even look at my desk. one spare monitor, docking station for work lug-able, keyboard, mouse, one coaster one cup, Tons and tons of maps, books, journals, wires, more wires, extra tablet on floor(it might work), maps on walls, flags on walls, pictures on walls, toys(Star Wars, Small Cars, Models of Ships/planes/cars etc... Gun safe full, very full, Bar/Fridge area sometimes full, usually on way to being empty
To err is human to really mess up you need a computer
Laptop attached to a 30" color accurate monitor
Box of earplugs
Tupperware container of micr gear motors and parts
Various USB thumb drives
Computer memory stick
Lamps for a camera
24V Power Supply and snubber
Pile of work thats being worked on in front of the inbox
3D printed parts
Various 3x5 cards strewn about with notes
The Hutch on the desk has
2 All in one mobile PCs for parts
2 Laptop docking stations
Various books, software, and random references including a Pantone color book
A trophy that being repurposed as a joke
Faceshield for going in high power cabinets
Is it valuable or a good idea to know more than one web stack? I've spent most my time working with C#/ASP.NET and associated tech but the majority of guys I am close with in my area use MEAN stack, in addition, my goals are to work for a startup or smaller business and they tend to use MEAN stack around here as well.
For this reason, I've been learning MEAN, which, in reality, the A and other front-end stuff is actually used in ASP.NET often anyway, so there is some overlap in knowledge.
However, my OOP brain isn't used to thinking functionally like I have to in MEAN sometimes, and it's a challenge for sure, but also fun. If nothing else, I figure I can weigh the pros and cons of both stacks and use them when convincing an employer to use either one.
Is it valuable or a good idea to know more than one web stack?
For me it is. This will enable you and your team to have greater flexibility on which stack to use for each projects that requires it. We've been doing MS stack before but now, we are starting to explore on MEAN to cater projects that needs it. At the same time, we've been exploring into .NET Core too to build xplat apps.
There's a world of difference between SQL and NoSQL, though in both cases, the back-end can hide the implementation details, which has its pros and cons. Pros: You usually don't have to think about it. Cons: When you do have to think about it (optimization, digging into the data to figure out how to model a particular bug) it can be a real PITA if you don't know it well.
Be careful of why startups tend to use the MEAN stack. The two most common reasons I've found is:
They don't have any money to invest in proper tooling, so they go open source (which isn't bad, per se, but...)
As I've encountered all too often among hackers that just want to start coding their new cool idea, "let's use NoSQL!" followed by a group mind-fart: "oooh, yeah, cool tech I've been wanting to use."
More generally, yes, learning the nuances of thinking functionally vs. imperatively is definitely a worthwhile exercise, as is learning more than one web stack, if you have good reason too.
As a rule, knowing more stacks allows you to choose the appropriate technology for each project (e.g. the requirements for Amazon's web site differ from those for your local church). The catch here is that you must know the technologies well enough to be able to determine when each is appropriate. This comes mostly from experience.
By analogy from the physical world, a good carpenter should know when to use carpenter's glue, nails, screws, or other fasteners. Each has their place, and it is a poor craftsman who believes that only one type of fastener answers all problems.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
Never heard of the term MEAN before, but often come across, and am currently using that exact stack to tutor myself on nodejs hosted web sites. All the resources I've found use Mongo, but I feel Mongo is just not right for tabular data, and will eventually substitute PostgreSQL. Overall, I think it's a good stack though.
Well, for Angular, the Chrome console is magic, and there are extensions for viewing Angular entities, and for nodejs, there is Node Tools for Visual Studio. I haven't played with it much, but it looks promising. With node, you don't need a web page or browser, you can write some JS functions and debug them straight in VS. I only started my first project with Express last night, but I think there, the node tools will allow you server side debugging, e.g. a breakpoint when a request is received. I'm also very optimistic that Google can integrate Chrome with nodejs, just as MS allows you to debug JSD running in Edge on breakpoints set in VS.
If you anticipate using some of the underlying technologies within the MEAN stack, then there is obviously a benefit to be had from learning all and / or part of it. I've looked at at parts of it previously, in particular Node.js but have never had a reason to explore any further.
If you want to learn something new and feel there is value to be gained from doing so, then go for it.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
I don't have an opinion on MEAN; however, you should learn technologies other than C#/ASP.NET.
Every single technology that is mainstream at the time someone enters the IT field will fall by the wayside during their career. I can't think of any technology that was hot when I graduated college that is still mainstream. Many no longer exist in any real sense. Yeah, some are still in use, but it's legacy code.
The IT world will migrate to newer, different technologies. Those that don't migrate get stuck in a backwater niche. I've known far too many people who clung to an old technology because they knew it well, and ended up unemployed while they frantically tooled up on newer technology.
MEAN sounds like a good choice -- it's totally different from C#/ASP.NET and you can learn it OTJ and get practical experience with it. If you never use it again? You've learned another way of thinking, and that is critical to each technology. You will carry the knowledge with you for the remainder of your career.
It is very true that the more we know, the easier it is to learn new things.