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
Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

baquerd posted:

Until you have to turn off the trace level logging because they cost more to process and store than your actual data, literally doubling hardware costs in some cases. The real trick is to actively audit your system with a basic expert system AI so that the only logs produced are the ones that need to be looked at.
God help you if you're leaving trace-level logging enabled on your production systems in the first place

Adbot
ADBOT LOVES YOU

MrMoo
Sep 14, 2000

Gounads posted:

Very timely. Yesterday, I hop on a screen share to help a fellow developer figure out an issue. Call ended with me taking 20 minutes to show him how to use an interactive debugger. He didn't even know it was an option.

I expect that was the most valuable 20 minutes I'll spend this quarter.

I see extremes, at one end real time systems where a debugger is DoA, I've hardly ever touched a debugger at all in my career, the other is offline processing for which I've seen the peak. Reuters has a web service (https://hosted.datascope.reuters.com/) for accessing a plethora of content but for bizarre reasons only support a C# SDK built off the service. They ship a demo app which includes a Metro interface showing the available API and example usage in C# together with a "Run" button. There are instructions to note you need to attach a debugger to the process to follow the underlying request and response, it is not shown in the UI.

100 degrees Calcium
Jan 23, 2011



ToxicSlurpee posted:

Then again this is coming from somebody that dislikes c++ and sticks to things like c# or java so take that as you will.

I'm a C# person myself. For a while I seriously did believe it was all I'd need to know to keep a career, but that's clearly untrue and besides, I'm getting pretty bored of web development.

Huzanko
Aug 4, 2015

by FactsAreUseless

GlitchThief posted:

I'm a self-taught web developer who has been working professionally for six years. Can I be a good programmer if I study C++, or is it too late for me? :ohdear:

You'll never be a good programmer but you may make a goon or two cream themselves if you learn C++.

Personally I'd just stick to making money and living life and not giving a poo poo of some neckbeard thinks you're rad and good.

C++ ain't that hard to learn. Check out http://www.learncpp.com/ if you want. However, if you don't use it at your day job and you have any other hobbies or don't program in your off time - and if you did why wouldn't you just stick to working on projects in a familiar space - then why bother?

Virigoth
Apr 28, 2009

Corona rules everything around me
C.R.E.A.M. get the virus
In the ICU y'all......



KoRMaK posted:

You also have to have the drive to want to hack through that, which I don't think everyone possess.

This is me right now as I pick up more dev responsibilities. It helps if you don't have a toxic work place where you can ask more advanced devs questions AS LONG AS you are presenting your research and what you tried along with it.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Vulture Culture posted:

don't knock trace logging, especially for distributed systems

There's benefits, maybe just not first-resort on some of this for your average boring LOB application:

code:
public int Foo()
{
	//Console.Debug("Start Foo()");
	var x = 1;
	//Console.Debug("x = {0}", x);
	x = x * 2;
	//Console.Debug("x = {0}" x);
	//Console.Debug("calling Bar()")
	Bar(ref x);
	//Console.Debug("x = {0}", x);	
	return x;
}
I get needing to do this in some cases, it's just as a goto approach for "hey I've got a weird bug where my app is off-by-one" it just seems so much like overkill compared to either just reading through the code or, maybe, using the debugger.

100 degrees Calcium
Jan 23, 2011



Noam Chomsky posted:

You'll never be a good programmer but you may make a goon or two cream themselves if you learn C++.

Personally I'd just stick to making money and living life and not giving a poo poo of some neckbeard thinks you're rad and good.

C++ ain't that hard to learn. Check out http://www.learncpp.com/ if you want. However, if you don't use it at your day job and you have any other hobbies or don't program in your off time - and if you did why wouldn't you just stick to working on projects in a familiar space - then why bother?

I'm being half-facetious. Obviously goons complaining about their coworkers shouldn't be a big deal, but I have to admit I am pretty insecure about my prospects and I don't feel like my day job provides lots of opportunities to learn new things and strengthen my skills. I don't really have time for school (because of the day job) so I just find myself hoping I can use what free time I can spare to focus on the right skills.

KoRMaK
Jul 31, 2012



Noam Chomsky posted:

You'll never be a good programmer but you may make a goon or two cream themselves if you learn C++.

Personally I'd just stick to making money and living life and not giving a poo poo of some neckbeard thinks you're rad and good.
Lol yea but also do the hard thing to expand your scope

also, cplusplus.com superemecy


GlitchThief posted:

I'm a C# person myself. For a while I seriously did believe it was all I'd need to know to keep a career, but that's clearly untrue and besides, I'm getting pretty bored of web development.

Maybe thats because you are doing it in C#. Ruby on Rails is great, and I came from a C# and PHP background.

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

necrobobsledder posted:

God help you if you can't ever use a distributed tracer like Dapper, Zipkin, HTrace in your distributed microservice based architecture.

gently caress microservices

why yes i would like to introduce modularity in the worst loving way possible, with an unreliable network in between components!

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Vulture Culture posted:

God help you if you're leaving trace-level logging enabled on your production systems in the first place

lol if your systems don't have a filtering mechanism that lets you search logs in real time and to enable and disable them as needed

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

baquerd posted:

Until you have to turn off the trace level logging because they cost more to process and store than your actual data, literally doubling hardware costs in some cases. The real trick is to actively audit your system with a basic expert system AI so that the only logs produced are the ones that need to be looked at.

literally no-one knows which logs matter for that one loving bug that takes down prod until after it happens

write better logs & performance measures if you are turning off logs permanently

100 degrees Calcium
Jan 23, 2011



KoRMaK posted:

Maybe thats because you are doing it in C#. Ruby on Rails is great, and I came from a C# and PHP background.

Funny you should say that. My buddy is a Java developer who has recently become keen on switching to RoR so we've been doing a little studying up on that for a pet project. I've only learned the very basics so far, but it's really apparent how much easier and straightforward it is to set up a functioning MVC application in Rails rather than .NET.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost

Malcolm XML posted:

why yes i would like to introduce modularity in the worst loving way possible, with an unreliable network in between components!
It's just SoA for the generation that never even heard of SOAP and XML-RPC and WSDLs let alone XDR and CORBA. It's just that if you're poo poo at operations (almost everyone is - worse than they are at even development) it's way more risks now than opportunities.

KoRMaK
Jul 31, 2012



GlitchThief posted:

Funny you should say that. My buddy is a Java developer who has recently become keen on switching to RoR so we've been doing a little studying up on that for a pet project. I've only learned the very basics so far, but it's really apparent how much easier and straightforward it is to set up a functioning MVC application in Rails rather than .NET.

Here's an example of how insultingly easy this langage is,

say you have an array ["thing", "butt", "doodoo"]

Now say you want to present that to the user, as a sentence.

You do this lol my_array.to_sentence(", ") and it spits out "thing, butt and doodoo"

What if there was only 1 item in the array, well it figures that out too!

It seems so benign but there are tons of these things scattered across ruby and rails and it lets you as a developer get to the poo poo that matters.

I'm working in a nodejs project right now, and I haven't found a good user signup plugin. Like, this has to be a common thing, and I'm sure other people have done it better than me. Well, in rails there is a gem called devise. Again, it frees me up from having to write code for an already well solved problem.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Malcolm XML posted:

gently caress microservices

why yes i would like to introduce modularity in the worst loving way possible, with an unreliable network in between components!
Remember when GNOME was completely built on top of CORBA?

Skandranon
Sep 6, 2008
fucking stupid, dont listen to me

KoRMaK posted:

I'm working in a nodejs project right now, and I haven't found a good user signup plugin. Like, this has to be a common thing, and I'm sure other people have done it better than me. Well, in rails there is a gem called devise. Again, it frees me up from having to write code for an already well solved problem.

Just use npm padLeft, what could go wrong?

Space Kablooey
May 6, 2009


KoRMaK posted:

I'm working in a nodejs project right now, and I haven't found a good user signup plugin. Like, this has to be a common thing, and I'm sure other people have done it better than me. Well, in rails there is a gem called devise. Again, it frees me up from having to write code for an already well solved problem.

And then your special snowflake application has to sign up users slightly differently from the method that the plugin supports and either you have to scrap the plugin and roll your own method anyway, or try to kludge what you need in the plugin and ending up with a complete mess, or the plugin is so generic and full of required configuration that it's barely worth keeping it.

PT6A
Jan 5, 2006

Public school teachers are callous dictators who won't lift a finger to stop children from peeing in my plane
Personally, I love Django for where it lands on the trade off between not rewriting poo poo, and not making my life a living hell if something needs to be done slightly differently from how they imagined it (especially user management and administration). It's also very full-featured out of the box so you don't have to gently caress around with any sort of third-party nonsense for a lot of common tasks.

return0
Apr 11, 2007

HardDisk posted:

And then your special snowflake application has to sign up users slightly differently from the method that the plugin supports and either you have to scrap the plugin and roll your own method anyway, or try to kludge what you need in the plugin and ending up with a complete mess, or the plugin is so generic and full of required configuration that it's barely worth keeping it.

Devise is pretty legit tbh

Messyass
Dec 23, 2003

CPColin posted:

This is what I always try to get at when we interview people: "What was the worst bug you've encountered and how did you go about fixing it?" and "What are some of the first places you look when you encounter code you don't recognize?"

I couldn't give you a straight answer to either of those questions tbh. I would ask what you mean by the 'worst bug'? Biggest effect? Hardest to find? Largest amount of stupidity that caused it?

And what do you mean by 'code I don't recognize'? Code doesn't appear out of thin air. Do you mean how I would approach someone else's code in general?

Zemyla
Aug 6, 2008

I'll take her off your hands. Pleasure doing business with you!

KoRMaK posted:

I'm working in a nodejs project right now, and I haven't found a good user signup plugin. Like, this has to be a common thing, and I'm sure other people have done it better than me. Well, in rails there is a gem called devise. Again, it frees me up from having to write code for an already well solved problem.
Is the answer "Use Google/Facebook/Twitter OpenID"?

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Zemyla posted:

Is the answer "Use Google/Facebook/Twitter OpenID"?
Google and Twitter are reasonably well-behaved, but dealing with the hundreds of different kinds of transient failures Facebook tosses your way when it isn't working just right is by itself worth using someone else's implementation.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

CPColin posted:

This is what I always try to get at when we interview people: "What was the worst bug you've encountered and how did you go about fixing it?" and "What are some of the first places you look when you encounter code you don't recognize?"

What I want to hear are answers like, "Well, I added some logging, opened the debugger, and..." or, "I banged my head against my desk for ten minutes, then rolled over to my coworker, who remembered seeing something a few months ago..." Basically anything besides "I don't know."

Please don't do this. I can guarantee both that I've worked on some gnarly issues that took days to track down, and that I will not remember them if you ask for examples out of the blue, and will simply resort to a deer stare while desperately trying to remember something recent and then give you a super lame example.

Find a different way to ask this, possibly something like "you've encountered a really strange bug (details go here), how would you try to solve it?)

KoRMaK
Jul 31, 2012



Volmarias posted:

Please don't do this. I can guarantee both that I've worked on some gnarly issues that took days to track down, and that I will not remember them if you ask for examples out of the blue, and will simply resort to a deer stare while desperately trying to remember something recent and then give you a super lame example.

Find a different way to ask this, possibly something like "you've encountered a really strange bug (details go here), how would you try to solve it?)

That sounds like maybe you need to get better at interviewing. The "tell me about a time that X" is a super typical interview question, and is so expected that most people should prepare for it.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
I ask someone how they troubleshoot a scenario I give them that's really common and yet vague - this is literally what typically happens in the real world, so it's not just a trivial scenario IMO. I work off of tickets that we had before that are well documented so I can help the person with some facts instead of just blindly making up crap on the fly. Depending upon what you're looking for this is probably one of the better soft questions to give an engineer.

CPColin
Sep 9, 2003

Big ol' smile.

Messyass posted:

I couldn't give you a straight answer to either of those questions tbh. I would ask what you mean by the 'worst bug'? Biggest effect? Hardest to find? Largest amount of stupidity that caused it?

And what do you mean by 'code I don't recognize'? Code doesn't appear out of thin air. Do you mean how I would approach someone else's code in general?

Asking me those questions back is a better response than some have given!

Volmarias posted:

Please don't do this. I can guarantee both that I've worked on some gnarly issues that took days to track down, and that I will not remember them if you ask for examples out of the blue, and will simply resort to a deer stare while desperately trying to remember something recent and then give you a super lame example.

Find a different way to ask this, possibly something like "you've encountered a really strange bug (details go here), how would you try to solve it?)

If you had said you couldn't remember a bad bug, I would switch to asking, "What is one of the biggest challenges you've faced as a programmer?" The idea I'm getting at is, "Have you been involved in a big enough project that you had a serious problem completing it and how did you go about doing that?" I'm looking for information on the candidate's problem solving skills; I'm not going to insist that you remember all the details about a specific bug.

Edit: And I'd rather hear about something that actually happened than invent a hypothetical.

CPColin fucked around with this message at 15:03 on Jul 1, 2016

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

KoRMaK posted:

That sounds like maybe you need to get better at interviewing. The "tell me about a time that X" is a super typical interview question, and is so expected that most people should prepare for it.

In my opinion, it's mostly a meaningless question that gives the candidate room to memorize and train a bullshit response. Amazon officially focuses (or did when I was there) on this kind of question, though they also had training for you to really drill down into the answer and make sure that the candidate actually knew what they were talking about, which was great for the people who were good at that line of questioning.

Asking the candidate "hey can you write this fizz buzz level question" and then watching them fail to correctly write a for loop has been a better use of my time.

Ask me about the cross cutting concerns of interviewing Android developer candidates!

FlapYoJacks
Feb 12, 2009
My programming career starting out really odd. I was the "Linux guy" to my best friend.

I hadn't used Linux in about 6 years, and my friend was working for a tiny 3 man company that sold engineering services specializing in RtOS development. I had no programming experience nor engineering experience and never applied at his work; however one day he called me out of the blue and said "Hey, we need a Linux guy, we just inherited a project and it runs off of Linux and I don't know anybody! It will be just for a few weeks, can you help?"

Well, I was unemployed and a extra grand was all the money in the world to me. Those "few" weeks turned into 6 years as I was thrown into the land of embedded Linux and kernel code. My former boss who has been doing board layout/coding/electrical engineering for over 30 years decided that I had a knack at programming and decided to mentor me in C/C++ and good programming habits.

For 6 years he taught me as much as he could, and thanks to him I have a career. Even after his business fell apart and I had to move to Michigan, I was able to get him contract work at my new place for board layout/firmware programming, same with my best friend who introduced me to him. It's weird how things turn out in life, and I thank my lucky stars every day at how things fell into place. I basically got paid to have a 1 on 1 education with a highly skilled EE for 6 years.

Steve French
Sep 8, 2003

KoRMaK posted:

It seems so benign but there are tons of these things scattered across ruby and rails

well, started off right anyway.

Gounads
Mar 13, 2013

Where am I?
How did I get here?
Saturday morning on a long weekend: Oh hey, no worries - I'll push the deploy button then go frolic in the sun.
Saturday afternoon: gently caress gently caress gently caress. Why isn't this migration script working.

Pollyanna
Mar 5, 2005

Milk's on them.


It kinda seems like most products that companies (startups, corporations, the whole gamut) need pretty much just boil down to REST-y CRUD apps. For customer-facing services, anyway. A lot of the interesting problems are either already solved via plugins and gems, or require some crazy Ph.D level work to solve.

It feels like the technology is becoming less and less the actual barrier to productivity and success, and design is becoming more and more important as those barriers are coming down. Which kinda makes me wonder where software engineers will be going in the future.

Space Kablooey
May 6, 2009


Pollyanna posted:

It kinda seems like most products that companies (startups, corporations, the whole gamut) need pretty much just boil down to REST-y CRUD apps. For customer-facing services, anyway. A lot of the interesting problems are either already solved via plugins and gems, or require some crazy Ph.D level work to solve.

I'm not sure if I would call problems that can be solved with plugins interesting anyway. That you can just slap a plugin on them makes them uninteresting IMO.

Pollyanna posted:

It feels like the technology is becoming less and less the actual barrier to productivity and success, and design is becoming more and more important as those barriers are coming down. Which kinda makes me wonder where software engineers will be going in the future.

I agree with you on the technology part, but I think that people that know their poo poo aren't going anywhere soon. Businesspeople will always need tech people to translate their requirements into things that people that code understand.

Edison was a dick
Apr 3, 2010

direct current :roboluv: only
Plus, everyone reinvents the wheel and we build toppling edifices of abstraction that inevitably fall down so we build a new platform in the misguided belief that this time it won't happen again! Requiring us to port and rewrite everything for the new platform.

Steve French
Sep 8, 2003

Pollyanna posted:

It kinda seems like most products that companies (startups, corporations, the whole gamut) need pretty much just boil down to REST-y CRUD apps. For customer-facing services, anyway. A lot of the interesting problems are either already solved via plugins and gems, or require some crazy Ph.D level work to solve.

It feels like the technology is becoming less and less the actual barrier to productivity and success, and design is becoming more and more important as those barriers are coming down. Which kinda makes me wonder where software engineers will be going in the future.

There is far more of a spectrum than you think. And plenty of hard and interesting problems that don't require PhD level work.

a foolish pianist
May 6, 2007

(bi)cyclic mutation

Gounads posted:

Saturday morning on a long weekend: Oh hey, no worries - I'll push the deploy button then go frolic in the sun.
Saturday afternoon: gently caress gently caress gently caress. Why isn't this migration script working.

We make sure never to push anything new on Friday, even.

Series DD Funding
Nov 25, 2014

by exmarx

Steve French posted:

There is far more of a spectrum than you think. And plenty of hard and interesting problems that don't require PhD level work.

Yeah, the only CRUD stuff that I can think of at our company is done by interns

My Rhythmic Crotch
Jan 13, 2011

CPColin posted:

"Have you been involved in a big enough project that you had a serious problem completing it and how did you go about doing that?"
You ought to just ask that question straightaway rather than beating around the bush about it IMO. Much more straight forward.

CPColin
Sep 9, 2003

Big ol' smile.
No!

john donne
Apr 10, 2016

All suitors of all sorts themselves enthral;

So on his back lies this whale wantoning,

And in his gulf-like throat, sucks everything

That passeth near.

My Rhythmic Crotch posted:

You ought to just ask that question straightaway rather than beating around the bush about it IMO. Much more straight forward.

Specific questions that have answers which can be generalized are more useful in interviews than the inverse.

Adbot
ADBOT LOVES YOU

FamDav
Mar 29, 2008

Malcolm XML posted:

gently caress microservices

why yes i would like to introduce modularity in the worst loving way possible, with an unreliable network in between components!

(micro)services are great, but a lot of companies that try to do them just assumes it meaning vending protobufs and standing up your server. there's so much common infrastructure that needs to exist (logging, metrics, tracing, monitoring, bootstrap, throttles, timeouts, etc.) and only some of it has made it into open source, and what does exist in open source doesn't always generalize well or doesn't scale up beyond a seemingly very small point :(.

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