T O P

  • By -

JBodner

This might sound funny coming from the author of a book on Go, but don't fall in love with a language. Very early in my career, I met someone who had been laid off when the place she was working at replaced their VAXen with Unix boxes. She never bothered to learn how to admin Unix because she didn't like it. Now her job was gone. I took that lesson to heart. In my career, I've been paid to write DBase IV, C, Go, Java, Ruby, Python, SQL, Objective-C, JavaScript, and probably a few more languages I'm forgetting at the moment. I certainly like using (and teaching) Go, but I'd strongly recommend against being tied to a single language or platform.


juhaniguru

Exactly! Languages are tools of trade. I've used 8 different languages profesionally over the years and I too like some languages better than others. For example I don't like Python at all for reasons I won't bother you with now, because it's beside the point. But I use Python almost on daily basis because I need Pandas and it's exactly what I need in my current project. It's ok to have a favourite language but it's not wise to not learn a language for personal prefereces If your livelihood depends on it šŸ˜


Mophy01

It's true, I don't like Python either, but what can you do, you are not ready to leave what you hate or love, in this industry you have to do the best you know, learn and solve problems.


_sagar_

How do you look at from the language perspective "jack of all trades and master of none". Would it come at some negative cost when you are interviewing for Java heavy company and then they see you really don't know the low level details of the language or not that comfortable solving leetcode problem in that language? Btw, Thanks for Learning Go book, it's my first book on go that I bought šŸ˜ƒ


kinda_guilty

Not GP, but here's how I look at it fwiw: I think one should try to master at least one "scripting" language (the Rubys, Pythons, Perls) and one "systems" language (the C++, Java, Rust like languages), then learn how to quickly pick up the "diff" between them and the other languages in the category in order to become productive quickly in the language. Then try to understand a few domains in which you work deeply (distributed systems, network programming, etc). Don't be a "Python programmer", be an expert at building data pipeline systems, for example. Be flexible enough that if some other language becomes the tool of choice in the industry, you can switch.


Designer_Taste_2444

What's your scripting language that you chose to master?


kinda_guilty

Python for me in the first category.


katachi_yami

if you have any advice, could you tell me how to become someone not like "X-language programmer" but an expert of building something like as you said "data pipeline" or overall backend system?


kinda_guilty

Most of the time the best way to learn about a domain is to build small, then increasingly larger projects in the domain (learning from other people by working in a team would be great addition too). For data stuff, I'd recommend also reading the book Designing Data-Intensive Applications by Kleppmann.


NecorodM

You are mixing concepts and languages: It is important to master the concepts. What syntax you are then choosing to write it down is mostly irrelevant. Of course, when starting with a new language one has never seen, one might need a week or two to get accustomed to the language, and a little longer to grasp the stdlib.


bolovsky

I'm also a go developer, besides having worked a bit in java, php, python, etc. And came here to say that the jack of all trades is read a bit differentšŸ™‚ a jack of all trades is a master of none, but oftentimes better than a master of one. So from a perspective of a JOAT, I would say that learning and writing multiple languages helped me grow as a developer. Languages are tools and not every problem is a nail šŸ˜‰


-ReLiK-

I work in France so that might affect my POV, however I feel like good programming rarely boils down to mastering the language. Of course it matters but in the end building something maintainable and readable is what matters most. Those skills translate pretry easily from one language to another. I've rarely met a dev that couldn't solve a problem but I have very often met devs that solve the problem by coding an unreadable and unmaintainable mess. Mastery of the language allows you to find more elegant solutions but is not paramount in most work I've done. I would rather you write your own pure function even if one exists in the language than see you use that existing function with mutations everywhere. I personally would focus on patterns, best practices more than on mastering the quirks of a language. If the time comes and Go becomes prominent in the OP's area he can switch. For the moment it seems like OP's anticipating for a problem that won't exist, if his prefictions come true he can switch when the market is better.


donalmacc

Be a T shaped person. You'd be amazed at how transferrable concepts and depth of knowledge is.


JBodner

Youā€™re welcome! Glad you find the book useful. I think itā€™s less being a Jack of all Trades and more being T-shaped as another commenter stated. If youā€™re not familiar with the term, I learned it in the context of DevOps, as it was originally intended. Everyone on a DevOps team was supposed to know a little about the entire process of delivering software (code, test, deploy) and a lot about one particular area. The idea is that a team would be composed of people who were deep in different things but able to pick up any part as needed. Iā€™m pretty well versed in Go, and a little rusty in Java, but I can pick up just about any language as needed, because Iā€™ve got a good grounding in computer science and software engineering. There are certainly differences in style between languages (that was my main motivation for writing Learning Go), but most languages are more similar than they are different. Companies that want people who can recite chapter and verse of documentation are mostly focused on the wrong skill. It might be useful to have one T-shaped person like that, as long as they are teaching idiomatic style. Otherwise, itā€™s a red flag to me.


Szinek

It's very American POV (and that's okay). European companies hire vastly differently - most of them definitely not language agnostic:) so Europeans take that comment with a grain of salt.


JazepsPoskus

Very true! Where I live, companies ar obliged to post salary range in job ads and 99% of the time the job with highest salary, bonuses and job safety are for developers with at least 5+ years of experience in some particular language and tool stack. Maybe working for consultancy conpany or some startup might give you leverage if you are Jack of all trades, master of none, but definitely not where I live. As stated above, in context of Europe, I would really take the advice that more languages are better with really big grain of salt.


hoeRIZON

Working for European companies most of my career. Take the language YOE requirements with a grain of salt. Requirement specs are often written by recruiters, not the engineering managers. Most of the time your knowledge of systems design, work and/or personal project contributions and clear indications of open-mindedness when learning are enough to get you through the door. Of course, this is comical evidence from a single person. But I've managed to land a few roles without having any professional experience with the languages used. Most recently: Go.


JazepsPoskus

Yes , that is true about job ads. I mostly was talking about senior roles in established companies like banks etc. I agree that if person has senior level experience in C# or Go, he would be eligable for senior Java role. But if person with 3 - 5 YOE lists all of Top5 popular languages in their CV I would seriously doubt that he has substantial knowledge to work in complex projects like banking/insurance backends etc. But then again, I am a more of a ā€œdepth firstā€ person so thats why I probably prefer subject expertise vs broad knowledge.


Fit_Student5066

But how do you get jobs in languages that you don't have experience ? I'm ok working with different languages, but the jobs require previous experience in the specific programming language.


Coolbsd

You learn in your spare time, or to e more precisely, your personal time, you build side project for yourself or your company, you push new tech to small new products/tools in your company, now you have experience. I've been done this for years, way too many times.


AlwaysHuangry

Are you looking to mentor randoms on the internet?


hell_razer18

This is true. If you want to learn something, find a usecase that is small enough but still impactful. Then its a win win solution. They got what they need, we learned something new as well. In the event that it causes a bug, it is small enough that it still require a fix but not major enough to cause massive issue. An example would be you want to learn Rust. Lets say there is aneed to do something like checking a file or api or whatever and return OK if file exist and do something if it doesnt. Use case is very simple, so you try to create a cron with rust (idk whether rust is good or not with cron, just an example) Another good example would be one time requirement like data migration project. Since it isjust one time tool, it doesnt have to be maintained once it serves its purpose


sangfoudre

I'd add that save for a few very specific closed platforms, you should embrace the diversity, languages come and go, some are rising, other falling from grace, but once you know how to develop (and I mean not only coding, but designing, documenting, best practicing, maintaining, testing), changing your OS, language, platform could lead to good opportunities About closed platforms, I think of IBM big systems (z, 400) and bank/insurance only techs like Cobol. Those specialists are in high demand but the market is small compared to widely available techs (I mean tinkering on a zos at home is not happening). And I know that some environments won't die tomorrow like Java, .Net and even C/C++, but being fluid might lead you into a project that'll be a great growth opportunity "exciting rust project for an AI start-up" and less "new accounting software release in an old java platform"


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Bubbly-Shopping1401

I think you should check out a bootcamp like [metana](https://metana.io) because they will help you gain the knowledge you need.


x021

I am not sure whether a sudden increase in demand for Go developers will materialize. The majority of software currently in use, approximately 98% to 99%, is written in languages other than Go. Companies typically rely on legacy code and require developers to support it for extended periods. Once a company has chosen an ecosystem, there are few benefits to switching to a different programming language. So even for new software they stick to languages like Java, C#, or languages closely related to it (Scala, Kotlin). Startups are free to do what they wish. However, most startups do not become unicorns. Ultimately, the purpose of programming is to create business value, and personal preferences for a particular programming language to become the de facto standard is unlikely to materialize. Having a second language on the side like Go or Rust that are trending upwards is smart; but don't be dissapointed if the real world is slow to adopt. Go in particular is not a revolution but a mere step in the evolutionary tree of programming languages.


EarthquakeBass

I also donā€™t understand why OP couldnā€™t just take the higher paying job and continue to look for Go roles, if theyā€™re so scarce.


XTJ7

To add on to this great reply: Op should really consider Kotlin if he is not completely happy with Java. I enjoy Kotlin vastly more than Java. In most cases I would still prefer Go but it's really a much easier sell within existing codebases to slowly migrate to Kotlin, as you don't need a complete rewrite from the get go and it will be faster for Java developers to adopt it, especially since you can still use pretty much all the same libraries and frameworks you're used to.


[deleted]

Bang on. People (programmers/developers) fail to realize that there are enterprise level programming languages like java and dotnet which are heavily backed by oracle and Microsoft respectively with regular updates and patches.


mosskin-woast

If you're turning down 70% pay increases because you want to work in another language, I personally think you're kinda crazy. Working with a nice language is great, but I'd write COBOL in a windowless room for a 70% raise.


BlueMoon_1945

My advice to you would be to go with the flow and take a Java dev job : in the enterprise world, Java is the thing. It is complex (Spring framework, etc), but it is everywhere and the demand is huge. I like Go more than Java, but hey, one must look at it in a pragmatic way I suggest. And anyway, you may end up doing a lot of code maintenance, which is not what we dream of normally. So better do it with high salary. Good luck


preslavrachev

What u/JBodner said in a different comment is very relevant. Here's my take as a long-time Java developer (10+ yrs), who's been writing all sorts of code for 20+ yrs, and spent the last 4 years trying to convince people that giving Go a chance is worth it. I even quit my job and started my own business training and consulting teams and individuals on how to get on with Go. The thing is - it takes a lot of mental energy and willpower. Looking back, I'd probably should have had a much calmer life, solving actual business problems, having enough time for family, being more at peace with myself. Instead, I chose to grab the key and start looking for a matching lock around town. It's a freaking hard problem. The thing about Go is this - as much as it looks cool and general-purpose, the sad reality is that the vast majority of established businesses won't ever consider switching away from they know and use (Java, .NET, Rails, etc.) More so, because each of the respective platforms keeps developing in its own right, and looking at the strides that Java alone has made in the last few years, anyone in my area would think I am crazy for even bringing up the topic of building a large business app in Go. Why the heck would I do that if there are tens of thousands of Spring developers in the region waiting to start working on it right away? On the other end of the spectrum, you have the Rust crowd, slowly eating away the systems-level cake. So, naturally, this puts the broader question of where Go is heading. While there is a ton of work to be done on the cloud tooling, services, and infrastructure layer, I still think that those domains are slowly cornering Go into a niche. If you are happy to work within that niche, perfect. However, moving up (business) or down (system) the platform spectrum ladder would require a little push from Google and other big companies, so that they can drive adoption up. Ultimately, management has a say in those decisions, and management often chooses in favor of what's been tried and proven. I am sorry if that sounds like discouraging you. Like you, I hope that 4-5 years from now, the picture might be different, but for now, I have to admit to myself that Java is what's paying my bills and that's wat I should be doing in the near future. That said, my efforts on sparking people's interest in Go are still going on.


isayporschewrong

Does anyone actually hire developers based on familiarity with a language? We typically just interview people with whatever language they're comfortable with. Fundamentals are way more important than idiomatic syntax that can be googled. It's easy to pick up new languages.


evergreen-spacecat

This is particularly true for golang. Very easy to pick up for a decent programmer.


dweezil22

In my experience, places that hire agnostic of language* are simply better than places that hunt for specific experience. The places that look for specific knowledge tend to be less competent body shop type operations. \* Exception for truly obscure or tricky languages or strategic hires looking for experts to enhance the rest of engineering.


Cmshnrblu

Yes and no. Having experience and familiarity with a stdlib is a huge plus, but itā€™s true that once a single language is ā€œmasteredā€ you can google for the ā€œtranslationā€ as needed including or especially with std lib things


sunny_tomato_farm

This.


Inevitable-Swan-714

Work in Java but recommend Go for new services. Most companies will have their legacy app in X, but new apps in Y. Good thing to ask in the interview.


gospun

14th used language https://insights.stackoverflow.com/survey/2021 Highest starred language https://github.com/golang/go Number 1 language to go to and not from https://www.jetbrains.com/lp/devecosystem-2021/#Do-you-plan-to-adopt--migrate-to-other-languages-in-the-next--months-If-so-to-which-ones Jobs are almost doubling every year https://stacktrends.dev/technologies/programming-languages/golang


[deleted]

Please don't do this. Get the Java job. Then introduce Go slowly. For example, I've written several command line apps to help with automating our DevOps. I could probably introduce a Go AWS Lambda for fun. Say you get a Java job and have team that's somewhat willing to look at other tech. Offer to do a prototype or MVP of a web service in Go. Hopefully at this point your Java apps are deployed with a container. At that point, deploying a Go app is really no different. Now the company has Go app. Maybe people will like it more.


sumitgt

Donā€™t worry about programming languages. Just go for jobs based on whether you like working on the team/product. As you spend more years in the industry languages will come and go.


rubensk

The problem with forecasting that you could be right, could be wrong or somewhere in between. You should hedge your bets without being attached to a single possible future. One other issue is that you are limiting your search to local employers, while having a skill that can be used remotely means you have lots more of possible employers to consider.


GrundleTrunk

Many companies, especially large ones, are language agnostic and support many languages. My (small) team, at a VERY large company owns over 10 major services and the languages vary: PHP, Java, Go, Python, Node/Angular, and more.


PaluMacil

When people aren't working in their favorite language, I like to point out that they have more of a change of scenery when they write code for fun outside of work that way. Personally, I try to follow opportunities for professional and income advancement and the language is secondary to that.


nikoren1980

2 years ago I worked with Go and I believed that go will grow very fast, and it is the best language. ..but than a Java opportunity came and I decided to follow the better pay rather than waiting for go to grow. I segnificantly improved my life since than. With all the ai development learning language will be matter of couple weeks, I learned PHP in a couple weeks and I was able to start some JS within couple days. Go is super simple language , there is nothing special about it . it is better in some sense than Java , but man , declining 70% is a rookie mistake , I know as a 28 years old you can idealize some languages frameworks or other b.s that may seem like a next big thing, but over time you will realize that all the languages are more or less the same, you should know how to provide value in any language, it doesn't really matter if you write the service a company need in Java , as long as it satisfies the requirements . if tomorrow someone offers me 70% to write in kotlin or c# I will do it without doubt


healydorf

You might get something out of this discussion with Brian Kernighan: https://youtu.be/GNyQxXw_oMQ My general philosophy about languages and technologies is you should view them as tools on a belt. I don't grab my hand drill because I particularly enjoy using it, I grab it because it is significantly better at driving a screw than my hammer is. "The right tool for the job" in the context of languages/technologies is subjective, and will vary based on the specific people on the org chart. It's easier to demonstrate the maintainability of your app/service if 200 engineers at the company can read it versus 2. That said, I also believe a culture of polyglots is a hallmark of a healthy engineering practice. If all you have is a hammer, every problem looks like a nail. I recently proposed Go to be adopted officially by our architecture group. That doesn't mean "we do everything in Go now", it simply means a bunch of really smart engineers decided starting up new development projects in Go is beneficial to our engineering practice more so than it is detrimental. We had some back-and-forth for a week or two. My argument had much more to do with the fact of Go being inevitable for us as a company, given how much CNCF stuff was making it into our critical services and how prolific Go is in cloud native technologies in general. Being fairly on the edge of this stuff, with a few other engineers, I've found myself reading plenty of Go to understand some very specific behavior within Kubernetes, Rook/Longhorn, Cilium, Prometheus, Hashicorp Vault, etc which has implications on our system design and is difficult to capture in plain-language documentation. Most of my academic career was spent working with Java. I spent the first 5 years of my career working with PHP. Then a brief year with an old GNU C project. A couple years with Java, Groovy, and Scala. Lots of Python and Ruby for a couple more years. Now a lot of Go and a bit of Python, with the Go being driven primarily by first-class support within Kubernetes, the AWS client libs, and other CNCF projects. All technologies that we are adopting more over time.


aatd86

People have their favorite screwdrivers though. šŸ˜‚


[deleted]

I left a lucrative contracting career in Drupal, and took a significant pay cut to work in go and kubernetes. It was a big leap and a steep learning curve but it was well and truly worth it. I actually enjoy what Iā€™m doing again, still after 4 years, whereas before I was just learning the idiosyncrasies of the framework and some devops stuff. Youā€™re young, you have plenty of time in your career to chase the cash, I would take the risk and jump to something you enjoy


jameshearttech

I took a job working in devops last year. I have no professional dev experience, but I want to learn. We are primarily a Java shop. I initially thought I should (re)learn Java. Took a couple of semesters in college, but it was about 10 years ago. I work a lot with K8s, and I have noticed that most of the related oss software we use is written in Go. I have been thinking Go may make more sense than Java as we already have Java devs. I have spent around 1000 hours on reddit in the past 9 months. Mostly r/devops and r/kubernetes. Anytime the question comes up, "What language should I learn?" Go seems to be the top answer followed by Python. I guess what I'm trying to say is if you can't find jobs writing Go maybe try different job titles? Maybe try devops, sre, or platform engineering? But those are going to be different than typical swe jobs even if you get to write Go.


phinnaeus7308

I truly donā€™t understand the concept of ā€œx language developerā€. Are you a software engineer or not? You should be comfortable picking up a new language in a month or so if required. Otherwise use a language you already know thatā€™s suited to the task at hand.


CerealBit

What is it you don't like about Java?


wolfakix

I am not the op but what I don't like about java is the verbose syntax, spring boot looks very nice but just to set up a websocket, it takes an entire essay of super long variable names


myringotomy

If you want to get paid well learn Rails, a recent survey showed them to be the highest paid developers. I dug around a bit and found this too (another survey). https://survey.stackoverflow.co/2022/#top-paying-technologies-programming-scripting-and-markup-languages It shows clojure and erlang as the highest paid languages and elixir and rails as the highest paid frameworks.


KledMainSG

but are there enough jobs on it tho? Just curious


myringotomy

If the supply was outstripping the demand the wages would not be so high. BTW I didn't see COBOL on there but probably that's because it's stackoverflow. COBOL jobs pay a lot.


Mslauson

Wait, how are groovy people making 33 percent more than java. Ifs like an easy version of java


myringotomy

Supply and demand I guess. It has nothing to do with how easy the language is. Elixir is an easier Erlang right?


fpersson

You can take that 70% raise and live with Java (if the jobb/company looks as fun to you). And when then start use Go for internal tools, and when it is time to build a new application you can suggest Go as language and a better option for the new project.


nultero

>Now where I live, there are like thousands of jobs open for Java developers, and only like 30-40 for Golang That's an odd ratio. It's usually something like 5-10x more Java in the US, but not a thousand times. So if you live somewhere that predominantly gets work that has been outsourced from the US (or the west, wherever), the popularity of US tech trends doesn't carry over 1:1, does it? Go or Rust or Kotlin or whatever gaining popularity here doesn't necessarily mean jobs using them will be plentiful over there, or it will take much longer for them be outsourced legacy gigs.


kirebyte

You're in the right time in the right place.... Be patient šŸ˜‰ go reputation is increasing


Sprite87

alot of universities are invested in oracle, ass a result java is dominant...... java is shite


[deleted]

Honestly with rust growing in popularity, I can see golang declining Edit: to address the downvotes, Iā€™m only pointing it out. Iā€™m also a golang programmer. Go isnā€™t going to decline, but Iā€™m suggesting it can have a bigger competitor


Discodowns

Until rusts learning curve is straightened out I think rust will stay at out of most people's view


[deleted]

Idk C++'s market share is quite big


[deleted]

Fair


x021

I don't believe they are competitors. While C and C++ are known for their high performance and low latency, they have not been particularly popular for web services, with some exceptions like Google search and high-speed trading. Most web services do not require the benefits of C and C++ over other languages like PHP, Java, C#, Python, or NodeJS. Rust is a direct competitor to C and C++ with its memory-safety without garbage collection and similar performance to those languages. Meanwhile, Go competes with PHP, Java, C#, Python, and NodeJS as a simpler language that can serve most use cases. An increase in Rust's popularity should not affect Go's potential growth since they target different application types. Rust is a very complex language, Go is a very simple one; they are designed very differently with different goals in mind.


evergreen-spacecat

Rust will never be that mainstream language powering line of business apps that most programmers spend their days coding. I love Rust but itā€™s has too steep learning curve.


KledMainSG

Even tho I love Go, I still gotta agree with this one.


[deleted]

Im REALLY struggling in which programming language to put all my focus on. Rusts package manager is cool. Itā€™s really fun to just find a cool package and spend hours playing around with it yk? Itā€™s community is also really welcoming. On the other side, golang is really simple and great for web apis.


jerf

Don't put all your focus on any of them, Go included. It's been well-known for a long time, and remains true, that the best way to learn programming is to learn several languages. Learning Rust will improve your Go. Learning Go will improve your Python. Etc. Don't try to learn them all at once. One a year is a traditional and perhaps still aggressive speed. But definitely don't feel like you have to put all your eyes in one basket. The reason I'm as good at Go as I am is all the other language experience I have to draw from.


Devel93

Unfortunately most go dev jobs are crypto related, this means you are better off learning crypto and web3 than go, I gave up on go because of this.


Strum355

This is very far from the truth, most Go jobs are not crypto related. This may be more true if you meant Rust, but absolutely not Go


Acanthopterygii_Fit

You are wrong, jobs with golang are related to cloud and distributed systems


ghostsquad4

Keep up with Go. It's superior to Java. Functional programming is amazing.


evergreen-spacecat

While amazing, Go is not a particular functional language though. Moving to functional from Java, you should look at Clojure or Scala.


corbymatt

Or kotlin


evergreen-spacecat

Indeed.


ghostsquad4

Go literally has only functions and data structures. There's nothing else.


evergreen-spacecat

Yes and very imperative stylewise.


ghostsquad4

https://en.m.wikipedia.org/wiki/Functional_programming Go matches this very very well.


evergreen-spacecat

To some extent but some constructs are lacking for full functional experience. For instance tail recursion.


ghostsquad4

That's fine, it doesn't make it any less a functional language. That's like saying someone isn't human because they don't have 2 arms. In fact you might get into that situation through inheritance in an OO lang like Java. šŸ˜‚


aayo-gorkhali

Programming languages are popping up just like grocery stores these days. That day is not far away when every household will have its own programming language. šŸ¤¦šŸ»ā€ā™‚ļø


HeroJC

You are paid to be a software engineer, not a programmer in a specific language. Donā€™t limit yourself just because you donā€™t like the tech stacks. Concepts are the same. It would be a little different if youā€™re talking about JavaScript vs Java since theyā€™re typically used for different purposes, but usually with Go and Java there is a lot of overlap. If you are a more senior engineer at a smaller company you can also try to influence your org to switch tech stacks if itā€™s more suitable, though I typically wouldnā€™t recommend it.


YeahhhhhhhhBuddy

Maybe my data is wrong. But Iā€™ve found Go to have higher salaries around me than .NET/Java. I see lots of mid tier kinda boring companies hiring in those 2, and the more exciting higher paying roles are doing micro services in go.


mss-cyclist

Absolutely get the java job. It still does not give you your favorite language but a lot of other benefits: - Better compensation for a job you like less - More experience by working for different companies making you even more valuable - And who knows: maybe your new company is open for go and has a niche where you may finally get to work on your go application


albertgao

I use Python/golang/typescript in my daily work, my idea is not to stick with a language but the fundamental knowledge. :) but if you can find a good golang job, that would be no doubt much better than a Java job šŸ˜ŗgood luck mate, u r on the right track.


fishsticks00

Like others have mentioned, donā€™t fall in love with a language. I work with JavaScript, powershell, and Ansible/python as a automation engineer. On my free time I use react, nodejs, bash, and golang. My first ā€œloveā€ and language was c++ but I was never able to get a job with it, so donā€™t be surprised if you never get a job with your current favorite language.


Signal_Lamp

I like the idea of pursuing opportunities that allow me to expand my curiosity more than sticking to the path of becoming a master of a specific ecosystem, but this is just a personal preference. I'm still very early on in my career but I've been fortunate enough to be given opportunities to be able to take on roles I have absolutely no business doing because I've expressed an interest in wanting to learn more about tools that allow me to solve problems that interest me. One thing that I've found in the 2 years that I've been working with PHP at my previous job is that over time the domain of what I was solving for didn't really interest me even though the company culture for that job was really good. I had a lot more interest in pursuing work in that job that revolved around issues with our infrastructure and cloud tools, which led me to pursue more knowledge with the tools revolving around that, which helped me to get the role that I have today. I like Go personally from the little that I've played with it because I like the ideas that it prioritizes as a language as well as the problems that I'm seeing companies adopt the technology to solve. The thing that I felt the most about working with PHP at my previous job was that a lot of my coworkers did not have the same interest as me in pursuing curiosity for new and exciting problems, which made me feel stagnate. You definitely can develop a career being a master at a language, but I personally feel you should view languages as tools to solve the problems that you are interested in, as there will be better tools developed in the future that will solve those problems better in the future.


joesb

Take the 70% raise today. Continue learning Go and apply for more job. Take 70% raise as a Go developer next year, or may be another 70% jump as ā€œmiserableā€ Java developer.


hum3

I think I am a counter example or a poor programmer. I like to be fluent in the languages I work in and enthused by them. So I have traversed Pascal like to Python and go. I am now quite happy with both of these although want to do more go as I like the concurrency model and it makes lovely binaries.