6 ms·
> Yeah, a lot of us have CS degrees or degrees in related fields, but in the end, you have to read, absorb, prototype, evaluate, adopt, or reject thousands of p
by nmrm2 11y ago
> Yeah, a lot of us have CS degrees or degrees in related fields, but in the end, you have to read, absorb, prototype, evaluate, adopt, or reject thousands of pages of dense material every year to stay current
So do most practitioners in careers that are typically associated with or require a university degree: actuaries, accountants, engineers, lawyers, doctors, teachers, etc. all have to stay current with their respective fields and do so primarily through self-study.
Of course there exist people in all of those careers who don't. But the same is true in software.
- geebee 11y agoI agree. The main difference is that all of the fields you've listed already have a formalized study and exam path. Software is one of the few knowledge based fields that you can enter purely on self-study at the highest level (I'm not sure about actuaries, if you studied math on your own, could you enter the actuarial field? Not sure about this one). As a result, I wonder if maybe software developers are a little more inclined, as a "profession", toward paths that are less formalized.
- msandford 11y ago> (I'm not sure about actuaries, if you studied math on your own, could you enter the actuarial field? Not sure about this one). Yes, anyone can take the exams, there are a handful. And if you pass them all nobody really cares about your degree. But from what I gather you'd better be pretty sharp to pull it off.
- nmrm2 11y ago> if you studied math on your own, could you enter the actuarial field? Not sure about this one Yes (edit: accidentally said the opposite of what I meant!). What you need to be able to do is pass the exams. BUT -- plenty of people with math degrees fail these exams. It's a hell of a lot harder than learning how to hack together a RoR site. See e.g., various discussions on http://www.actuarialoutpost.com http://www.actuarialoutpost.com You can also e.g., fill a number of supporting roles around actuaries without a college degree and then demonstrate competence by taking exams. > I wonder if maybe software developers are a little more inclined, as a "profession", toward paths that are less formalized. I think the fact that everyone in software has the same job title makes a huge difference wrt medicine and engineering. The guy hacking together cookie-cutter single server websites calls himself a software developer/engineer just the same as the Ph.D. hacking on compilers or ML algorithms. Everyone inside the field knows there's a huge difference between these two jobs, and that becoming the latter is basically requires a degree (perhaps even an advanced one) or really extraordinary dedication while the former probably doesn't even need a degree at all. So when someone says "do I need a degree to become a software developer? / Is a degree the fastest path to becoming a software developer?", it's an ill-defined question. What do you mean by software developer? Do you want a good salary doing whatever in boom times or do you want to do really technically interesting work with job security even in bust times? Conversely, most other fields tend to differentiate between job titles that require lots of skill and jobs that don't. For example, the difference between various levels of non-doctor healthcare workers (the whole range of nurses, and then everything up/down from there) is very institutionalized. Something similar happens in engineering -- plenty of non-engineers do engineer-y things in engineering firms, but some things you'd be insane to delegate to someone who doesn't have formal engineering education.
- tracker1 11y agoI find a lot of things to be interesting work... I enjoy learnign new line of business logic and rules more than writing software. I'd rather think about data storage-flow in application than conceptualizing it all, though I enjoy that too. I spent a little bit of time (less than a year) in upper management even, and hated it. I wouldn't be happy optimizing algorithms to serve ads better, or track financial systems. There's a place for that, sure... but it just isn't interesting to me. There's fun in trying to keep current with new things... Hell, I've been sticking with node.js since inception, and that's been a very wild ride. I like web based applications, despite other people hating them. In the end, I like delivering usability and solutions to the end user. I started out as a designer/artist in a former life (been in software for nearly two decades now). The conventional path was never the right thing for me. That doesn't mean I'm not able to do type of work being done at Google, Netflix and the like... And I've even considered it. Just because I don't have a degree does not mean that I haven't studied, and am not able to do "really technically interesting work." I've spent the better part of twenty years studying, designing and developing software systems, with far more real experience than someone stepping out of college. To think that someone who's spent that much time is always inferior to someone with a formal education is simply ignorant. As to engineering, take a look at where Radar came frome sometime. It wasn't formal educational engineers, it was guys with on the ground experience. There are a lot of truly great acheivments in humanity that didn't come out of a formal education. Okay, going to stop now, I just found the parent post very arrogant and frustrating. Arrogance irritates me more than any other behavioral trait.
- icebraining 11y agoThe guy hacking together cookie-cutter single server websites calls himself a software developer/engineer just the same as the Ph.D. hacking on compilers or ML algorithms. From what I can tell, none of the lead creators of PHP, Python, Perl, Ruby or JavaScript actually have PhDs. The original author of Turbo Pascal and chief architect of Delphi and now of C#, Anders Hejlsberg, didn't even finish his undergraduate degree. It's not just a matter of similar titles, the paths are really less formalized.
- nmrm2 11y ago
- ZanyProgrammer 11y agoThough for applying for new programming jobs, it all comes down to algorithms and data structs for learning. I think a lot of the neat stuff programmers learn or do on their own is completely useless for whiteboard interviewing questions. "Look at this open source library I created and everyone uses!" seems to be useless for programming interviews.
- ZanyProgrammer 11y agoThough for applying for new programming jobs, it all comes down to algorithms and data structs for learning. I think a lot of the neat stuff programmers learn or do on their own is completely useless for whiteboard interviewing questions. "Look at this open source library I created and everyone uses!" seems to be useless for programming interviews.
- relkor 11y agoTo provide a counter argument, because I do not think the attitude should be "I'm not going to do open source because it is useless for programming interviews". Creating an open source library that others use is one of the strongest signals I can think of. Things that are involved with creating an open source library that I can think of off the top of my head: - Set up a build system - Use a test suite - Choose and follow a coding standard - Issue tracking - Bug report system - Source control (good branching practices/ whatever best practices your favorite source control promotes) - Create a specification / roadmap (months of coding can save hours of planning) - Documentation a) Determining convention b) Actually creating clear documentation c) Updating documentation through changes - Writing code that just works And that is all just by yourself. Then if you have users and are building a community - Communicate architecture to random strangers using specifications that they understand - Collaborate to develop roadmap /architecture with input from other developers - Communicate in a way as to not piss off strange developers who decide to help you for free The understanding of data structures and algorithms are only a small part of the puzzle. If a programmer can demonstrate all of those industry standard behaviors on their own time, then I don't care that much if they don't remember what a skip list or some other crap like that is. You can teach a developer all of the special data structures that your code base uses in a week. On the other hand it can take from months to never of steeping time in order to get developers up to speed with all of the house-keeping I described above. TL;DR Contribute to open source, start your own open source project because the skills required cover 90% of what programmers need to know. The CS theory stuff is the smallest and easiest part to train up. Show that you know how to execute well on the 90%, and companies will fall over themselves to train you on their own dime for the tiny subset of CS theory that they use.
- deleted 11y ago[deleted]
- HillaryBriss 11y agoA missing ingredient in Software Development and CS work is credentialism. There's no software "Bar Exam" you must pass before you are legally allowed to offer your services. And there's no "Supreme Court of Coding" either. But there absolutely should be both. Programming is littered with people "just trying things" and "hacking" and other crudities like "experimentation" and "exploration." We need regulation, regimentation and a predictable level of service. You should also be required to obtain a license (after a 90 day waiting period) for each computer you own, even if it's not going to be used for programming. It's the only way we can reduce the number of data breaches and crashes.
- snowwrestler 11y agoWhile the bar exam enforces a certain quality of knowledge, it also enforces breadth. Every lawyer in a given jurisdiction takes the same bar exam, and it covers all aspects of the law. The programming equivalent would be like forcing coders to demonstrate competency in everything from embedded systems programming to OS development to packaged application to web back-end, to web front-end, mobile apps, algorithms, networking, language design, compiler optimization, etc. The way it works now, coders can specialize and that makes it easier to self-study. Learning all about web front-end dev is a lot easier then learning about every type of programming there is. If you want credentialling, it would have to be more like medicine, where people have to pass the boards in their specialty only.
- unimpressive 11y agoI think you've fallen victim to poe's law. In fairness the parent comment gave few enough hints at satire that I'll need to see the author confirm they did or didn't mean it before I'm convinced either way.
- HillaryBriss 11y agoThank you for the feedback. I was attempting sarcasm. My hope was that the line "It's the only way we can reduce the number of data breaches and crashes" would seem immediately ridiculous to everyone. Given the history of surprising security bugs in mature code being discovered by a decentralized collection of users and hackers over long periods of time -- a phenomenon we've all witnessed over the years -- I figured the notion that a slow-moving, bureaucratic supreme panel of code judges effectively and decisively removing security problems basically didn't make sense. I don't know now. Maybe it makes more sense than I thought.
- OopsCriticality 11y agoIn fact, I'd argue it's a little harder for licensed professionals to not stay current with their fields due to the requirement for continuing education credits. Nevertheless, I don't see how any professional can be competitive in their field without keeping current, especially as the world continues to flatten. The idea that people in tech are "unusually well prepared to study law" through apprenticeship as framed by the GP is strikes me as arrogant and nescient to what other professionals do. Actually… it reminds me of an Xkcd: https://xkcd.com/793/ https://xkcd.com/793/
- gutnor 11y agoExcept maybe for doctors as I don't have any in my family, the rest are simply trained by their employer. That is hugely different from developer that are expected to not only train themselves at home but also need to research the field to know what they need to train into. The engineers in my family think I'm a failure because I don't seem to have enough value for my employer that it tries to train me. ( also the "it's just computer programming" that does not help )