<p>I'm a 15 year old that's currently learning Go. I love it. Seriously, so much better than Node and Java for me. The thing is, when I look for jobs (well really I'd be looking for an internship), I have like 5 results for Go, and hundreds for Java, JavaScript, etc. My question is this: is Go a language that you can make get a job for without working remotely or moving?</p>
<hr/>**评论:**<br/><br/>luckyleprechaun98: <pre><p>Sure, keep learning go but also try other languages too. Programming languages are just tools. Learning a couple different ones will help you in a future job search. Once you know a few you can pick up any others quickly when you need to. </p></pre>Franke123: <pre><p>Thanks! Any specific languages you'd recommend? I'm learning Java and am proficient in js.</p></pre>luckyleprechaun98: <pre><p>Maybe pick something with a more functional bent. After I learned scala it really opened my eyes to other ideas. When something isn't a good fit for Go, I'll go to scala next. There are a ton of interesting languages out there. Check them all out and pick one that makes you think differently. </p></pre>Franke123: <pre><p>Cool, thanks for all the advice.</p></pre>kostix: <pre><p>I'd recommend starting with Erlang though.</p>
<p>While it's functional, it's way more smple to approach (than Scala, Haskell and other languages in the ML family) to mere mortals with imperative backgrounds.</p>
<p>While it has the most crucial functional stuff implemented — pattern matching (with decomposing) and the idea that running a program is evaluating of an expression — it won't blow over your head with hardcore type theories and other "math stuff".</p>
<p>"Programming Erlang" by J. Armstrong is a very gently put introduction.</p></pre>Franke123: <pre><p>How is it for Web Development? I've heard functional languages are not great for web dev, but don't know if that's bullshit.</p></pre>kostix: <pre><p>We weren't talking about web development specifically but rather about training your brain by learning new paradigms.</p>
<p>I'd heartily recommend you to not <em>fixate</em> on web development.
Sure, these days, web development is what any newfangled or wannabe programmer most probably has their first encounter with
but that's merely due to the <em>volume</em> of development being done,
not because it's particularly interesting, hard or whatnot.</p>
<p>Well, OK, if you still want to look at this from web angle, there's <a href="http://synrc.com/apps/n2o/" rel="nofollow">N2O</a>, and other words to google are Nitrogen and Cowboy.</p>
<p>Please note that Node.js is sort of a weird thing: it started life as a neat hack (the result of "Chrome has a good JS engine and a network stack; what if we rip it out to make a standalone thing?") but otherwise it doesn't implement anything interesting. Networked callback-based scripting existed for at least a decade before Node (Tcl, and, later, Python with its Twisted framework) but Node appeared in a "right" time when web programming has started booming, and the fact it can be programmed in JS (however crappy the language is) was attractive for frontend devs. ;-) I mean, there's not much particularly interesting in handling HTTP requests — almost any language has libraries / platforms to does that.</p></pre>Franke123: <pre><p>I know it might be an unpopular opinion but I wholeheartedly disagree. In a few years we won't have much besides Web Developers as programmers, because everything is moving that way. Even my classes at high school for example, 80% of kids already have Chromebooks, which they spend all their time in a browser for. I love web development and I think it's the future and the current. But yeah I know Node is weird I'm honestly not a huge fan, of course Go is so much nicer :)</p></pre>kostix: <pre><p>I'm still inclined to think you're exaggregating a little bit.</p>
<p>On the one hand, from where I stand, it looks like most of what mere mortals spend their leisure time in are "apps", not web browsers. This might or might not actually transition to "pure web" (note that the Apple's motto one time was "there's the web for that", but it changed to "there's an app for that" pretty quickly). (And Chromebooks here in Russia are almost non-existing; I've yet to seen any, for instance.)
The apps do indeed usually talk to ReSTful services using HTTP calls and websockets.
But is this "web development"? I don't think so: on backends, this is just an aspect of network programming.</p>
<p>What I'm leading to, is that quite a number of tasks performed outside of browsers are not web development even if the end result of what they do is being eventually piped to something connected over HTTP/websockets.
Think about fault-tolerant distributed databases, transactions processing, video/audio streaming processing—to name just a few.</p>
<p>…and then there is "plumbing layer"—the OS, and what actually powers all those ReSTful services. Don't just count this off; IMO
the most interesting and hardcore tasks are there and not among fighting with <code><div></code> positioning and crunching JSON. Oh, well… ;-)</p></pre>Franke123: <pre><p>Hmm, I guess I'm in a different geological location but I have to say, at my school, and many others in the district you are required to have a Chromebook (or laptop), even if it means buying it from the school at a discount (for students that can't afford this), and everyone loves them because they're cheap and they just work. I see your points with the OS and databases and stuff like that, but the majority of developers will be creating webapps imo. I get your point though, you may find other parts more fun, I love crunching JSON :)</p></pre>SilentWeaponQuietWar: <pre><p>To answer you directly,</p>
<blockquote>
<p>is Go a language that you can make get a job for without working remotely or moving?</p>
</blockquote>
<p>The chances of finding a local Go job are pretty slim currently. As you've already discovered, the market for Java/Javascript is much bigger. If you're interested in making money now or in the short-term, I would highly recommend looking into Javascript/Node then just keeping up to date on Go so you are prepared for when you can move, or when a job pops up.</p></pre>Franke123: <pre><p>Cool, thanks. I used to use JavaScript frequently but go is just so much nicer :) I need some of both. </p></pre>seblw: <pre><p>Go jobs count will increase in following years so keep learning :)</p></pre>esimov: <pre><blockquote>
<p>Erlang</p>
</blockquote>
<p>... and do not forget to have fun outside, without computers ;)</p></pre>pogonator2: <pre><p>Programming language is a tool. Gotta be flexible to use the best tool for the job at hand. Knowing multiple languages is always always helpful and don't get stuck to become a developer who can only code in one language. Once you master one a language in a certain paradigm, picking up others in same domain is fairly easy.</p>
<p>You have Go under your belt, so perhaps try the interpreted ones (python, javascript). A lot of people using go, use it as replacement for existing services written in python/js for performance reasons so knowing those languages can be quite helpful.</p>
<p>Good luck</p></pre>Franke123: <pre><p>That's a great idea I didn't think of that reason for learning python. Personally I despise python but that would be a good reason to learn it.</p></pre>pogonator2: <pre><p>Don't underestimate python. Its an extremely versatile scripting language and excels at things that go can barely accomplish sometimes.
Most companies i've been at for example used python for building sysadmin / deployment / infrastructure tooling - go will never replace it.</p></pre>Franke123: <pre><p>I know it's a very useful language especially for things like Machine Learning and what you said, I just strongly dislike writing it. Not to say that I don't recognize what it can do.</p></pre>absdevops: <pre><p>Just curious, name me one thing from a systems perspective that Python can't be replaced by Go with?</p></pre>dinkumator: <pre><p>There are a few places you could check other than job listings for local Go work. For example, you can check out the top Go developers in a location here:
<a href="http://git-awards.com/users?utf8=%E2%9C%93&type=city&language=go&city=San+francisco" rel="nofollow">http://git-awards.com/users?utf8=%E2%9C%93&type=city&language=go&city=San+francisco</a>
(for some reason this search is much better than doing the same advanced search at github.com itself). Or you can find a local Go meetup or other event. Basically click around and try to find out where the places that people who work in Go are (even if they don't list Go in a description specifically).</p></pre>sethammons: <pre><pre><code>... without working remotely or moving?
</code></pre>
<p>Well, where do you live? ;P
We have offices in Orange, Ca; Redwood, Ca; and Denver, Co. We have several teams doing frontend work and using Go. And all our backend teams (aside our big data team) use Go a lot. <a href="https://sendgrid.com/careers/" rel="nofollow">https://sendgrid.com/careers/</a></p>
<p>Go's popularity continues to increase. But I think most cities will still have few Go opportunities for a while and Java and JavaScript jobs will be more easily found.</p></pre>Franke123: <pre><p>None of those places, but you'd think where I live (Portland) we'd get some "hip" firms using Go... Only one I found was Lytics.</p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传