Hacker News new | past | comments | ask | show | jobs | submit login
Former miners out to put Kentucky on the tech map (theguardian.com)
135 points by kiyanwang on April 22, 2017 | hide | past | favorite | 103 comments



I'm from the region, and work remotely as a coder. Some of these really backwoods areas are very beautiful and tranquil, and when combined with the affordability, I think it is a great place to code. A lot of local politicians and economic developers are grasping to coal/lumber/manufacturing, but I think there is opportunity to build small tech hubs for young people burnt out on expensive, crowded, and distracting cities. Invest in a few bars, coffee shops, low rent office spaces, and most importantly, broadband, and I don't think it would be hard to convince coders and entrepreneurs to come.

EDIT: additional thought: there are also great outdoor recreation opportunities that is one of my favorite things about living here (hiking, mountain biking, rafting)


There are dozens of cities in the U.S. that want to be the next hub for young tech entrepreneurs, and most of them have more financial options than Kentucky, which is among the most dependent state budgets on federal dollars. Additionally, young people are socially and politically liberal, while KY voters overwhelmingly elected staunchly anti-LGBT representatives and were strongly in support of Trump.

I think it would be pretty hard to convince even the most disillusioned Bay Area or NYC software developer to move to rural Kentucky over e.g. Pittsburg or Portland.


I'm totally with you on that. There are all sorts of charming towns in socially progressive areas of the country that I would move to long before Kentucky if I ever got disillusioned with NYC. There are some amazing towns in Vermont that I've been to with great access to nature, skiing, and locally farmed food. And they've also accepted the Medicaid expansion under the ACA, they aren't homophobic, and they aren't trying to strip government to the bone at the expense of providing important services like infrastructure and public education. And if drug criminalization is something you care about, Vermont is a lot more friendly as well.

Techies tend to be socially liberal, or at the very least, libertarian, and the appeal of a place like Kentucky just isn't there.


>> Additionally, young people are socially and politically liberal, while KY voters overwhelmingly elected staunchly anti-LGBT representatives and were strongly in support of Trump.

in case you haven't seen "Generation Z" numbers - you're in for a surprise - http://www.dailywire.com/news/12785/gop-tsunami-looms-genera...

also, while the 20-30 year olds did vote primarily for Clinton - definitely not in an overwhelming fashion by any stretch of imagination.

that said - yes, it would be pretty hard to convince a native New Yorker to move to KY, but then again that person might be a Midwest transplant living in NYC to begin with...


Something I picked up online is that lots of young people didn't want to vote for Clinton, as they felt she wasn't progressive enough, and they didn't fully understand how to best achieve their goals within the current political system.

Not sure how that translates going forward, if the left leaning young people split their vote or don't bother voting then that really helps the opposition, but it's different from young people being more conservative.


Looks skewed because majorities in a bunch of liberal states chose the third option (and several red states, though for the most part red states were very red): would not vote in this election

https://public.tableau.com/profile/mycollegeoptions#!/vizhom...


Agree 100%. Any climbers who haven't checked out the Red River Gorge don't know what they are missing.

And for those who don't know, the correct pronunciation of Pikeville is 'packvul'. (I grew up in the area)


There isn't anywhere else I'd rather be. Before I joined a program in Hazard like the one mentioned in the article, I was in construction for 15 years, and I've been a lot of places. Appalachia is the best place though. We could also stand to have an influx of bright young people with a broader view.


Do you feel that a lot of your friends and family are open to this type of development? I haven't ever seen surveys gauging local public opinion, but I had assumed that the foremost economic issue for Kentucky was coal, and the focus was on preventing legislation which would harm that market.


In general, the fervor surrounding coal stems from the fact that for a long time it was the only industry where a person could bring home more than minimum wage, and see the decline of the industry as a personal attack.

What the people really want is work. The article tells the tale - a thousand applicants for a handful of positions. The program I'm in had hundreds of applicants for only ten positions.

To me, too much money has been spent trying to resuscitate the coal industry when it could have been directed at new industries. The politics of it all doesn't interest me, and it wouldn't interest the legion of skilled technical personnel now clamoring for even minimum wage jobs if they had somewhere else to go (aside from relocate entirely).


As an outsider who has spent a fair amount of time in the area (climbing in the Red River Gorge area, specifically), thanks for shedding some light on the politics and mentality of the area.

Can you shed any light on how the oil industry is viewed, how many people it employs, etc? I've really only ever been down to the area on the weekends, and while a lot of the climbing access is via oil company roads, I've never seen any oil workers or trucks. Is this because the industry doesn't employ many people, or just because they don't work weekends?

Incidental fun fact, the Gallery climbing area has a huge overhang (15-20 meters horizontally, 20-30 vertically) where there's a well casing that goes from the ceiling to the floor for no apparent reason. Presumably there's an oil jack up top, but I'm curious why the well is located there...

Thanks for your informative participation throughout this discussion.


Oil fields used to employ people only during the drilling phase. Once in production, they're mostly unattended. The classic oil field is a spread-out collection of pumpjacks running endlessly with nobody around.

Fracking operations, though, are complicated. There's usually a sizable site from which directional drilling spreads out underground. There's water, sand, and hydrochloric acid going down the holes, and mixed oil, gas, and sludge coming up. Lots of trucking activity.[1]

[1] https://www.fractracker.org/resources/oil-and-gas-101/explor...


Good luck with the broadband, especially in the current political climate of the FCC.

I believe that having affordable, high-speed internet (where you are allowed to actually host a server), would revitalize Appalachia.

Between the shuddered coal-plants that can be repurposed as data-centers, and rails-to-trails right-of-ways that can be used for fiber runs, there is plenty of opportunity.

Good luck convincing the politicians, though.


KY is definitely behind (being from there). But they have started an initiative to get fiber out to the backwoods areas. The initiative, called "Kentucky Wired", is going to start with outfitting the backbone against major highways, then push out from there.

http://kentuckywired.ky.gov/Pages/index.aspx

Not sure how efficient it is at the moment, seems pretty slow going. I get all the ads for "Fioptics", but the best speed that is offered in my location is 10 MBps :\. But supposedly it is actively underway to connect the state with increased internet speeds.


I am confused, are you guys suggesting that some cities and towns in Kentucky and other areas within the US lack the same broadband infastructure that I enjoy access to in small-town Mississippi?


It's not the lack of infrastructure, it's the push to ban municipally owned ISPs that's driven by the telecom industries. Several states have already passed laws restricting municipal broadband, and in 2015 the FCC passed rules limiting the ability to expand municipal broadband in the name of competition. See: https://en.m.wikipedia.org/wiki/Municipal_broadband


I live on the most populous hilltop in Hyden KY. Our only ISP caps at 1mb, and its not terribly reliable. Satellite is of course an option, but the expense is prohibitive if you use a lot of data.


Wow, that just sucks. North Dakota has pretty good rural broadband on the whole. I get the feeling its because we seem to have multiple providers everywhere and the rural electric cooperatives and local telephone companies have stepped up with some serious fiber.

Technically, you should have benefited from some of the legislation passed, but after looking at it, it was pretty impossible to access.


Oh wow, maybe since Mississippi is fairly flat, it is just easier to set up decent infrastructure here.


DSL is what's available. Wireless is too susceptible to the terrain.


DSL or wireless?


My small town has DSL with 12Mbps/768kbps (DL/UL) for $45, or a 5Mbps/1Mbps CATV option for $50/mo (plus modem rental - even though the cable provider has FTTH, w/ the ONT having an RJ-45 connector, but requiring customers to use a cable modem).

I would love a symmetric 6/6 (would love to host a server).


I'd love that kind of life too, and the bad broadband wouldn't worry me too much. "git push" doesn't hog too much bandwidth, after all.

But having to fly around the country for interviews ? That's the deal breaker, unfortunately.


I'd move if I knew that the locals wouldn't make my life hard for being transgender and not the typical Christian (I'm a Christian Gnostic, so I'm way out there in terms of my faith). But if anything living in my home state of Kansas has taught me is that no matter how much you reach out and try to show kindness folks will inevitably stay focused on the foreign qualities you bring in their midst.


A huge amount of Government money has gone into infrastructure for Pikeville, KY. There was the Pikeville Cut-Through, finished in 1987, where the U.S. Army Corps of Engineers moved the river to a more convenient location.[1] That also got the town a superhighway connection with two interchanges. There's the East Kentucky Expo Center [2], which has only two events, wrestling and a beer fest, scheduled for the rest of the year. There's the University of Pikeville, with 2,300 students. There's the Pikeville Medical Center, an 11-story hospital with a 10-story parking garage and 3,200 employees. There's a large, modern high school with a swimming pool. It has 2,300 students, so it must be drawing from a larger area than the town. There's a downtown multistory car park connected by a sky bridge to part of the University of Pikeville.

All this in a town of only 7,000 people.

Population is increasing slowly; it's not a dying town. The town itself never had heavy industry; the mines were elsewhere. It's a service center for central Appalachia. Population within 20 miles is 110,000. The town's problem is that the area it services is losing population.

If you wanted to locate there, the local mall has about 30,000 square feet available. No coffee shop in the mall, but the mall has a supermarket-sized Texas Roadhouse. Eat more beef. AT&T offers 45mbps Internet in most of the downtown area.

[1] https://en.wikipedia.org/wiki/Pikeville_Cut-Through [2] http://eastkyexpo.com/AllEvents.html


Its the only actual town for miles in any direction. All those other dots on the map nearby are incorporated hilltops. If they have a gas station with a Hunt Bros pizza franchise, its a town.

That said, our leaders spend any aid money we get on 'tourism' which never pays off, but they don't learn.


Check out the tourism site, "Pikeville, Kentucky's Outdoor Family Playground".[1] There's zip lining, kayaking, and a riding stable. There's also a web site for downtown Pikesville.[2]. Boosterism is alive and well in Pikesville. It's a pretty little town. But it's just not going to draw tourists from far away.

There are bigger places in much worse shape. Youngstown, OH, population down to about 60,000. It was once a bigger industrial city. When the steel industry shut down, it lost its purpose. Plenty of industrial space is available if you have some use for it. Ohio and Pennsylvania have too many cities like that: Akron, OH; Erie, PA, Bethlehem, PA. Pittsburgh came back from losing its steel industry. Cleveland didn't.

[1] http://www.visitpikeville.com/ [2] http://www.pikevillemainstreet.com/


> Pittsburgh came back from losing its steel industry.

Not really. It's still down population almost 10% from 2000.

Losing Westinghouse was a gigantic loss--and it didn't need to happen. Westinghouse should have been a source for tech talent during the Dot Com boom to combine with CMU and Pitt students. Instead Pittsburgh was a technology desert in that same time (I remember trying to find WiFi hotspots there in 2000-2002 and people staring at me like I was from Mars).


While bridging the diversity tech gap, this is another gap that needs to be addressed; the tech-displaced gap (which is the same tbh, and is only going to get wider as time goes on).

Don't want to get too political here, but this "middle-america" vs. "liberal minorities" class war is nothing but a fabrication of the media and the elites to get these two disenfranchised groups to battle amongst themselves- they're the same side of coin.

At 25 I went back to school for programming and it was hard and I only was able to do it because of the support of my parents. For a 55 y/o coal miner with a family to support, rent to pay, etc. I can't even begin to imagine how they would go about "learning to code"- as if they don't have these responsibilities.

Though children are the future, these people are the present, and if we don't find ways to help them (whether it's free community college, bootcamps, or internship placements), they're going to get desperate (e.g. vote Trump), and the future is going to pay dearly for it.


It's capital vs labor. It's cute how employee professionals think they are in some sort of ruling class (at least according to the media).


As someone who grew up in Appalachia and has since moved to NYC and built a career in tech, it hurts me to read stories like these and think about how many good people are getting left behind, due to factors largely out of their control. Sure, folks could uproot and abandon the area, but that solution is no less tragic. In terms of natural beauty, few places can rival. With a bit of enlightenment about what opportunities already exist in affordable tech education, some meaningful investment in infrastructure, and some entrepreneurs willing to get their hands dirty, we could turn this region around. Silicon Holler has a ring to it.


Investment in infrastructure would especially help, because it would create jobs that could then flow into the local economy. West Virginia is one of the most beautiful parts of America, and could have a booming tourist industry. Travel through there and you see one deindustrialized town after another where a few million dollars of investment would transform the local economy.


Time and time again I keep coming back to the same conclusion - anyone who has the desire can learn to code. I would say that 95% of people have enough innate logic to write code, they just need to be taught to express it formally.


Programming is similar to chess in that it has a high branching factor. Each potential path towards a desired end state leads to other potential paths and excludes others.

Good programmers are adept at being able to visualize complex trees and with experience to be able to quickly prune (exclude) suboptimal paths.

This is a pretty limited skill set and is closely correlated with spatial reasoning. Studies have shown that that skill is somewhat malleable through training but still follows a bell curve. Better training could double the number of people who could potentially succeed in stem careers but that is still far from everybody being able to code.

And the effect of training is to largely move people from the middle of the curve slightly to one side and not moving somebody from the middle to the edge of from one edge to the other. That means while you can make some people programmers you can't make anyone excellent programmers.

On a side note my experience is that people without strong spatial reasoning skills tend to find shortcuts early on that help them cope and those coping methods can eventually become strengths in their own right. For example they become adept at memorizing procedures (medicine) or start at the end state and work backwards (project management). To someone who relies on strong spatial reasoning abilities and never developed these techniques these people's abilities can seem like they are able to manage complex trees with speed (memorizing) or extremely deep trees with ease (project management).


>in 2015, then watched as more than 900 applications rolled in. From this pool, they chose 11 former miners who scored highest on a coding aptitude test. Two years later, in an old Coca-Cola factory by the Big Sandy river, nine men and one woman remain

They gave people an IQ test and took the top percentile of a group that, due to their interest, was already slightly selected for intellectual ability. This is not proof that anyone can program.

Did you even read the article? It is in accordance with the unfortunate fact that programming is a high IQ job that the majority of people are not capable of becoming proficient in. Though for many here this is not unfortunate, as it is the reason wages remain high despite a lack of licensure.

Humans differ in cognitive ability and most of this difference is genetic. Modern psychometrics and common sence agree with this. We cannot build a better word on false but pleasing ideological assumptions.


Thanks for saying this. To me, in a strange way, it's a little arrogant to think I am being generous by saying that anyone can code. It feels like I'm engaging in false humility and I am putting myself above them in the first place to confer this "honor" upon them. I'm also subtly devaluing the many other things they probably can do.

But, maybe I'm over-thinking that part. Either way, I have witnessed first hand that not everyone can code, and we have probably all seen this. I mean, it's a vague statement to begin with. Sure, you can probably show most people how to write a for-loop, but that's a far cry from them being a proficient, professional coder, which is really what's implied by the phrase "learning to code" if used for any practical purpose.

And, you can't just chalk it up to bad teaching. I've seen many people, in school and at work, who just didn't have the thinking style. In school, so many people couldn't turn the corner, then switched majors and did perfectly well. They weren't unintelligent. Coding just never clicked. And, as a tutor, I really witnessed it up-close. For some, I was able to guide them to finding the solution, giving them just enough to turn on their inner coder and help introduce them to that part of their brain.

But, for others, no matter what I did, it just didn't click. I could show them pieces at best, but they could never seem to put it all together. Felt like it was just something about the way their minds worked.

And, there are some who somehow made it through school, but struggle professionally and it shows in the quality of their code. The idea that we can make anyone "good enough" is unrealistic.

Bad code costs money and it's economically no different from any other skilled field, wherein firms that employ highly skilled resources are at an advantage over those who employ less proficient resources. And, this is not just true for Google.


Agreed 100%.

My experience is that being a good programmer is more than a matter of intelligence. It's a certain thinking style that lends itself well to organizing data flows and presentation. It's a certain ability to focus on abstract structures and keep chains of relationships in the mind while envisioning how to manipulate them. And a lots of otherwise smart people just don't think like this natively and "teaching" them is both painful for everyone and has limited effects.

I bet most of us have met perfectly smart people who just didn't click with coding. Just not a good fit for their thinking style. Even if they nominally want to be programmers for the money or cool factor or whatever. Even if they take a bunch of classes. They just never quite get there.

And square pegs beating themselves into round holes usually does indeed cost more than it produces. People should play to their strengths instead of chasing external expectations. It's better for them and for society in my estimation. But certainly if people want to give programming a try they should. And at least "some" experience in programming is better than none. But most people can't/won't become professionals.


Exactly. Really reminds me of proofs in geometry. You amass this knowledge or ruleset, then apply that knowledge in successive steps to solve the proof.

But, the bigger part is being able to step back and "see" the path; to pull from what you know to approach the problem and formulate a solution.

Seems like there were three groups: those who just couldn't get it; those who wrestled and muddled their way through; and those who just kind of got it, almost intuitively. The latter is a minority, and I would bet that an outsized percentage of those people really can learn to code.


To me, the process is more suggestive of the idea that the resources likely to produce success when training people to code are scarce and access to those resources is therefore limited using highly selective processes to guard against allocating resources to false positives.

I suspect that the process selected 11 people because there were funds to educate ~11 people and that ~11 would have been enrolled in the program if the applicant population was significantly different regardless of that difference being a left or right skew.


The resources are not scarce; they are free online.


I run an online code bootcamp, and I think most people assume that learning resources being available is all that's needed. That's true for some super dedicated people, but for most it's not enough.

For a while I thought the biggest value we provided as a bootcamp was direction and on-demand expert help. But now I don't think that's true. I think the biggest value we provide is that we make everyone show up at the same time every day and work until some other time, and we help direct what they should be working on during that time.

In short, it's social pressure, discipline, and scheduling. Those are everything.

Look at Thinkful's "part-time self directed" bootcamp - all the material is there, there's a mentor to help you once/week for a few mins, you pay $8,500 to do it - people are obviously dedicated to learning when they start. And the end graduation rate? ~31%.

I know another bootcamp that decided to just record their bootcamp and put it online, and charge you $2,000 for access to the videos. 28 people signed up and paid the $2,000, and one person watched past the first lesson.

I would guess that the percentage of people who can discipline themselves enough to learn on their own while balancing other responsibilities and not paying $2,000-8,000 is much, much smaller.

Think back to when you were in college - say it's a Calculus class. What do you think the graduation rate of that class would be if you gave everyone a Calculus book and said, "Fit it in when you can!" I'd guess it would approach zero except for a few superstars.

The same thing seems to be happening in programming. In 2017 the thing holding you back from learning something isn't resources. It's direction and discipline.


There are resources for many endeavors that greatly increase the likelihood of success. It might be a Harvard education. It might be YC's startup school. It might be a retraining program in Kentucky. All are scarce and therefore selective.

One of the things each offers is sustained direct access to other people's time and in particular sustained direct access to expert's time. That's the difference between a personally tailored answer and closed as duplicate on StackOverflow. It's the difference between here's the answer and ten other things I can tell you about and here's someone else's question and several divergent answers to your duplicate question which might not have been the same.


I missed the IQ test part. All I read was coding aptitude test, whatever the hell that is.

Sure we're all different and maybe 95% is high but its at least 50%. One out of every two people I meet I am confident they could become proficient at programming given a solid learning environment.


A programming aptitude test is just an IQ test with another name.

>One out of every two people I meet I am confident they could become proficient at programming given a solid learning environment.

That's quite possible, even if what I say is true. People tend to mix with people on their own intellectual level. The people you talk to enough to get a good estimate of their intelligence are unlikely to be randomly selected from the population.

If you believe average people can become good programmers, this implies you could make billions converting 100 IQ people into programmers and then undercutting everyone else. I predict you will fail, unless you figure out a way to vastly deskill the art of programming.


I once worked with a reasonably productive developer who said his IQ was in the mid 80s. I think whatever test he took misjudged him, but it does suggest that, while programming skill might be rare, and might correlate with IQ, it's not a universal law that only high IQ people can become programmers. Also important to remember that some programming is about as complex as simple electrical work, while some is significantly more challenging. It would be unjust to deny people the opportunity to do the former because they can't handle the latter.


An alternative way to prevent deskilling programming is to make the tools required to program such that learning to use them becomes mostly a matter of oral tradition rather than accessible. This might (or might not) be happening.

For example, the evolution of Javascript from a low status programming language to a high status one has paralleled a shift from a stable core language and a well documented API to the DOM to a combinatorial explosion of changing frameworks and complex development toolchains. Learning some combination gulp and babel and redux and angular(2) and webgl and ten other things is more a matter of access to people who will patiently answer questions than something a person can learn without working on a team.


I think your learning style is leaking through here. While not a JavaScript expert (who designs a language with whitespace/formatting not being a first class concern?) I had no trouble picking it up from the docs and random blog posts.

I'm a learn-by-doing type though, YMMV.


I agree people's mileage varies. My gut is that programming languages have generally evolved in ways that widen that variation and that the explosion in the number of people who are coding due to increased access masks much of that change.


I studied math & computer science at university (15 years ago) that was quite selective in CS admissions (probably filtering out ~80% of high-school graduates).

At least half of these already self-selected and 80% filtered students were not really able to program (and eventually flunked or transferred to other departments - although some people who could program flunked and some who couldn't graduated, I think the two groups were quite well correlated).

I'm sure you can do better at teaching (and filtering) than the CS program at my university, but if such a focused group had a 50% failure rate I'm sure the general population is at the very least not better (remember that it's not just about 'raw' ability but also about interest and motivation).


It's not a proof that anyone can program, but neither is it a proof of the opposite.

You don't need to be the top 1 percentile to make CRUD apps, they chose the best because they had the first pick, not necessarily because they needed to.


It's quite possible that you need to be the top 10 percentile to sling together CRUD apps. I think trying to minimize the difficulty of what we do is a little insulting. Even the dumbest software developers I've met are sharper than the average bear.

I mean, get out in the world and see what most people are like.


I think the idea is that many people will never be able to make a stable crud app in a reasonable timeframe, no matter how hard you try to retrain them. This isn't the 1%, it's just that the majority of programmers are more proficient than the general public in some way. Sure that's hundreds of millions of people, but it's not everyone.


Seems like a better filter for attitude than aptitude.


I don't think programming is science I think it's more like plumbing. You're dealing with a complicated system made out of the most simple parts. Anyone can learn how to setup or fix these systems if they get what the basic parts do.

There's not really much science in non-academic computer science. We're just builders who make, fix, and break things.

Edit: added do


You just described an Engineer.


Sure, but the wash out in engineering school is 2/3, and that's the "kid who is good in math". So that does not describe "anyone", according to the original post.


Probably. Most Computer Science degree holders are going to end up Engineers.


Sure. 95% of people can lay bricks too.

But 95% of people can't lay bricks precisely enough or at the speed a bricklaying company is going to hire them. And for sure 95% of people aren't interested in laying bricks.

Is it worth teaching 95% of people to code? I don't think it is. Most people don't have to lay bricks to live in house.


Coding is a good force multiplier for non-coding jobs, though; even a basic scripting knowledge can go a long ways. An administrative assistant who can compile their weekly reports with the press of a button is far more valuable than one who spends half of every Friday mucking around in a Microsoft Word template to do the same thing.

Bricks aren't powerful programmable tools that most people already work with on a daily basis.


>An administrative assistant who can compile their weekly reports with the press of a button is far more valuable than one who spends half of every Friday mucking around in a Microsoft Word template to do the same thing.

No they aren't. Either they're making the same salary either way, or else their employer has fired them and hired someone else to push that "button" at a fraction of that salary, once it became obvious that their job could be automated.


Weekly report? You want a weekly TPS report?

No problem, I'll generate one so big you won't be able to read it in a year! And it will only take 30 seconds.


Or 95% of people can make more money at jobs other than laying bricks.

95 % of people can't make more money than coding. Some can and do. Many would if they could.


Hypothetical question: If you could make 1/3 more laying bricks than coding which would you chose?


It's hard to say. I really really enjoy coding, and have tons of passion for it. But I can get really deep into about anything and really enjoy it. I suspect I would find some position in the brick laying field that would satisfy me the same. I have worked physical labor jobs in the past, and as a whole I think they are "better" (except for the pay). I come home at the end of the day physically tired, but mentally fresh. Now I come home the reverse, and need to go run to stay in shape.


Ya, it's a tough call. I've worked physical jobs as well including construction.

Both programming and physical labor are enjoyable and good for a person in different ways and both ruin a person in different ways if taken too far.

I guess if it all paid the same I'd lay bricks half a day and program the other half :)


I would think a skilled mason would make much more than an entry-level developer.


Personally I'm of the opinion that a lot of programming learning difficulties come from the teachers and methodology of teaching programming.

Though it's all antidotal from Going through different college courses that teach both programming and contactor/ladder logic. The programming classes had something like 40% learn rates, while the ladder logic classes everyone eventually got it. And with chances of going out to the field utterly normal people have been able change our contactor/ladder logic to make things work and/or fix issues.


College doesn't really teach programming. They teach computer science. Professor largely expect you to pick up programming on your own to solve the problems given.


I dunno, maybe things have changed, but I certainly learned to code.

Sure, coding skills sharpen and evolve through experience, but coding was heavily emphasized and there was much lab work in my CS curriculum.


At the upper-division level (years 3/4) this is true, but my college certainly teaches programming and syntax in Python/C++ along with computer science concepts your first two years.


Really? What school? That sounds...bad.

Most CS curricula should definitely not be focusing on any one language, no matter what the year. A typical first few courses are something like:

1) intro to computer science. This is typically teach entry level program flow techniques, loops, if/else, recursion, some OO. My school used java but the focus was not on the language.

2) Data Structures and Algorithms. Overview of your typical data structures and common operations. Gets in to big O, etc. My school accepted assignments in both java and c++, but didn't emphasize either one.

3) Architecture. This is low level CPU architecture. Pipelines, caches etc. We used some sort of assembly for assignments.

4) programming paradigms. This was basically SICP. Meta circular evaluators, etc. We used scheme for assignments but again no real emphasis on the language.

5) OSes. Basics of operating systems. Threads, memory management, networking etc. Assignments were in C.

I think this is the standard CS curriculum, at least according to my experiences and most of the people I've worked with with CS degrees.


From the post you responded to: "...along with computer science concepts your first two years."

Reducesuffering simply stated that some programming tools were taught in the first years of college and he or she did not say his curriculum excluded any of the topics in your list.


My view is that most programming work is more of a skilled trade, like being an electrician or plumber, rather than a profession, like law or civil engineering. Doing something useful doesn't take a whole lot of formal education, doing clean good work requires lots of experience plus good teaching in industry best practices, and there are a lot of opportunities for self-employment.


Why do we say this about coding? We don't say anyone can be an artist, or an astrophysicist, or a brain surgeon.


Dentists for sure. Probably could really teach someone to do most of that in a several month bootcamp followed by a couple of years apprenticeship.

Source: Several dentists in the family and that's about what they say. (doesn't stop them from charging large fees though, I mean, they do have student loans to pay off:)


OTOH, I have visited dentists to whom I would not return.


The studies I've seen are a few decades old, and I think programming has become easier since.

But the result back then was that even among young talented people who entered programming classes, a large percentage (40%-70%, don't remember) just couldn't do it.

The biggest "tell" was understanding pointers (in C). A lot of people just got stuck on that and couldn't move forward.


I mean most people can make an alert box. Most people can't design and build a decent sized application. I have never met a good programmer not in the top 25% or so of the intelligence range. So at best that limits us to 1/4 people.


I'd suggest that maybe we're all looking at programming the wrong way.

Not everyone can build a decent sized building, and the people designing and managing their construction are likely also in the top intelligence quartile. But they're not necessarily the ones doing the actual construction of the thing.

In programming, there seems to me to be a refusal do the kind of delegation that occurs in construction. Instead, we've got a huge market of tools designed to reduce boilerplate and increase abstraction so that the highly intelligent programmer can get more done faster.

That's all well and good, but at the end of the day there are programming nails that need to get hammered, and its not going to matter if they're hammered by a MENSA member or not. The current mindset seems to want to deny this, and make every programming task something that must be handled by the best of the best.


So it is fairly easy to split building up into the thinking part (design, planning, etc), and the grunt part (nailing crap together).

People try and try to apply the analogy to software. Heck that was the entire premise of EJBs. Have your smart people design the system. Then hire a bunch of foreign slave labor to implement the interfaces and BLAMO the program is done.

It just. doesn't. work.

No matter how good your up front design is, designs need to change over time. That is what makes software so powerful. But if you are just a code grunt and you don't KNOW how to design anything, you won't know when things need to change. So what do you do, keep adding more and more if blocks until a senior person can code review it? That is a crappy way to build software. WAYYY better to have 2-3 smart people working together than 1 genius and 14 code monkies.


It's interesting to have local politics geared towards attracting talented people, but there's precious little that can be done if talent is fractionalized at a national level through the concentration of urban bubbles to immigration policies that stem inflows of talented people...

Talent is distributed unevenly, but I don't think a series of competing local lobbies will change that. I've always thought that all of the local ecosystems for which talent flows unevenly should think seriously about banding together and working on policies that 1) increase overall talent availability 2) distribute its spread more evenly -- 1 would involve working to get Congress to create incentives for entrepreneurs/high-skilled workers of all kinds to come to America in the first place, for example, while 2 might be a combination of infrastructure/tax policies.


I live in eastern KY and there are a few programs like this one. In Hazard KY, another coal-bust town, I was accepted to a program to train force.com developers. Hold your scoffs please, we've learned a lot in the last few months, including using JS.

The broadband struggle is real. I worry that at some point we'll still need to relocate.


Is broadband expensive or bad or unavailable? What about satellite internet? I live in Mississippi and broadband internet is affordable and available throughout the state and has been for years so I expected Kentucky to have the same or similar. Some places miles away from the nearest town in MS definitely don't have broadband.


1mb 'broadband' service, offered as DSL, runs about 90$ per month, and that's our only ISP. One could get satellite that's faster, but satellite internet also has low data caps, and the cost scales out of proportion. The terrain derails reliable wireless services, and the low population density rules it out anyway - folk are pretty far apart.


I dealt with those kinds of limitations a few years back when I lived in a rural area, and if faced with the same limitations today, I recommend the following, as this is my current operating mode when on overseas trips and on limited connections while still needing to work. It still sucks, but I've done what I can to make it suck less. It still blows my mind when I observe while traveling that much of the "fly-over" communities in the US have worse or similar broadband terms, at more expensive rates (in both absolute and local PPP terms) than Nepal, or many other developing nations. The US post-industrial revolution is seemingly rotting out from within.

Basically, the high level solution is live in the CLI as much as possible, and remote into your "main driver" as much as feasible. I had to accept that I won't ever be working with my daily processes transparently. I had to make conscious decisions all the time, for example: do I work with this customer-sent Word file on the remote Windows box or download and work on my laptop?

Mostly I live in SSH and screen to various Unix boxes. Will add Mosh and tmux this year to try them out over unreliable connections. Windows RDP was okay on bandwidth caps, a license of NX was used for those few times I could not escape X11 (ship it to a remote Windows box to maintain state). ESXi for those times I had to work through a VPN and view the remote display via the VM video because the VPN cuts off all other remote access.

If you are in this for the long-haul, then your own Supermicro Mini-1U with up to 128GB RAM colo'd will probably be cheaper than even an OVH annual dedicated server.

Hope this helps.

There should be a public list of politicians who voted for blocking municipal broadband, to give tech-oriented voting blocs an easy way to inform single-issue voters how to vote against them.


Who is your electric company?


Our electric company is AEP, but our ISP is TDS. They're awful.


Hadn't ever considered it, didn't know the power companies were crossing over like that. I'll definitely investigate further, thanks!


If you could get a group to approach AEP to also provide internet, it might be worth it. Several electric coops in ND are doing it and succeeding.


We were lucky to host some visiting Bitsourcers in NYC. They were fantastic.

They told us the same thing: coal miners have to think. You do the right thing, the right way, every time, or somebody could die.

The stakes are lower for tech projects, but they brought the care with them.


> You do the right thing, the right way, every time, or somebody could die.

This stood out for me in the article. I moved to coding after a few years as an aerospace engineer. In the aerospace world you don't want to make mistakes either, so I know how jarring it can be to move to an industry that operates on the motto "just ship it and we'll patch it later, maybe".

I hope they can bring their thoughtfulness to their code and develop a reputation for shipping solid product.


I haven't met any of their devs, but when our program began the owners came to speak to us. They're good people.

A lot of times it seems people take it for granted that 'skilled/intelligent' and 'rural' are mutually exclusive.


Did you mean to say "not mutually exclusive"?


Nope! They aren't mutually exclusive, of course, but a lot of folk believe that they are, hence my comment.


Looking at that picture of the huge empty highway and ramps, I can't help but think that the $15 million needed to connect to fiber optic backbone could have been found if so much hadn't been wasted on that road building. The same is true in many economically shrinking areas of the US, where fewer and fewer people get more and more miles of roads. (Also, think of how much of their newly created 400 acres of flat land was wasted on those ramps.)


I swear to pizza, in my hometown they are removing TWO ENTIRE MOUNTAINS because rocks keep slipping on to ONE of the South-bound lanes. Last I heard, the estimated cost is over $50M. Only 50k people live in the entire metro area. Population is halving about every generation on top of that. Best part is, this route runs alongside a river. On the other side of that river is an identical route. They could literally just shut down the road and not even need to build any new bridges...


Well, at one time it stayed full of coal trucks. Not that I disagree with your point.


That's interesting, this is the second miner-to-coder success story I'm seeing in the news recently. There's also Mined Minds in PA: http://www.pbs.org/newshour/rundown/couple-teaches-laid-off-...

Coincidence or indicative of people from declining industries switching to tech?


Are there good groups in Louisville, KY, for adults wanting to learn how to do software development (or more generally, enter the tech industry)? Does anyone know of any good online resources for adults along these lines?

I know about a number of resources for kids learning to code, but those are maybe not appropriate for a motivated adult wanting to investigate switching careers.


Between Louisville, Lexington, and Cincinnati there is a large community of developers, tech startups, meetup groups, and a job market that is wide open for good talent. Meetups and classes in Louisville are definitely a google search away. Also there's awesomeinc.org in Lexington. If you want to learn to code, try some online courses first. If you dont hate it, get out and meet other developers, look into courses available. Expose yourself to enough concepts so you can make an informed decision about what you would prefer to actually do as a developer.



I'm curious, what was the actions put in place by the federal government that they blame for killing their coal industry?


In general, they blame environmental regulations rather than market forces. The area is full of urban legends about how the natural gas power plants are vastly inferior to coal fired plants, but they're being upheld by a cabal of evil liberals who want to destroy the industry because ???




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: