Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Capri Sun Tzu
Oct 24, 2017

by Reene

Hughlander posted:

Yes. Think particularly historical (Pre-1990) white collar jobs. You get your degree from school to show you can learn poo poo and then you get trained by the company you spend the next 40 years working for. The fact that you have a degree in Anthropology is meaningless to be a manager of widget makers.
40 years is a long rear end time to stay at one company in this sector.

Adbot
ADBOT LOVES YOU

Portland Sucks
Dec 21, 2004
༼ つ ◕_◕ ༽つ

leper khan posted:

At least it wont surface those pants to the user though.

Modern C# has the ?. operator which does basically the same thing. Its good, and hopefully soon Ill be able to use it.

I just looked this up and had no idea this exists which brought me to a larger question.

How do you navigate the process of getting familiar with and using more of the constructs in languages like C# that just seem to be endlessly long? I'm pretty fresh out of my undergrad, I'm the only developer in my shop (I work at a manufacturing company), and the only tutorials I can find on .NET seem to just cover basic OOP principals. Sometimes it feels like all of the "best practices" everyone is aware of online are trade secrets handed down orally from person to person. Where's all the good info hiding? :iiam:

Pollyanna
Mar 5, 2005

Milk's on them.


love2need prod data to test features and get told who the gently caress are you by a user when i enter their room in order to get said data :shepface:

spiritual bypass
Feb 19, 2008

Grimey Drawer

Pollyanna posted:

love2need prod data to test features and get told who the gently caress are you by a user when i enter their room in order to get said data :shepface:

Please continue with this story

Pollyanna
Mar 5, 2005

Milk's on them.


rt4 posted:

Please continue with this story

Not much to it. Since we dont have any sort of useful preprod or test data, I have to wire up my local front end code to the prod environment (see previous posts for my feelings on this). I needed to get more Suggested Friends to pop up, so I went into an unlocked room and hung out for a bit. The rooms owner told me to gently caress off :shrug:

In related news, getting time in the morning when few people are around is only good if you dont run into a bunch of blockers during that time :( So much for that idea.

Pollyanna fucked around with this message at 17:32 on Dec 6, 2017

raminasi
Jan 25, 2005

a last drink with no ice

Portland Sucks posted:

I just looked this up and had no idea this exists which brought me to a larger question.

How do you navigate the process of getting familiar with and using more of the constructs in languages like C# that just seem to be endlessly long? I'm pretty fresh out of my undergrad, I'm the only developer in my shop (I work at a manufacturing company), and the only tutorials I can find on .NET seem to just cover basic OOP principals. Sometimes it feels like all of the "best practices" everyone is aware of online are trade secrets handed down orally from person to person. Where's all the good info hiding? :iiam:

Unironically: Follow the .NET thread here on the forums. I started my career in a very similar situation to yours (only .NET guy on a team) and did it for seven years with that thread as my only entry point into the ecosystem. I now have a real job on a team full of actual developers, and after a year of work my official review had a lot of good at .NET on it, so something worked. Make sure you follow up on new stuff you learn about there - google new language constructs and versions and whatever.

(Unfortunately, the threads educational utility is less now that one of the regulars who used to be on the C# design team quit it, but its still good.)

But no matter what, growing as a dev is hard without peer review. Id say the desire to do it at all is a good sign, though.

The Fool
Oct 16, 2003


Pollyanna posted:

Not much to it. Since we dont have any sort of useful preprod or test data, I have to wire up my local front end code to the prod environment (see previous posts for my feelings on this). I needed to get more Suggested Friends to pop up, so I went into an unlocked room and hung out for a bit. The rooms owner told me to gently caress off :shrug:

In related news, getting time in the morning when few people are around is only good if you dont run into a bunch of blockers during that time :( So much for that idea.



This story made so much more sense as soon as a I realized you were talking about chat rooms.

CPColin
Sep 9, 2003

Big ol' smile.

Pollyanna posted:

In related news, getting time in the morning when few people are around is only good if you dont run into a bunch of blockers during that time :( So much for that idea.

Blocker: Price Is Right isn't over yet

Portland Sucks posted:

I just looked this up and had no idea this exists which brought me to a larger question.

How do you navigate the process of getting familiar with and using more of the constructs in languages like C# that just seem to be endlessly long? I'm pretty fresh out of my undergrad, I'm the only developer in my shop (I work at a manufacturing company), and the only tutorials I can find on .NET seem to just cover basic OOP principals. Sometimes it feels like all of the "best practices" everyone is aware of online are trade secrets handed down orally from person to person. Where's all the good info hiding? :iiam:

I went through the whole MSDN guide for C# while my onboarding here was failing to happen. It was okay. I made a few dumb toy projects, to try to feel my way around Visual Studio and the language stuff I was reading about. I hated all of it. I don't know where the good info is.

The problem with a lot of this stuff is that it's hard to boil down into examples that teach the concept while also showing off the real-world value. It took years, back in school, before I finally worked on a project that made it clear why we were learning all this OOP. (It took way more years of grown-up work experience to learn why building a giant class hierarchy could be a terrible idea!) Maybe this industry needs apprenticeships and guilds.

Destroyenator
Dec 27, 2004

Don't ask me lady, I live in beer
Specifically for C# you should get a license for Resharper which will give you lots of hints about where the newer features will cut down on code and where you don't match the standard naming conventions. Aside from some of the really out there LINQ translations you should pretty much always follow it's suggestions. For project level layout it's down to experience and exposure to different projects though.

KoRMaK
Jul 31, 2012



God drat everyones being bitchy today.

One of my jr devs is working on something sort of urgent, and as I read his code I notice some of the important stuff is commented out so I ask "How does the code as it stands in the PR make it better?"

I get a response back starting with "jesus Kormak, I commented it out"

Holy gently caress bruh I'm gonna wreck your rear end now for those 4 hotfixes you delivered in the last month. Dude works too fast and is way over confident and gets snippy when he shouldn't. He's not feeling well today but that's no excuse to start being a dick to a teammate.

a foolish pianist
May 6, 2007

(bi)cyclic mutation

lifg posted:

I spent so long in college learning about time v space trade-offs in programming, but software development is all about development speed v correctness of new features. This little fact is something that didnt really sink in until just recently when I read the Google SRE book.

Do other professions have this weird chasm between school and work? Is this like how lawyers (according to My Cousin Vinny) learn theory in school, and expect their firms to train them in practice?

I work with high-throughput data pipelines, and both time and space complexity are real issues for our company. We spend a lot of time trying to make sure our processes work as quickly as possible. Until I got this job, I never really had to fret about about optimizing code, but now I'm really glad of those algorithms courses.

Pollyanna
Mar 5, 2005

Milk's on them.


At what point during a struggle in replicating a bug/feature state where wrangling the data itself is unavailable to you and following the steps to do it via the program itself doesnt work locally is it better to just push a change you are pretty sure will fix the problem and hope it works? Cause Im really losing patience here. Does this make me a bad engineer, or just a mad engineer?

KoRMaK
Jul 31, 2012



Whose call is it to do that? If they are onboard with it then *shrug* sure why not

spiritual bypass
Feb 19, 2008

Grimey Drawer
Sounds like that's the only way for you get things done since you don't actually have a test environment

ChickenWing
Jul 22, 2010

:v:

KoRMaK posted:

jr dev


"jesus Kormak, I commented it out"

that's a paddlin'

LLSix
Jan 20, 2010

The real power behind countless overlords

Pollyanna posted:

At what point during a struggle in replicating a bug/feature state where wrangling the data itself is unavailable to you and following the steps to do it via the program itself doesnt work locally is it better to just push a change you are pretty sure will fix the problem and hope it works? Cause Im really losing patience here. Does this make me a bad engineer, or just a mad engineer?

A maybe-fix isn't ideal, but its better than marking the bug as "cannot reproduce" and moving on. If possible, keep an eye out for similar bug reports after releasing the fix.

Best case, one of your coworkers might be able to show you how to reproduce the bug.

CPColin
Sep 9, 2003

Big ol' smile.

Pollyanna posted:

At what point during a struggle in replicating a bug/feature state where wrangling the data itself is unavailable to you and following the steps to do it via the program itself doesnt work locally is it better to just push a change you are pretty sure will fix the problem and hope it works? Cause Im really losing patience here. Does this make me a bad engineer, or just a mad engineer?

Neither. Heisenbugs are the worst.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



raminasi posted:

(Unfortunately, the threads educational utility is less now that one of the regulars who used to be on the C# design team quit it, but its still good.)

He was on the VB team IIRC, but of course they were involved in new features because they usually got parity.

Portland Sucks posted:

I just looked this up and had no idea this exists which brought me to a larger question.

How do you navigate the process of getting familiar with and using more of the constructs in languages like C# that just seem to be endlessly long? I'm pretty fresh out of my undergrad, I'm the only developer in my shop (I work at a manufacturing company), and the only tutorials I can find on .NET seem to just cover basic OOP principals. Sometimes it feels like all of the "best practices" everyone is aware of online are trade secrets handed down orally from person to person. Where's all the good info hiding? :iiam:

I'd look up some articles about new C# language features because it starts with parity with Java and just goes nuts with good stuff from there. Even ten year old ones might teach you something cool.

Capri Sun Tzu
Oct 24, 2017

by Reene

Destroyenator posted:

Specifically for C# you should get a license for Resharper which will give you lots of hints about where the newer features will cut down on code and where you don't match the standard naming conventions. Aside from some of the really out there LINQ translations you should pretty much always follow it's suggestions. For project level layout it's down to experience and exposure to different projects though.
Seconding Resharper, it's a quality product that will help you write better C# code. The best part about it is that it will introduce you to more advanced language features in a context-aware way, like if you write some suboptimal code it will pop up a little thing that says "Hey, you can write it this way!" and it's almost always cleaner and more readable.

a foolish pianist
May 6, 2007

(bi)cyclic mutation

Pollyanna posted:

At what point during a struggle in replicating a bug/feature state where wrangling the data itself is unavailable to you and following the steps to do it via the program itself doesnt work locally is it better to just push a change you are pretty sure will fix the problem and hope it works? Cause Im really losing patience here. Does this make me a bad engineer, or just a mad engineer?

Do you have any environment (staging, some prod deployment no one cares about, anything) where you can pull your changes to and test? Or a prod environment you can push your code up to and run manually without installing and loving up the prod system's normal functions?

Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

Destroyenator posted:

Specifically for C# you should get a license for Resharper which will give you lots of hints about where the newer features will cut down on code and where you don't match the standard naming conventions. Aside from some of the really out there LINQ translations you should pretty much always follow it's suggestions. For project level layout it's down to experience and exposure to different projects though.

Resharper is great, and you should use it -- but the refactoring will often result in idiomatic C#, not necessarily performant C#.

As with any tool, think about how and where you apply it.

Pollyanna
Mar 5, 2005

Milk's on them.


a foolish pianist posted:

Do you have any environment (staging, some prod deployment no one cares about, anything) where you can pull your changes to and test? Or a prod environment you can push your code up to and run manually without installing and loving up the prod system's normal functions?

Ended up camping more rooms and doing the latter. Heard a lot of "who the gently caress are you"s but hey, I got my ticket done v:v:v

Dirty Frank
Jul 8, 2004

Pixelboy posted:

Resharper is great, and you should use it -- but the refactoring will often result in idiomatic C#, not necessarily performant C#.

As with any tool, think about how and where you apply it.

In my experience its incredibly slow and if you have a poo poo pc or a big project (I have both) its completely unusable*.

* as of ~2014, tell me if they made huge strides since?

Portland Sucks
Dec 21, 2004
༼ つ ◕_◕ ༽つ

Dirty Frank posted:

In my experience its incredibly slow and if you have a poo poo pc or a big project (I have both) its completely unusable*.

* as of ~2014, tell me if they made huge strides since?

I've got it installed now on my work laptop in a project with about 30k LOC and haven't noticed any performance hits to VS outside of the initial indexing of the codebase. Work laptop is a i7 6820, m2 SSDs, 32gb of ram fwiw.

This suggestion was pretty great, already learning and I've got a ton of time under PyCharm so its nice to have a familiar helping hand.

a foolish pianist
May 6, 2007

(bi)cyclic mutation

Pollyanna posted:

Ended up camping more rooms and doing the latter. Heard a lot of "who the gently caress are you"s but hey, I got my ticket done v:v:v

That's pretty much how I live my life. Test code by running poo poo manually on production deployments.

The Fool
Oct 16, 2003


Pollyanna posted:

Ended up camping more rooms and doing the latter. Heard a lot of "who the gently caress are you"s but hey, I got my ticket done v:v:v

Do you now work for a company who's name is a stupidly misspelled body of water?

pigdog
Apr 23, 2004

by Smythe

Portland Sucks posted:

I just looked this up and had no idea this exists which brought me to a larger question.

How do you navigate the process of getting familiar with and using more of the constructs in languages like C# that just seem to be endlessly long? I'm pretty fresh out of my undergrad, I'm the only developer in my shop (I work at a manufacturing company), and the only tutorials I can find on .NET seem to just cover basic OOP principals. Sometimes it feels like all of the "best practices" everyone is aware of online are trade secrets handed down orally from person to person. Where's all the good info hiding? :iiam:

I don't know about .NET in particular, but for Java I found help from books, which explained more advanced and less often addressed features in detailed and accessible manner.

Books like Effective Java, Java Concurrency in Practice, Spring In Action etc.

Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

Dirty Frank posted:

In my experience its incredibly slow and if you have a poo poo pc or a big project (I have both) its completely unusable*.

* as of ~2014, tell me if they made huge strides since?

We use it on pretty massive projects, but to be fair -- VS2015+ provides almost as much as Resharper, and is fast. It's becoming less and less relevant.

Main Paineframe
Oct 27, 2010

Pollyanna posted:

At what point during a struggle in replicating a bug/feature state where wrangling the data itself is unavailable to you and following the steps to do it via the program itself doesn’t work locally is it better to just push a change you are pretty sure will fix the problem and hope it works? Cause I’m really losing patience here. Does this make me a bad engineer, or just a mad engineer?

Given that you're at a new job, try asking your boss? Or the product owner? You've been there like a month, you should be able to ask people things.

CPColin
Sep 9, 2003

Big ol' smile.
Four months into this job (and 2.5 weeks away from the end of it), I finally checked in a significant piece of code. It immediately failed to compile because I did something like $"{url}/path/to/whatever/{id}" and neither of two other C# developers nor the build server knew what that syntax meant (string interpolation).

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

Main Paineframe posted:

Given that you're at a new job, try asking your boss? Or the product owner? You've been there like a month, you should be able to ask people things.

Yeah. The answer is do what you can with the systems available if there are truly no alternatives when you talk to peers & superiors, plus flagging this inability to do a manual test on your work in an isolated environment as an issue.

Pollyanna
Mar 5, 2005

Milk's on them.


Maluco Marinero posted:

Yeah. The answer is do what you can with the systems available if there are truly no alternatives when you talk to peers & superiors, plus flagging this inability to do a manual test on your work in an isolated environment as an issue.

Oh trust me, Ive been running the whole debacle by my boss and getting it down in writing (chat records). This is actually after a couple fallback plans suggested by my boss failed to work. ez path yeahhhhh

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
I sincerely hope that you end up at a non-clownshoes environment in the next couple years Pollyanna. You're going to spend a good amount of time unfucking the damage done to you by these places.

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Pollyanna posted:

At what point during a struggle in replicating a bug/feature state where wrangling the data itself is unavailable to you and following the steps to do it via the program itself doesnt work locally is it better to just push a change you are pretty sure will fix the problem and hope it works? Cause Im really losing patience here. Does this make me a bad engineer, or just a mad engineer?

my biggest frustration as a sr dev was always people who would spend four days on a problem like this and not let me know why they were blocked. tell your team lead or manager. they probably have no idea poo poo is hosed up and unless they are a dick they'd rather hear poo poo is hosed up and you can't do your job than you spent four days faffing about

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



CPColin posted:

Four months into this job (and 2.5 weeks away from the end of it), I finally checked in a significant piece of code. It immediately failed to compile because I did something like $"{url}/path/to/whatever/{id}" and neither of two other C# developers nor the build server knew what that syntax meant (string interpolation).

That sucks - our build server is a little behind, too, so I can't use pattern matching. Not as behind as yours, but still :argh:

Also, if your team is that far behind the curve, they probably are dead-enders and leaving is the right thing to do, even if it's another Java shop :P

Pollyanna
Mar 5, 2005

Milk's on them.


Im a little concerned when crashing early is 10pm and up early is 5~6am.

CPColin
Sep 9, 2003

Big ol' smile.
Sprint planning is today, but my boss has been out at conferences this past week, so now I get to decide whether to tell my teammates today that I'm going to be leaving mid-sprint or wait until tomorrow, when I've formally given notice. :waycool:

Currently vacillating between "who cares" and "email the scrum master for advice."

Pollyanna
Mar 5, 2005

Milk's on them.


I say do it tomorrow.

Gounads
Mar 13, 2013

Where am I?
How did I get here?

CPColin posted:

Sprint planning is today, but my boss has been out at conferences this past week, so now I get to decide whether to tell my teammates today that I'm going to be leaving mid-sprint or wait until tomorrow, when I've formally given notice. :waycool:

Currently vacillating between "who cares" and "email the scrum master for advice."

Don't tell them.
Commit to a lot of work.

Adbot
ADBOT LOVES YOU

Capri Sun Tzu
Oct 24, 2017

by Reene
I wouldn't say anything to your co-workers before you've talked to management and HR, if you've already done that then this may be a good time to make an announcement. Just do it at the start of the sprint or things will be weird.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply