How long to become a proficient programmer/Can I get hired with a math degree?

Hacking employment, improving work, professional skill development
James_0011
Posts: 256
Joined: Wed Nov 09, 2016 12:00 am

How long to become a proficient programmer/Can I get hired with a math degree?

Post by James_0011 » Sat Dec 31, 2016 5:47 pm

Basically like the title says I am wondering how long it will take to teach myself how to code at a professional level. I have an undergraduate degree in mathematics, and have an extremely analytical/logical mind almost to the point of being on the Asperger spectrum.

The other part is can I get hired as a programmer with a bachelors in math? If so, how easy is it to find remote jobs? The main reason I would like to program is to accelerate my savings rate with geographical arbitrage. Has anyone approached ere this way?

Is it worth going to a 'coding' bootcamp?

User avatar
daylen
Posts: 245
Joined: Wed Dec 16, 2015 4:17 am
Location: Lawrence, KS

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by daylen » Sat Dec 31, 2016 6:20 pm

Many people who enjoy math (particularly pure) hate coding. Just be aware of this ahead of time.

Sure, you can get a programming position with a math degree. A software engineering position is a bit harder though (though not uncommon).

Start your own project and display it on github. Don't bother with code camps or books on programming, for now. The best way to start is to find a project that will keep you interested and dive in head first - read books on theory later once you have some intuition developed. Start with a high level language such as python to gain coding intuition and confidence quickly (minimize the syntactical barrier). Do not worry about optimizing your code when starting out.
Last edited by daylen on Sat Dec 31, 2016 6:23 pm, edited 1 time in total.

James_0011
Posts: 256
Joined: Wed Nov 09, 2016 12:00 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by James_0011 » Sat Dec 31, 2016 6:22 pm

@daylen

thanks, graph theory is my favorite area of research which I heard is kind of like programming? At least there were a lot of cs students in my graph theory class.

User avatar
daylen
Posts: 245
Joined: Wed Dec 16, 2015 4:17 am
Location: Lawrence, KS

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by daylen » Sat Dec 31, 2016 6:28 pm

The only relation is that it is useful in computer science. Computer science relies heavily on discrete mathematics in particular, and graph theory is part of discrete math. Programming is NOT computer science. Do not mistake interest in graph theory for interest in programming. They are nothing alike; just as electromagnetic theory hardly relates to the work of an electrician.

scriptbunny
Posts: 211
Joined: Sun Jan 05, 2014 3:46 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by scriptbunny » Sat Dec 31, 2016 9:22 pm

I agree with everything daylen said, though I would recommend taking a couple Udacity or Coursera courses to get your feet wet with basic syntax, algorithms, and systems programming.

I hear remote jobs are easy to come by in this field, but most people I know who work remote were on-site first then negotiated wfh with their employer. YMMV.

User avatar
Sclass
Posts: 1089
Joined: Tue Jul 10, 2012 5:15 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by Sclass » Sun Jan 01, 2017 1:35 am

Hi

The answer to your original question depends on a number of things. Your ability to teach yourself. How interested you are in hacking (learning by failing). What kind of programmer you want to be.

One thing that jumps out at me is you are a math major. This can be a big plus in certain areas of programming where great knowledge of a language syntax alone won't guarantee success. In my particular area of signal processing and digital filtering (I started as an engineer in signals and systems) just knowing how to operate a compiler wasn't enough to do the job. Learning how to write code was the easy part, the math was the barrier of entry.

A lot of people I worked with knew how to "code". It was like a person who knew all the commands in an art program like Adobe Illustrator but, at the same time they didn't know what to draw. So if you take well to the machine you may actually be way ahead of the game in fields like machine learning or signal processing - which can be mathematically intensive fields where you just happen to program.

Another place I've seen this is biologists/biochemists who just happen to know enough Python to be dangerous. They aren't real software developers but they program for a living using their unique combination of skills. I met a guy recently who does DNA sequencing using hardware acceleration that he codes himself. A biologist with a mean techie bent.

And that gets back to you. Some people cannot stand tinkering for hours with machines to coax them into doing what they want. Some live for it. The best guys I've known have had strong analytical background and the love of diving into a system and making it work after many fails that would frustrate some.

Working on some kind of open source project is a great suggestion. Python is a versatile tool too especially for mathematical types.

Good luck.

User avatar
Sclass
Posts: 1089
Joined: Tue Jul 10, 2012 5:15 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by Sclass » Sun Jan 01, 2017 1:41 am

daylen wrote: Sure, you can get a programming position with a math degree. A software engineering position is a bit harder though (though not uncommon).
.
I think Daylen made clear in two sentences what I poorly blathered in a page. Well said. There are a ton of jobs out there for analytical people who happen to know how to program.

jacob
Site Admin
Posts: 8962
Joined: Fri Jun 28, 2013 8:38 pm
Location: USA, Zone 5b, Koppen Dfa, Elev. 620ft, Walkscore 73
Contact:

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by jacob » Sun Jan 01, 2017 10:03 am

To add to Sclass ...

I'm pretty much self-taught starting at age 10 with my first "hello world" and making scrollers (that was a thing in the 1980s) a few years later. I took two mandatory computer classes in my time (one in ninth grade and one in the second year of university: "programming for scientists" or something). Both were so easy that I did the assignment at home before class and just spent the time screwing around making other stuff and browsing the web (which was a new thing back then). My MSc and PhD both dealt with computational physics and I'd say my ability to code developed significantly in terms of what constitutes good/efficient/well-structured coding after that. How do I know that? Because a bunch of MIT computer engineers at my previous job told me. They generally did not have to change/rewrite my stuff to add it to the code base.

However, I've never done any formal CS or programming courses beyond the intro course above. What does this mean? It means that I can't do any network programming (never done any) and my GUI skills are also weak, so if you asked me to build a small web browser, I would have no idea where to start and would have to learn as I went along. In my case, going to code academy or somesuch just to become more wellrounded would probably help; whereas taking a traditional class would be a waste of time. Alternatively, I could attempt to teach myself.

As a mathematician (or in my case theoretical physicist), you'll have a significant edge over CS and programmers when it comes to numerical coding. They can pull things out of libraries if such solutions exist, but they would probably not be as good at handcrafting a filter or a numerical solution as someone with a math/phys background + also not realize or understand when/if the lib fails. Furthermore, there wouldn't really be a quick class or a course they could take that would "upload" such experience.

General Snoopy
Posts: 209
Joined: Sat Jun 30, 2012 5:55 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by General Snoopy » Sun Jan 01, 2017 10:35 am

When I was in school my professor, before he became a professor, was a quantitative finance software developer. He had a PhD in Math. Compared to high level mathematics, learning how to program is easy. You should seek computational software jobs; your math degree will be highly prized in this line of work. If you don't have a background in software, then Code Academy would be a good choice.

Scott 2
Posts: 798
Joined: Sun Feb 12, 2012 10:34 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by Scott 2 » Sun Jan 01, 2017 11:28 am

jacob wrote: However, I've never done any formal CS or programming courses beyond the intro course above. What does this mean? It means that I can't do any network programming (never done any) and my GUI skills are also weak, so if you asked me to build a small web browser, I would have no idea where to start and would have to learn as I went along.
You're giving "professional" developers too much credit. Maybe at a senior level someone will understand the difference between a TCP vs UDP packet, but that's the exception. Plenty of people working as programmers Google everything.

User avatar
BRUTE
Posts: 2262
Joined: Sat Dec 26, 2015 5:20 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by BRUTE » Sun Jan 01, 2017 4:47 pm

programming is a very different skill than academic math. it's really like being an electrician vs. a physicist who works with electric theories, brute supposes.

as such, it takes different talents and needs to be learned in different ways. with a few exceptions, everything a programmer needs to know is better learned hands-on than in the classroom (the exceptions being "no nested loops for large sets" and "if the problem sounds remotely like X, use Y algorithm from the library instead of reinventing the wheel").

the optimal talent/personality of a programmer is therefore very different from that of a good mathematician. plenty of good mathematicians also make good/great programmers though, it's not mutually exclusive. and a background in math/physics is great help in many data heavy software positions, of which there are many and they're growing.

brute has met many humans that didn't have a formal CS background, but were analytical thinkers and took a code bootcamp. it works pretty well for a certain type of individual. it's basically electrician school, no need to get a PhD in electric engineering for 99% of wiring up a house. it's also a type of qualification for employers. someone who went through CS or a reputable (!) bootcamp probably has heard of the most important concepts. different bootcamps apparently have very different standards, so some investigation is in order, just like with schools in general.

brute would first advise to try out if writing code is even fun for James_0011. it's going to have to be at least somewhat interesting if it's to be done for 10 years. signing up for a marathon is just silly if one hates running.

James_0011
Posts: 256
Joined: Wed Nov 09, 2016 12:00 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by James_0011 » Thu Jan 05, 2017 5:14 pm

@BRUTE

Is SQL an 'easy' language to learn? I can't believe people get paid six figures to do this....

Learning it now, seems really basic but maybe I am not far enough in yet.

Scott 2
Posts: 798
Joined: Sun Feb 12, 2012 10:34 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by Scott 2 » Thu Jan 05, 2017 6:18 pm

If you're good at linear algebra, you have a huge step up learning SQL compared to the average nerd. As data volume scales, math becomes increasingly important.

User avatar
BRUTE
Posts: 2262
Joined: Sat Dec 26, 2015 5:20 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by BRUTE » Fri Jan 06, 2017 1:50 am

SQL basics are very easy. can James_0011 guess what the following statement does?
SELECT name, age FROM "users" WHERE age > 20;
there are of course more intricate and complex things, but not many programmers are good at SQL. it's very different than programming languages (it's a query language, hence the QL). most programmers know the basics.

ducknalddon
Posts: 171
Joined: Fri May 20, 2016 5:55 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by ducknalddon » Fri Jan 06, 2017 7:12 am

BRUTE wrote:SQL basics are very easy. can James_0011 guess what the following statement does?
SELECT name, age FROM "users" WHERE age > 20;
there are of course more intricate and complex things, but not many programmers are good at SQL. it's very different than programming languages (it's a query language, hence the QL). most programmers know the basics.
I've managed to go through my whole career whilst mostly avoiding Databases and SQL.

James_0011
Posts: 256
Joined: Wed Nov 09, 2016 12:00 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by James_0011 » Fri Jan 06, 2017 1:17 pm

@brute
BRUTE 35
James_0011 24

?

User avatar
BlueNote
Posts: 368
Joined: Sat Jun 08, 2013 6:26 pm
Location: Toronto, Canada

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by BlueNote » Fri Jan 06, 2017 1:32 pm

In my limited experience programming pay is relatively poor when looked at from an earnings per hour perspective.

It's been a good secondary skill for a lot of people (including me). It's very complimentary in many areas so you may be able to command better prices by combining it with your math strength.

I think if you're strong at math then you're probably going to grok algorithmic thinking quickly, so 1-3 months is my rough guess on your length of time to 'proficiency'.

Augustus
Posts: 121
Joined: Sat Apr 02, 2016 10:15 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by Augustus » Fri Jan 06, 2017 4:27 pm

daylen wrote:Start your own project and display it on github. Don't bother with code camps or books on programming, for now. The best way to start is to find a project that will keep you interested and dive in head first - read books on theory later once you have some intuition developed. Start with a high level language such as python to gain coding intuition and confidence quickly (minimize the syntactical barrier). Do not worry about optimizing your code when starting out.
Chicken and egg problem there. Finding a project to get involved with might be good at sustaining your interest and building your skills, but programming without a solid foundation and a good understanding of architecture can seriously screw things up.

I've worked with a whole bunch of different companies, and off the top of my head I'd say about 50% of code gets thrown out on average every few years. That is insane. Imagine demolishing 50% of buildings every few years because they had major architectural flaws because the people building them had no foundation in theory. The amount of wasted money spent on labor is definitely in the billions.

I'd say do a bit of both. Take a quick course on Python, dabble a bit but for the love of god don't release to the public, then take a quick course on Assembly (I really recommend Assembly Language Step By Step for beginning programmers, you can finish it in a month or two) to get a look at the guts of the machine which will probably give you an advantage over a lot of veteran programmers who have no idea what's happening at a low level, keep dabbling on side projects, then pick up certification like one of the Java programming certs that oracle gives, keep dabbling, then pick up some computer architecture and code architecture heavy duty books.

By the time you have the java cert or equivalent you'd probably be ready for an entry level position. It's going to take years to be "proficient", but there's nothing wrong with starting at entry level positions. You could probably score an entry level position after a year of practice. Also realize that at the beginning you're going to write a lot of bad code that will embarrass yourself later on, work with people who are better than you and who implement code reviews before checkin/release of your code, and don't try to think you will ever know it all.

7Wannabe5
Posts: 2553
Joined: Fri Oct 18, 2013 9:03 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by 7Wannabe5 » Fri Jan 06, 2017 6:24 pm

Just curious. Would you people offer the exact same advice if the person with a math degree was a 51 year old female who is likely on some spectrum orthogonal to the Aspergerian?

jacob
Site Admin
Posts: 8962
Joined: Fri Jun 28, 2013 8:38 pm
Location: USA, Zone 5b, Koppen Dfa, Elev. 620ft, Walkscore 73
Contact:

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by jacob » Fri Jan 06, 2017 6:35 pm

Assembly language?! I appreciate that! Read Feynman's book on computation to see how things really work. It's probably 3-4 Wheaton levels away from the current crop of programmers.

One thing I noticed when I worked in finance (being the old guy) was the generational difference. All the "kids" worked from a framework of "there's a library for that" whereas I worked from a framework of "let's construct this from scratch" (in my time, libs didn't really exist per se and if they did, you typed in whatever functions/methods you needed from a book). In many way, programming is like speaking a language or adopting a particular writing style... which is what programming really is. If you read a book from the 1850s or 1940s, it's going to be weird and hard to read ... because it's not in the style of how things are currently done.

Form is more important than function insofar you have to work with others or convince them that your code is good. Otherwise, you're going to be that weird guru guy they keep in the basement for hard problems.

User avatar
BRUTE
Posts: 2262
Joined: Sat Dec 26, 2015 5:20 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by BRUTE » Fri Jan 06, 2017 9:59 pm

James_0011 wrote:@brute
BRUTE 35
James_0011 24

?
right. not too complicated. reading a single SQL book should bring James_3 up to the level that 95% of developers have or higher.

User avatar
BRUTE
Posts: 2262
Joined: Sat Dec 26, 2015 5:20 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by BRUTE » Fri Jan 06, 2017 10:02 pm

7Wannabe5 wrote:Just curious. Would you people offer the exact same advice if the person with a math degree was a 51 year old female who is likely on some spectrum orthogonal to the Aspergerian?
yes, if the goal was to become proficient in programming. added advantage: programmers love explaining things to extroverted female humans. so social learning would likely be a good option.

User avatar
BRUTE
Posts: 2262
Joined: Sat Dec 26, 2015 5:20 pm

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by BRUTE » Fri Jan 06, 2017 10:09 pm

jacob wrote:Assembly language
waste of time unless working in hardware, in brute's opinion. skills don't transfer well through layers of programming languages.
jacob wrote:All the "kids" worked from a framework of "there's a library for that" whereas I worked from a framework of "let's construct this from scratch"
depends a lot on the domain. in physics/math there might not be a suitable library for doing a specific thing. but in the day to day plumbing work of a software developer, the same things are being done over and over again. how often would jacob re-implement a regex that checks for valid ipv4 or ipv6, or parses the query params from a URL? this might be the difference between an "inventor/science" programmer and a "plumbing" programmer. as a plumber, part of the skillset is to know the toolset well and re-use code efficiently.
jacob wrote:If you read a book from the 1850s or 1940s, it's going to be weird and hard to read ... because it's not in the style of how things are currently done.
has jacob read books from those periods? brute actually likes many of those books a lot, and finds some are written way clearer and better than books now. less fluff, more structure and thought put into it, no bullshit anecdotes about how one time a little old lady totally used whatever the author's proposing to great success.
jacob wrote:Form is more important than function insofar you have to work with others or convince them that your code is good. Otherwise, you're going to be that weird guru guy they keep in the basement for hard problems.
very true. also, VIM >> emacs.

ducknalddon
Posts: 171
Joined: Fri May 20, 2016 5:55 am

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by ducknalddon » Sat Jan 07, 2017 3:07 am

BRUTE wrote:very true. also, VIM >> emacs.
Careful, this could get worse than the climate thread :D

Quadalupe
Posts: 57
Joined: Fri Jan 23, 2015 4:56 am
Location: the Netherlands

Re: How long to become a proficient programmer/Can I get hired with a math degree?

Post by Quadalupe » Sat Jan 07, 2017 9:12 am

If you want to have some fun and also learn some assembly language, check out TIS-100. It is a programming tutorial disguised as a game, and you have to solve simple puzzles using an assembly language. It can be very addicting to try to minimize the number of cpu cycles needed to solve the puzzle!

Post Reply