Go Back   Freethought Forum > The Marketplace > Study Hall

Reply
 
Thread Tools Display Modes
  #1  
Old 06-20-2019, 08:37 PM
ChuckF's Avatar
ChuckF ChuckF is offline
liar in wolf's clothing
 
Join Date: Feb 2005
Location: Frequently about
Posts: XVMMMCMXXXIV
Images: 2
Default The electric computer and how she is programmed

Seven years into my legal career in this industry I am pretty bored and starting to think about what is next. I think it's respectable to be able to say "I was a lawyer in pharma for 10 years" as background, so I am looking 3-4 years out right now.

Problem is that while I have a fairly marketable skill set, the valuable part of it SUPER NARROW and pretty much exists only in my industry. It is not easy to escape the industry without some other skills.

I am thinking about doing some non-degree classes in computer science just to see if I am still interested in that. I started college in comp sci before I figured out that I like human languages more and went into that. But there are still some elements of it that appeal to me, like organizing and manipulating data and breaking big problems into small problems to solve them. I did like intro to C, intro to C++, I forget what else.

I do not have any illusions about becoming some hot shit Ensign Steve-type developer, because I know I do not have the brain or disposition for that. I am more of a tinkerer, and I have a few ideas for some specific projects based on a few things I do now that could be worth a little bit of filthy lucre. I don't think I will stop being a lawyer and starting doing this. It is more likely I will continue to be legal or legal-proximate, but maybe just in a different field.

So, for you :ff:ers who know this kind of stuff: the particular course of study I am thinking about has basic and advanced Java, C, assembly (obviously one of the later courses, I hope), and some data structures and other classes. Assuming I do not get bored and bail - big assumption there - is it plausible that I could get reasonably good at any of those with practice, or pick up additional languages that may be more specialized? (Like, a couple of my ideas would probably require R.)

Also, uh, I do not even remember if I took calculus through Cal 1 or Cal 2 because it was in high school. I took a calculus class in college like 15 years ago but did not go to class because it was basically my high school class again. I should probably take a refresher...unless I can fake it? Should I try to fake it? CALCULUS, DO YOU USE IT?
Reply With Quote
Thanks, from:
Ari (06-20-2019), ceptimus (06-20-2019), Ensign Steve (06-20-2019), JoeP (06-20-2019), Kamilah Hauptmann (06-21-2019), Pyrrho (06-21-2019), slimshady2357 (06-20-2019), SR71 (06-21-2019), Stormlight (06-24-2019)
  #2  
Old 06-20-2019, 09:38 PM
ceptimus's Avatar
ceptimus ceptimus is offline
puzzler
 
Join Date: Aug 2004
Location: UK
Posts: XVDCCCXCV
Images: 28
Default Re: The electric computer and how she is programmed

Many of the languages in common use now: Java, Go, PHP, JavaScript, C-sharp, ... are very C-like at their heart - the main differences are slightly different syntax, and the data structures that come bundled with them.

Nowadays programmers mostly use the ready-made data structures: maps, lists, dictionaries, queues, ... things like that, and there is less roll-your-own programming of these things from the ground up just using integers and arrays.

My advice is to pick a language you like the look of and become fluent in it - you only do this by writing lots of programs. Reading books, watching videos, and attending courses won't do it. You need to think of some slightly challenging programming task that, at your current level of expertise you can complete in a reasonable time, but most of all is interesting to you. Then do it. Then either think of another challenge and do that, or improve on the solution you your first one. Rinse and repeat. You might try to write a simple game - something like Tetris or Pong maybe - or you might write a program to catalog your music collection; the main thing is to choose something that is interesting to you.

Once you're reasonably fluent in a chosen computer language then swapping over to a different one is fairly painless - I think you'll find this is easier than trying to learn several different languages at the same time. Of course, whatever language you decide to learn first, you'll inevitably encounter a few 'sub-languages': things like SQL, HTML, JSON, that they all tend to use.

I don't know many programmers who use calculus very often. Most programming tasks that involve something like that, you just need a vague memory of what it was all about, then google the topic in question and you usually find some good write-ups on how you tackle such mathematical problems using computer code and algorithms.

Good luck. As long as it's interesting while you're doing it, learning is never wasted - even if you get bored and give up, you'll still have gained some useful background knowledge that will enable you to interact better with colleagues and customers in the future.
__________________
Reply With Quote
Thanks, from:
Ari (06-21-2019), ChuckF (06-20-2019), JoeP (06-20-2019), Pyrrho (06-21-2019), Stormlight (06-24-2019)
  #3  
Old 06-20-2019, 10:00 PM
ChuckF's Avatar
ChuckF ChuckF is offline
liar in wolf's clothing
 
Join Date: Feb 2005
Location: Frequently about
Posts: XVMMMCMXXXIV
Images: 2
Default Re: The electric computer and how she is programmed

Quote:
Originally Posted by ceptimus View Post
Many of the languages in common use now: Java, Go, PHP, JavaScript, C-sharp, ... are very C-like at their heart - the main differences are slightly different syntax, and the data structures that come bundled with them.

Nowadays programmers mostly use the ready-made data structures: maps, lists, dictionaries, queues, ... things like that, and there is less roll-your-own programming of these things from the ground up just using integers and arrays.

My advice is to pick a language you like the look of and become fluent in it - you only do this by writing lots of programs. Reading books, watching videos, and attending courses won't do it. You need to think of some slightly challenging programming task that, at your current level of expertise you can complete in a reasonable time, but most of all is interesting to you. Then do it. Then either think of another challenge and do that, or improve on the solution you your first one. Rinse and repeat. You might try to write a simple game - something like Tetris or Pong maybe - or you might write a program to catalog your music collection; the main thing is to choose something that is interesting to you.

Once you're reasonably fluent in a chosen computer language then swapping over to a different one is fairly painless - I think you'll find this is easier than trying to learn several different languages at the same time. Of course, whatever language you decide to learn first, you'll inevitably encounter a few 'sub-languages': things like SQL, HTML, JSON, that they all tend to use.

I don't know many programmers who use calculus very often. Most programming tasks that involve something like that, you just need a vague memory of what it was all about, then google the topic in question and you usually find some good write-ups on how you tackle such mathematical problems using computer code and algorithms.
Thank you cep - that seems like enormously sensible advice! The main reason I am thinking in terms of doing some courses is to impose some structure on myself. I will be doing this outside of and in addition to my normal job - if I incur a little bit of cost and pay for tuition, I will feel like I need to do the work just to complete the task, so I am somewhat less likely to put it down one day and just never return. I will at least finish the class out of my completionist drive. If I find that I have to make myself finish the class out of will, that is probably a good indication that I will not be good at this.
Quote:
Good luck. As long as it's interesting while you're doing it, learning is never wasted - even if you get bored and give up, you'll still have gained some useful background knowledge that will enable you to interact better with colleagues and customers in the future.
That is a huge part of it as well. One part of my job that is somewhat promising, and is not squarely inside of the narrow and highly specialized knowledge that I have, is the legal operations side. Like, I know how to design strategies for maximizing efficiency in some otherwise inefficient, high-volume, labor-intensive contractual work. It would be nice to be able to reduce some of those to technical practice without having to try to teach them to somebody else first.

I have recently been in the situation of working with a contracted developer to implement an organization-wide system for getting contract approvals. Designing the system was pretty easy. The single most frustrating part was communicating the specs and the process to the developer in a way that he could also understand. I can draw the flowchart and everything, but on some level we did not have a common vocabulary that would have saved us both a lot of time. That would also be nice to have.

Last edited by ChuckF; 06-20-2019 at 10:22 PM.
Reply With Quote
Thanks, from:
Ari (06-21-2019), ceptimus (06-21-2019), SR71 (06-21-2019), Stormlight (06-24-2019)
  #4  
Old 06-20-2019, 10:01 PM
lisarea's Avatar
lisarea lisarea is offline
Solitary, poor, nasty, brutish, and short
 
Join Date: Jul 2004
Posts: XVMMCXV
Blog Entries: 1
Images: 3
Default Re: The electric computer and how she is programmed

There are jobs in computers besides coding, too.

You would be good with ontologies, I bet. That is sort of my specialty area. Some people who do this are called semantic ontologists or something like that, but my job title has almost always been systems engineer because ontologizin' was rarely my whole job.

Information architecture is another field you could look into, too, and there's a lot of crossover.

Both of those require coding, but usually just for prototypes and things like that. Like I can do basic coding in like a hundred different languages (including Postscript once lol), just reeeeaaaaalllly slowly.

Also it can be a sort of volatile field, because you normally just hit it and quit it, and you don't do ongoing maintenance. You'd usually either be working for a huge company that has constant development going on in different areas, or consulting with clients.
Reply With Quote
Thanks, from:
Ari (06-21-2019), ceptimus (06-20-2019), ChuckF (06-20-2019), SR71 (06-21-2019), Stormlight (06-24-2019)
  #5  
Old 06-20-2019, 11:27 PM
Ensign Steve's Avatar
Ensign Steve Ensign Steve is offline
Just Horsin' Around
 
Join Date: Jul 2004
Location: Silicon Valley
Gender: Bender
Posts: XXXDXXXV
Images: 66
Default Re: The electric computer and how she is programmed

I agree with all the stuff ceptimus says* and I have stuff to add.

Quote:
Originally Posted by ceptimus View Post
Many of the languages in common use now: Java, Go, PHP, JavaScript, C-sharp, ... are very C-like at their heart - the main differences are slightly different syntax, and the data structures that come bundled with them.
This is extremely true, but I'm going to go out on a limb and list R as an exception. I can easily knock out a prototype in any C-like language in an afternoon (just have to remember to randomly sprinkle around extra dollar signs in perl and PHP, and omit most of the parentheses and [optionally] all of the semicolons in python), but R is used way differently to do different things, so it does not translate.

Anecdote: A team I worked on made tools for data analysts to use, and they needed to be able to write python code to use it, and they asked "Can we have this, but for R, because we use R". And the engineers are like, damn, how hard is it to apply your knowledge of one language to a different one? But I had tried to use R before, and it's fundamentally different, and it's specialized specifically for what it's specialized for, specifically data analysis-type stuff. Even if the analysts knew python (which I'm sure most of them did or could figure it out), that doesn't mean their R-style logic will easily translate into a python analogue.

My point is, if you have ideas for an R project, skip all the C and Java and data structures bullshit (and the calculus, for the love of god, nobody needs calculus), and learn R. It's powerful and interesting and it will make you better than me and 99% of all other engineers.


* I would probably also agree with lisarea, but she uses crazy made-up words like "ontologies", so how can I agree or disagree with made-up stuff?
__________________
:kiwf::smurf:
Reply With Quote
Thanks, from:
Ari (06-21-2019), BrotherMan (06-21-2019), ceptimus (06-21-2019), ChuckF (06-20-2019), SR71 (06-21-2019), Stormlight (06-24-2019)
  #6  
Old 06-20-2019, 11:37 PM
JoeP's Avatar
JoeP JoeP is offline
YELLOW HAIR FAKE ANIMAL
 
Join Date: Jul 2004
Location: England/Miisaland
Gender: Male
Posts: XXVMMXCVII
Images: 18
Default Re: The electric computer and how she is programmed

Dude - python, pandas, data science, big data. It's where it's at. And I kinda think you might be good at it.

R, which you mention, is also hot for data science, but getting stuck into python and stuff like that would be a more general skill. I mean, just in case.
__________________

:roadrun:
Free thought! Please take one!

:unitedkingdom:   :southafrica:   :unitedkingdom::finland:       :eur:       :m&ms::m&ms::twix::twix: (rotated 180°):m&ms::m&ms:
Reply With Quote
Thanks, from:
ceptimus (06-21-2019), ChuckF (06-21-2019), Stormlight (06-24-2019)
  #7  
Old 06-20-2019, 11:38 PM
JoeP's Avatar
JoeP JoeP is offline
YELLOW HAIR FAKE ANIMAL
 
Join Date: Jul 2004
Location: England/Miisaland
Gender: Male
Posts: XXVMMXCVII
Images: 18
Default Re: The electric computer and how she is programmed

I agree with everything ES, pea and cep have said. I also agree preemptively with any further sneakyinbetweenposters.
__________________

:roadrun:
Free thought! Please take one!

:unitedkingdom:   :southafrica:   :unitedkingdom::finland:       :eur:       :m&ms::m&ms::twix::twix: (rotated 180°):m&ms::m&ms:
Reply With Quote
Thanks, from:
ChuckF (06-21-2019), Stormlight (06-24-2019)
  #8  
Old 06-21-2019, 02:08 AM
Ari's Avatar
Ari Ari is offline
I read some of your foolish scree, then just skimmed the rest.
 
Join Date: Jan 2005
Location: Bay Area
Gender: Male
Posts: MXCMLV
Blog Entries: 8
Default Re: The electric computer and how she is programmed

What they said. Right now python is the *it* language.

R is exceptional for statistical stuff.

The Poly speed dating that we did many years ago was written in R as the creator is a statistician (now teaching at some ivy league east cost college) and that was one of the problems with expanding it, all the R code that so easily handled matching statistics had to be rewritten by someone who could translate before anyone could make adjustments.

As ES said R is so good at what it does that if youre sure some projects will need it I would say learn it. But also know that talking R to non-R programmers will confuse the hell out of them.
Reply With Quote
Thanks, from:
ceptimus (06-21-2019), ChuckF (06-21-2019), Crumb (06-22-2019), Ensign Steve (06-21-2019), JoeP (06-21-2019), Stormlight (06-24-2019)
Reply

  Freethought Forum > The Marketplace > Study Hall


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

 

All times are GMT +1. The time now is 04:18 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Page generated in 1.01676 seconds with 13 queries