|
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.
|
# ? Jun 30, 2016 18:37 |
|
|
# ? May 10, 2024 18:32 |
|
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 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.
|
# ? Jun 30, 2016 18:58 |
|
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.
|
# ? Jun 30, 2016 19:05 |
|
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? 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?
|
# ? Jun 30, 2016 19:16 |
|
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.
|
# ? Jun 30, 2016 19:23 |
|
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:
|
# ? Jun 30, 2016 19:25 |
|
Noam Chomsky posted:You'll never be a good programmer but you may make a goon or two cream themselves if you learn C++. 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.
|
# ? Jun 30, 2016 19:27 |
|
Noam Chomsky posted:You'll never be a good programmer but you may make a goon or two cream themselves if you learn C++. 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.
|
# ? Jun 30, 2016 19:52 |
|
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!
|
# ? Jun 30, 2016 19:55 |
|
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
|
# ? Jun 30, 2016 19:58 |
|
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
|
# ? Jun 30, 2016 20:00 |
|
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.
|
# ? Jun 30, 2016 20:09 |
|
Malcolm XML posted:why yes i would like to introduce modularity in the worst loving way possible, with an unreliable network in between components!
|
# ? Jun 30, 2016 20:17 |
|
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.
|
# ? Jun 30, 2016 20:28 |
|
Malcolm XML posted:gently caress microservices
|
# ? Jun 30, 2016 20:57 |
|
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?
|
# ? Jun 30, 2016 21:08 |
|
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.
|
# ? Jun 30, 2016 21:19 |
|
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.
|
# ? Jun 30, 2016 21:39 |
|
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
|
# ? Jun 30, 2016 22:01 |
|
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?
|
# ? Jul 1, 2016 08:02 |
|
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.
|
# ? Jul 1, 2016 08:33 |
|
Zemyla posted:Is the answer "Use Google/Facebook/Twitter OpenID"?
|
# ? Jul 1, 2016 08:50 |
|
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?" 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?)
|
# ? Jul 1, 2016 14:06 |
|
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. 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.
|
# ? Jul 1, 2016 14:56 |
|
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.
|
# ? Jul 1, 2016 14:56 |
|
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? 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. 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 |
# ? Jul 1, 2016 15:00 |
|
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!
|
# ? Jul 1, 2016 15:07 |
|
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.
|
# ? Jul 1, 2016 15:28 |
|
KoRMaK posted:It seems so benign but there are tons of these things scattered across ruby and rails well, started off right anyway.
|
# ? Jul 1, 2016 17:16 |
|
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.
|
# ? Jul 2, 2016 18:23 |
|
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.
|
# ? Jul 2, 2016 18:30 |
|
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.
|
# ? Jul 2, 2016 20:26 |
|
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.
|
# ? Jul 2, 2016 20:33 |
|
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. There is far more of a spectrum than you think. And plenty of hard and interesting problems that don't require PhD level work.
|
# ? Jul 2, 2016 22:36 |
Gounads posted:Saturday morning on a long weekend: Oh hey, no worries - I'll push the deploy button then go frolic in the sun. We make sure never to push anything new on Friday, even.
|
|
# ? Jul 2, 2016 22:45 |
|
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
|
# ? Jul 2, 2016 22:50 |
|
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?"
|
# ? Jul 2, 2016 22:51 |
|
No!
|
# ? Jul 3, 2016 01:00 |
|
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.
|
# ? Jul 3, 2016 01:22 |
|
|
# ? May 10, 2024 18:32 |
|
Malcolm XML posted:gently caress microservices (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 .
|
# ? Jul 3, 2016 02:09 |