|
necrobobsledder posted:Let me take a wild guess - your coworkers are mechanical or electrical engineers originally? Web programmers.
|
# ? Jun 29, 2016 14:18 |
|
|
# ? May 11, 2024 16:41 |
|
ratbert90 posted:That IS true! Oh right - you're the guy in the secfuck thread who talks about trying to make actually secure embedded linux products. Goonspeed
|
# ? Jun 29, 2016 14:25 |
|
ratbert90 posted:Web programmers. I'm so sorry.
|
# ? Jun 29, 2016 14:31 |
|
Munkeymon posted:Oh right - you're the guy in the secfuck thread who talks about trying to make actually secure embedded linux products. Goonspeed That's me! It's possible; it's just that the entire embedded Linux industry doesn't give a poo poo about security because the entire industry came from RtOS land where they had "security" through obscurity. Pollyanna posted:I'm so sorry. Thank you.
|
# ? Jun 29, 2016 14:33 |
|
ratbert90 posted:Web programmers. How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"?
|
# ? Jun 29, 2016 16:36 |
PT6A posted:How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"? I feel like there are a lot more self-taught people out there than anyone wants to admit, and the self-taught people I know have some gaping holes in their theory knowledge.
|
|
# ? Jun 29, 2016 16:41 |
|
PT6A posted:How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"? Yes. https://www.youtube.com/watch?v=9Xy3QC7yxJw&t=1476s https://www.youtube.com/watch?v=BSaAMQVq01E
|
# ? Jun 29, 2016 16:42 |
|
And its hard not to hire them. They are inexpensive and numberful. :-/
|
# ? Jun 29, 2016 16:45 |
|
ratbert90 posted:Web programmers. PT6A posted:How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"?
|
# ? Jun 29, 2016 16:59 |
|
ChickenWing posted:I feel like there are a lot more self-taught people out there than anyone wants to admit, and the self-taught people I know have some gaping holes in their theory knowledge. I was self-taught inasmuch as I taught myself basic coding skills before studying computer science and software development properly. The idea of hiring someone who's completely self-taught is frightening to me, based on realizing how much I didn't know. necrobobsledder posted:Wait, how do you web programmers working on embedded code? I wouldn't want to hire for the opposite direction either, FWIW. The university I attended started with Java, but that doesn't mean we didn't eventually get exposure to C and assembly. Not to mention, it's still possible, even useful, to discuss how memory is managed internally even if you're using a language that doesn't require you to manage memory directly.
|
# ? Jun 29, 2016 17:34 |
|
PT6A posted:I was self-taught inasmuch as I taught myself basic coding skills before studying computer science and software development properly. The idea of hiring someone who's completely self-taught is frightening to me, based on realizing how much I didn't know. In my experience as a Java dev, garbage collection (or lack therof) and heap overflows tend to be some of the big issues that create chronic and/or hard to fix system problems and usually result in a senior dev or manager coming down into the trenches to fix them.
|
# ? Jun 29, 2016 17:55 |
|
PT6A posted:How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"? Because there's a lot of programming that can be done and is done without having to know those things. If someone who doesn't know those things is being hired to work on a system where knowing those things would be a benefit then that was a hiring mistake. I know the basics of memory management, stacks, and heaps but I've never worked on anything where I've had to know them.
|
# ? Jun 29, 2016 19:26 |
|
PT6A posted:How do you get to be a programmer that someone would actually hire without learning something about memory management and the difference between the stack and the heap? Are these the sorts of shits being turned out by "boot camps" and "code dojos"?
|
# ? Jun 29, 2016 19:30 |
|
KoRMaK posted:And its hard not to hire them. They are inexpensive and numberful. :-/ If these are your primary criteria...
|
# ? Jun 29, 2016 19:49 |
|
I can see why, if you were self-taught, you might not have encountered it or had a need to know what it is, I'm just curious what sort of educational path other than being self-taught would result in you never coming across such things. There's lots of things I learned in university that I haven't used, but I still learned them. Unless you know exactly what you'll be doing for the rest of your career as a developer, it's probably a good idea to try learning more than just things you think will be directly applicable to your job in the near future. A degree takes four years, there's enough time to cover memory allocation. We had to take a mandatory course on operating systems. Was there gently caress all in there that I, personally, have used since? Nope, but that doesn't mean it was a bad idea to have it in there.
|
# ? Jun 29, 2016 19:55 |
|
PT6A posted:I can see why, if you were self-taught, you might not have encountered it or had a need to know what it is, I'm just curious what sort of educational path other than being self-taught would result in you never coming across such things. There's lots of things I learned in university that I haven't used, but I still learned them. I got an A+ in Operating Systems and a 100% on the final exam. I don't remember much from the course. Learning new things and forgetting things you don't use all the time is a real thing that happens. Sometimes I think all programmers want is to feel more 1337 than the next crab in the bucket. Probably a side-effect of getting beaten up by jocks.
|
# ? Jun 29, 2016 22:04 |
|
Noam Chomsky posted:
Probably some truth in that. To play devil's advocate some more, an analogy might be asking a practicing medical doctor how many molecules of CO2 are produced per mole of Acetyl COA in the Krebs cycle. You can bet your rear end that question was somewhere in his biology final or on the MCAT, but it is not very relevant to his day-to-day work. Of course, there are some MD jobs where it would be used daily: metabolism research, etc. I would want the doctor to know what those terms meant and to have enough familiarity with the Krebs cycle to know how to get the answer, but if I ran a hospital, I wouldn't make him whiteboard the answer during his interview. There's just too much scope to keep at the ready in your head at all times, and low-level computer science concepts, albeit fundamental ones, might not make the cut.
|
# ? Jun 29, 2016 22:48 |
|
Someone linked Bob up above, I'll follow up on this conversation with his words of wisdom on the matter:quote:I have been consistently disappointed by the quality of CS graduates. It’s not that the graduates aren’t bright or talented, it’s just that they haven’t been An education will make you a *better* programmer if that's your thing, but it won't *make you a programmer*. And I think a lot of what's being described when we all look down our noses at web developers is the fact that there's an entire *breed* of coder who has never HAD to think about memory. Ever. And whose first line of problem solving is 'check stack overflow' or 'maybe there's an NPM package for that', rather than simply *considering the problem*. Apparently schools these days don't even touch the old languages? It's all Java/Python? Look, I'm self-taught, so I'm one of the unwashed masses here - but goddamn if I don't thank fate every day that I started with C / C++ and fought my way through pointer errors, THEN moved onto languages where I could apply the same *thinking* without having to do the actual code around taking care of my memory.
|
# ? Jun 30, 2016 00:06 |
|
Noam Chomsky posted:I got an A+ in Operating Systems and a 100% on the final exam. I don't remember much from the course. Learning new things and forgetting things you don't use all the time is a real thing that happens. Oh, of course. I wouldn't expect anyone to remember everything they were taught in university instantly, but that's not necessarily the point. If you learned how to manage memory in C or C++, although you may have forgotten it between the time you learned it and the time you need it, it should come back fairly quickly. If you at no point had to manage memory during an entire software engineering degree or computer science degree, I can't help but feel you got shortchanged by the program itself -- any program worth its salt should expose students to a variety of languages and concepts, from low-level stuff to high-level stuff, which is why it's a degree program and not a technical certification you can get in a single semester. Once you learn something, re-learning it is quick and easy compared to learning it in the first place, and it shouldn't have to involve your co-workers acting as teachers. Ideally, you will also have enough of a background to know what you need to read or study to find the answers you require.
|
# ? Jun 30, 2016 01:41 |
|
Cuntpunch posted:Apparently schools these days don't even touch the old languages? It's all Java/Python? Look, I'm self-taught, so I'm one of the unwashed masses here - but goddamn if I don't thank fate every day that I started with C / C++ and fought my way through pointer errors, THEN moved onto languages where I could apply the same *thinking* without having to do the actual code around taking care of my memory. I just checked my alma mater, and I was pleased to see that they still focus on basic programming in C and C++, data structures (C++), assembly language/architecture, automata theory, algorithms, discrete math, and stuff like that. I know people get down on college CS because it doesn't teach you the command line options for git, but the self-taught I know never learned that stuff. It may not be entirely necessary, but it is too bad the fundamentals are easy to skip. I really enjoyed learning that stuff, but I have to admit I probably wouldn't have if I didn't do a formal CS program.
|
# ? Jun 30, 2016 02:41 |
|
Yeah, there's a bunch of people who have no idea how to manage memory, but there's a pile of embedded systems programmers out there who have no idea how to manage client render performance too.
|
# ? Jun 30, 2016 02:42 |
|
Cuntpunch posted:Someone linked Bob up above, I'll follow up on this conversation with his words of wisdom on the matter: It depends on the school. Java is pretty big and from what I'm seeing a ton of the jobs are java ee Web stuff right now. That's what I ended up doing and I have a cs degree with strong math skills and theoretical fundamentals. From a kind of meh college but anyway... Where I went we did c#, c++, assembly, and Java in the core, required classes. Other classes we did prolog, lisp, and some other odd things. Still we got exposed to a ton of different things. It started with c# though because starting people with C or c++ right now is kind of crazy. Learning to program is hard enough already. No sense staring at slogging through pointers. Then again so many jobs just don't deal with low level stuff I can see why some people didn't learn that. Then again there's also a perpetual shortage of developers in general. Don't like 10% of people working in programming just plain not have any college degree at all? Others were math majors or engineers that learned to code. It's reasonable that a lot of those folks just didn't get exposed to the black magic that is low level code. And why would it matter? Computers are hell of powerful now. If the program does what it is expected to do and doesn't eat all the resources it's good enough.
|
# ? Jun 30, 2016 04:09 |
|
ToxicSlurpee posted:And why would it matter? Computers are hell of powerful now. If the program does what it is expected to do and doesn't eat all the resources it's good enough. If you don't need to know it, and you don't know it, then there's obviously no problem. However, if you need to know it and you don't know it and your co-workers have to deal with the negative effects of your lack of knowledge, there's a problem. It doesn't matter what "it" is. There's either a problem with your education, a problem with the way you represented your education, or poor management asking you to do things you don't know how to do and don't have any training for, without giving you a chance to improve your skills. The last option is perfectly valid, too. If you're asking someone who's never represented themselves as more than a Code Dojo graduate web developer to do development work in C or C++, that's more of a management or human resources issue than it is the fault of the web developer, just as it would be if you asked an embedded systems developer to just jump right into designing a front-end with no relevant experience or training.
|
# ? Jun 30, 2016 05:04 |
|
If people are expected to do a job they aren't trained for, that comes down to bad hiring / staffing.
|
# ? Jun 30, 2016 12:26 |
I worry a bit because I want to get into jobs that will likely require decent C++ skills and, while I'm better at pointers than most people I went to school with, I still only took two classes that dealt with C. Core classes were all java, fringe classes were all academic languages (let me tell you about Eiffel ).
|
|
# ? Jun 30, 2016 14:27 |
|
ChickenWing posted:I worry a bit because I want to get into jobs that will likely require decent C++ skills and, while I'm better at pointers than most people I went to school with, I still only took two classes that dealt with C. Core classes were all java, fringe classes were all academic languages (let me tell you about Eiffel ). This Book was pretty valuable when I made that leap as well.
|
# ? Jun 30, 2016 14:37 |
|
So in that uncle bob video, he posits that half of all programmers since the beginning of the field, have less than 5 years experience. The issue I notice is that there's just a lack of experience from fresh programmers. How do you find an answer to a problem, when you don't even know what the problem is? That's the biggest abstract piece of wisdom I think I can point back to in the experience I have, and I see it lacking in newer people. Being able to go from no knowledge, to diagnosing the issue and finding a solution takes experience. You also have to have the drive to want to hack through that, which I don't think everyone possess.
|
# ? Jun 30, 2016 14:42 |
Volmarias posted:This Book was pretty valuable when I made that leap as well. Awesome, I'll take a look
|
|
# ? Jun 30, 2016 14:47 |
|
KoRMaK posted:You also have to have the drive to want to hack through that, which I don't think everyone possess. Ding ding ding.
|
# ? Jun 30, 2016 15:11 |
|
KoRMaK posted:So in that uncle bob video, he posits that half of all programmers since the beginning of the field, have less than 5 years experience. 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." or, "I haven't had do deal with a situation like that." which can happen, when interviewing super-green intern candidates who haven't done much programming outside of their major requirements.
|
# ? Jun 30, 2016 15:23 |
|
Current new guy had to debug something remotely, and was like "well I can't really debug because the inspector doesn't exist on mobile." Our mobile app is just a cordova wrapper for our main SaaS web app.
|
# ? Jun 30, 2016 15:46 |
|
I'm personally a big fan of folks who debug by sticking a stdout-or-equivalent after every single line of code.
|
# ? Jun 30, 2016 16:39 |
|
Better than nothing, at least!
|
# ? Jun 30, 2016 16:45 |
|
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.
|
# ? Jun 30, 2016 16:46 |
|
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?
|
# ? Jun 30, 2016 16:51 |
|
Cuntpunch posted:I'm personally a big fan of folks who debug by sticking a stdout-or-equivalent after every single line of code.
|
# ? Jun 30, 2016 17:06 |
|
Vulture Culture posted:don't knock trace logging, especially for distributed systems 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:01 |
|
God help you if you can't ever use a distributed tracer like Dapper, Zipkin, HTrace in your distributed microservice based architecture.
|
# ? Jun 30, 2016 18:09 |
|
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? As long as you know what you don't know, and actually teach yourself if you need to learn it someday, yes. This goes for all programmers/developers of course, but I've noticed it's a particular weakness with self-taught developers (and it's definitely something I've had to be careful to remember personally as well).
|
# ? Jun 30, 2016 18:20 |
|
|
# ? May 11, 2024 16:41 |
|
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? That depends on if you're willing to learn its quirks. Learning c++ takes more effort than learning html. It probably isn't too late you just need to read about the language, pointers, memory management and such. The biggest issue comes from people that make assumptions. Don't make assumptions about c or c++. So many things don't work the way you'd expect. But really if you're willing to put in the hours and work with the language rather than against it you'll be fine. Then again this is coming from somebody that dislikes c++ and sticks to things like c# or java so take that as you will.
|
# ? Jun 30, 2016 18:25 |