|
Keetron posted:My favorite vendor API thing was with a vendor that kept pointing to the docs when I had questions so when I found a difference in behavior between the API and the specs and pointed that out, they said nothing but without warning changed the API a week or three later. gently caress everyone who integrated with the actual instead of the documented use, I guess? That’s fine to a degree, you need a spec and it’s better to be the docs than the implementation. It’s all too levels of webdev poo poo to have “examples” as docs and completely undefined implementation with different behaviour on each set of api calls.
|
# ? Jan 18, 2020 17:27 |
|
|
# ? May 27, 2024 03:20 |
|
Keetron posted:and then this one time, at a big bank, the only status codes send out by the core insurance application API was 200 and 500, the second with the message "Internal server error". When asking for a bit more information in the response, I was told that it was not allowed for reasons of security and compliance. I then learned that in bank language this means "gently caress off". 500 Internal server error , is this...SIP?
|
# ? Jan 18, 2020 21:41 |
|
How do you go about picking a language/language(s) to pursue for your next job? I've been doing development for like 10 years and the bulk of my experience is in Java. At my current job I'm basically only doing Ruby and some frontend JS stuff (React or a trashfire of CoffeScript and Backbone depending on the project). I had a Java + Python shop reach out for an interview, so I went to practice my Java a bit and...I think I hate it now? If I had to do JVM dev again I'd really prefer to do Kotlin but there appear to be almost no non-android Kotlin jobs in the US. Ruby has been pleasant enough but I get the vibe from the community that it's on the decline, though there still seem to be a lot of ruby/rails job postings.
|
# ? Jan 18, 2020 22:43 |
|
ErikTheRed posted:How do you go about picking a language/language(s) to pursue for your next job? don't. persue good workplaces with quality coworkers. the language you use (with very few exceptions, like you invented ruby or you're a type theory phd) is one of the least important factors in job satisfaction
|
# ? Jan 18, 2020 22:49 |
|
the talent deficit posted:don't. This is correct advice.
|
# ? Jan 18, 2020 22:57 |
|
That's a fair point, in the past teammates and managers tended to have the most impact on how good/bad the jobs were.
|
# ? Jan 18, 2020 23:33 |
|
At the same time, you should study languages that you're interested in. If none come to mind, pick something that's different from what you've already done. Even if you don't use it on the job, the experience of thinking about programming in a different way will be helpful.
|
# ? Jan 18, 2020 23:34 |
|
the talent deficit posted:don't. I haven't seen any places that would consider people without X years of experience in their specific language of choice though. Yeah, programming is a skill and the languge is just a way of applying that. But most employers don't see it that way.
|
# ? Jan 19, 2020 07:00 |
|
The above is all kinda true but to add to that: I can strongly suggest learning a less popular language. Java and Python are huge and nowadays nearly everyone learning software dev in school knows these languages. So all those people who don't really like programming but do it because it gets them a decent salary, they stick to Java/Python for the rest of their lives. Some move to Kotlin because it's Java with less boilerplate. But that's about it. If you look up Java stuff on the internet you can find an answer to any question you might have - but it's much harder to find people who are really passionate about the language. It's nothing to be passionate about, because it's just a fact of life. People who really like programming, who want to know more, who are dedicated to help out the community, tend to go on and learn other, smaller languages. In my case that was Scala. Still jvm-compatible but quite a bit further away from Java than Kotlin is. It's those who like programming, those who are passionate about learning more, about teaching the language, about improving the programming community, who tend to end up in those less-popular languages. On top of that, a company who chooses Java does so because everyone else does. A company who chooses Scala or whatever does this from a conscious developer-backed decision. It means it's more likely that developers actually have a say in the day-to-day of the company. As an example of what I mean, consider ScalaBridge. It's a worldwide volunteer organisation that teaches programming (using a Scala course) to underrepresented groups in software development for free, to give them a chance to enter the market and increase diversity in the field. ScalaBridge isn't the only Bridge organisation, there's ones for Ruby, Clojure, Go, Elixir, Elm, and Rust as well. They all teach underrepresented people programming in their own favorite language. But there aren't any Bridges for Java or C# or Python. I really believe this is because the people doing Java etc. aren't as dedicated to programming in general, simply because it's too common of a language. So, do you want to stay safe in the big popular languages and is programming just a job for you? Java, C#, Python. Are you actually passionate about programming and do you want to meet communities who are willing to help you expand your horizons? Any of the less popular languages.
|
# ? Jan 19, 2020 09:25 |
|
Pick the subject that you’re interested in working on, then learn the tools and languages commonly used by that subject. Also Scala specifically is at a dead end - only used by projects that were founded during the brief period when it was fashionable - so 2013-2015 or so. It was a cool experiment but other languages (including Java itself) now do what Scala tried to do, better.
|
# ? Jan 19, 2020 10:03 |
|
Progressive JPEG posted:Pick the subject that you’re interested in working on, then learn the tools and languages commonly used by that subject. Java is still trying to catch up to Scala and still failing. The other day I saw people on Twitter cheering about some feature in the upcoming Java 14 that has been in Scala for ages. And whenever Java does it they have to make it backwards compatible which usually leads to ugly syntax. Implementing monadic structures in Java is a bitch. Scala is in active development, Scala 3 / Dotty is nearing release. There are a huge amount of actively developed libraries and applications written in and for Scala, such as Apache Kafka, Akka HTTP, Streams and Actors, the Play framework and so on. The market percentage of Scala grows year to year and the yearly things that make graphs of the most popular languages according to programmers show Scala users are some of the coders who give the highest ratings to their language. I'm actually a bit afraid that Scala will cross a line soonish where it becomes commonplace enough that its community loses a bit of the passion and excitement.
|
# ? Jan 19, 2020 10:28 |
|
Hi, it is me, a developer who went into the industry because it seemed like a decent living and picked Java because it was popular and thus signaled employability to me. For this reason I also quickly went to use Spring Boot as the systems architecture of microservices appeals to me and there was a ton of demand. After using java for a while I wanted to do a few things and got annoyed by the java verbosity so now I mostly do Kotlin, for which I can see demand picking up. Things I love about the JVM ecosystem is that just about every question has been asked and many problems are solved so I can stand on the shoulders of giants and see very far. Things I really dislike is that there are so many people who barely can code (which was me for a while as well!), that almost every application I encounter has really weird anti-patterns that just hurt my brain. These patterns just signal a lack of understanding from the writers (again, as did I and still do in a lot of aspects) but they are the people you have to work with regularly. My understanding is that Go will be the next best thing or already is. I will stick with Java / Kotlin for a while and learn JS/React so I can make the backend available to the enduser through a basic FE. As an independent contractor, employability is important. For me as a person it is important people pay me good money to come into the office and solve their puzzles for them by touching the computer in magic ways and I will ride this gig out till the end, it is just to good.
|
# ? Jan 19, 2020 10:59 |
|
Scala is terrible to the point I'd rather work in a Java shop.
|
# ? Jan 19, 2020 11:01 |
|
Kafka only uses Scala for the broker itself, while the client libraries are Java since that’s what the rest of the world uses. In the meantime the more recent features in the Kafka ecosystem like ksql and Schema Registry are all written in Java, leaving only the original broker itself implemented in a mix of Scala and Java as a historic artifact. Akka/Play framework was last relevant in 2016 or so? I honestly haven’t heard a thing about it since around then. Meanwhile it looks like Lightbend last took funding in 2017 so they’re probably due to re-up, get bought out, or close shop soon. This is exactly what I mean - Scala was used during a brief interval when it was trendy but has turned out to be a flash in the pan. Other languages have adopted the good parts of Scala, while skipping the bad parts like type incompatibility and painful tooling. As a result there isn’t any reason to use Scala anymore outside of legacy code from the period when Scala was perceived as the next big thing. And this is the exception that proves the rule: don’t pick languages in isolation, instead pick an interesting subject matter and learn the languages and tools that are being used to do that.
|
# ? Jan 19, 2020 11:30 |
|
Carbon dioxide posted:Java is still trying to catch up to Scala and still failing. The other day I saw people on Twitter cheering about some feature in the upcoming Java 14 that has been in Scala for ages. And whenever Java does it they have to make it backwards compatible which usually leads to ugly syntax. Implementing monadic structures in Java is a bitch. And scala can't even stay compatible between minor versions (i.e. 2.10 to 2.11) so I'm looking forward to the fun that scala3 will be.
|
# ? Jan 19, 2020 11:30 |
|
I don't know what your folks are talking about, all these projects are still in active development and used by a lot of projects. Are you saying I also shouldn't use Java libraries where version 1 was released in 2015 and that are still in active development because they were first thought of long ago? Yes, the version incompatibilities are a hassle but it's usually not that bad for minor version upgrades and it certainly beats still being stuck to syntax from 20 years ago because Java has decided to be backwards compatible forever (also it isn't, really, but when Java is backwards incompatible it's subtle and you usually only find out at runtime when something breaks). For Scala 3 the switchover is gonna be large, I just hope the migration tooling and documentation they're already writing will help us a lot.
|
# ? Jan 19, 2020 11:46 |
|
Progressive JPEG posted:Kafka only uses Scala for the broker itself, while the client libraries are Java since that’s what the rest of the world uses. In the meantime the more recent features in the Kafka ecosystem like ksql and Schema Registry are all written in Java, leaving only the original broker itself implemented in a mix of Scala and Java as a historic artifact. I've played around with Kafka and Kafka Streams in Clojure, just using Java Interop to use the Kafka libraries directly, and it's been quite nice. I wouldn't mind a LISP job more generally, but most Clojure jobs I see are in writing e-commerce and web microservices, which I care little about. I'm actually still surprised how much of data integration and data science settled on Python, given its lovely threading model, typing model, and mutability.
|
# ? Jan 19, 2020 11:50 |
|
Carbon dioxide posted:I don't know what your folks are talking about, all these projects are still in active development and used by a lot of projects. I hope that Scala 3 will be good, but at this point it feels like most momentum is lost and people don't really care. If, like you, you're in the middle of the Scala community this is probably different since everyone's excited. Outside of the community nobody cares anymore.
|
# ? Jan 19, 2020 13:50 |
|
Hollow Talk posted:I've played around with Kafka and Kafka Streams in Clojure, just using Java Interop to use the Kafka libraries directly, and it's been quite nice. I have a suspicion it was numpy and matplotlib early on and that was pretty much all she wrote
|
# ? Jan 19, 2020 14:07 |
|
Carbon dioxide posted:A company who chooses Scala or whatever does this from a conscious developer-backed decision. It means it's more likely that developers actually have a say in the day-to-day of the company. A company that chooses Scala effectively signals that they want to either have a perpetual hiring problem or get bent over a barrel for comp. Semi-esolang selection is job security, not principle.
|
# ? Jan 19, 2020 14:31 |
|
Carbon dioxide posted:A company who chooses Scala or whatever does this from a conscious developer-backed decision. It means it's more likely that developers actually have a say in the day-to-day of the company. It's also just as likely the company is run by some senior dev who's been there forever and insists on everyone using whatever his current pet language is instead of the best one for the job.
|
# ? Jan 19, 2020 14:59 |
|
Carbon dioxide posted:Scala is love. Scala is life. Hello, passionate developer here, I'd be happy to learn another language and have done so when necessary, but as an Android developer who's been stuck on legacy projects for a while now I've been doing Java all day and I'm just too drained after work from other commitments like Having A Life to spend my time out of work ducking around with other languages. Having children reduced my spare time programming to ~0, so I haven't had an opportunity to play around with other things outside of work. I'm glad that you think that Scala is Turbo Keen and all but please don't think that anyone who still uses Java is a mouth breathing moron, some of us just have other priorities than evangelizing.
|
# ? Jan 19, 2020 17:52 |
|
Volmarias posted:Putting words in my mouth Let me just say that I barely spend any time at all outside of working hours programming or learning to program or whatever. I learned Java in univ and everything else was learned on the job.
|
# ? Jan 19, 2020 18:05 |
|
Carbon dioxide posted:As an example of what I mean, consider ScalaBridge. It's a worldwide volunteer organisation that teaches programming (using a Scala course) to underrepresented groups in software development for free, to give them a chance to enter the market and increase diversity in the field. ScalaBridge isn't the only Bridge organisation, there's ones for Ruby, Clojure, Go, Elixir, Elm, and Rust as well. They all teach underrepresented people programming in their own favorite language. But there aren't any Bridges for Java or C# or Python. I really believe this is because the people doing Java etc. aren't as dedicated to programming in general, simply because it's too common of a language. Holy poo poo this is funny.
|
# ? Jan 19, 2020 23:56 |
|
Hi everybody, If you're at a Java shop or, God forbid, a Groovy shop, convince your coworkers to switch to Kotlin. It'll make life better for all of us. Love, Colin, who is the only developer in his department and is slowly throwing away piles of lovely Groovy/Grails code and replacing them with Kotlin+Spring Boot
|
# ? Jan 20, 2020 00:17 |
|
you can objectively compare how passionate developers are simply by comparing the esoteric-ness of the languages in their cv
|
# ? Jan 20, 2020 01:26 |
|
Also how estranged their family is. The more abandonment issues the kids have, the closer the dev is to 10x
|
# ? Jan 20, 2020 01:50 |
|
I'm not 100% sure I agree with it, but The Python Paradox (2004) raises some interesting points.
|
# ? Jan 20, 2020 01:52 |
|
Gildiss posted:I haven't seen any places that would consider people without X years of experience in their specific language of choice though. i didn't say don't learn new skills. just don't start with your favorite language and seek employment based primarily on that
|
# ? Jan 20, 2020 02:00 |
|
I'm not really sure why people are so focused on languages. Languages are a means to an end. I am honestly interested on why you are so focused on languages. I myself am a JavaScript engineer who has been using Java 11 and React for the past year. It works, it is fine, and I solve interesting problems. I am less concerned with the idiosyncracies of the language and more with the problems I am trying to solve.
|
# ? Jan 20, 2020 03:44 |
|
Yeah, but people are always gonna get passionate about their tools. It's true in jobs, in all industries. And it's fun.
|
# ? Jan 20, 2020 03:48 |
|
There's a certain point in a computer-toucher's career where they stop considering themselves as knowing language x and start considering themselves as knowing how to program. After that point, languages only are important with respect to their effect on a career, how painful they are to work with (usually this isn't much of a problem), and the level of interest in whatever domain they specialize in, if such exists. Before that point, though, knowing particular languages seems important
|
# ? Jan 20, 2020 03:57 |
|
Languages are useful in that they can be built in such a way that make certain kinds of programming mistakes more difficult to make.
|
# ? Jan 20, 2020 04:05 |
|
If your current familiarity with a company's chosen language is a significant factor in their hiring decision it means they don't want to give you the time to learn and that is definitely a warning flag to me.
|
# ? Jan 20, 2020 06:16 |
|
ultrafilter posted:I'm not 100% sure I agree with it, but The Python Paradox (2004) raises some interesting points. Not really. The key points: quote:Hence what, for lack of a better name, I'll call the Python paradox: if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. And for programmers the paradox is even more pronounced: the language to learn, if you want to get a good job, is a language that people don't learn merely to get a job. This is, well, myopic on both sides. First: to be blunt, hiring better programmers is not usually the primary goal of a company, as compared to a research think tank or something. The primary goal is typically to make money. The secondary goal then is to produce software that will make money. The tertiary goal is to hire progammers than can produce that software. ...put another way: you don't need to hire 10X programmers to janitor your signup form and your internationalization. Second: what makes a job good or bad is, over time, how much of an rear end in a top hat your coworkers are and how unreasonably demanding your clients (internal or external) are. This has little to do with how smart your coworkers are past a certain point.
|
# ? Jan 20, 2020 06:19 |
|
captkirk posted:If your current familiarity with a company's chosen language is a significant factor in their hiring decision it means they don't want to give you the time to learn and that is definitely a warning flag to me. Indeed. ulmont posted:First: to be blunt, hiring better programmers is not usually the primary goal of a company, as compared to a research think tank or something. [...] you don't need to hire 10X programmers to janitor your signup form and your internationalization. So, that changes the question to, do you wish to work for a company that asks you to do 'janitoral' programming as you call it, or a company that is exploring new fields and asks their programmers to investigate solutions to unsolved problems.
|
# ? Jan 20, 2020 07:49 |
|
I'll take the one that pays me promptly and handsomely, thanks.captkirk posted:If your current familiarity with a company's chosen language is a significant factor in their hiring decision it means they don't want to give you the time to learn and that is definitely a warning flag to me. Strange how they would want you to be effective as soon as possible rather than taking months to, maybe, get up to speed, especially when there are other candidates waiting in the wings. Achmed Jones posted:There's a certain point in a computer-toucher's career where they stop considering themselves as knowing language x and start considering themselves as knowing how to program. After that point, languages only are important with respect to their effect on a career, how painful they are to work with (usually this isn't much of a problem), and the level of interest in whatever domain they specialize in, if such exists. The language is a means to an end to get your foot in the door. If you're a competent developer you can learn whatever language you'll need to.
|
# ? Jan 20, 2020 07:56 |
|
Volmarias posted:
Every employee has spin up time, they're learning the tooling, the code base, company process, company code patterns and style, who on the team knows what, etc. Learning a new language is a fairly small part of that for most people beyond entry level. If a company is trying to optimize for minimal spin up time too much I consider that a warning sign because it points towards planning and scaling issues or just bad culture.
|
# ? Jan 20, 2020 08:45 |
|
Carbon dioxide posted:So, that changes the question to, do you wish to work for a company that asks you to do 'janitoral' programming as you call it, or a company that is exploring new fields and asks their programmers to investigate solutions to unsolved problems. I prefer stable, established companies that produce software as their primary source of revenue, which tends to mean they have non-insulting amounts of money they're willing to direct towards their developers. It also tends to mean that I work most often on existing code bases, many of which are shall we say extremely legacy. Sometimes the business people will ask me to add or change some poo poo that is very basic, which sure could be classified as janitorial. Other times the business people will ask me to add or change some poo poo that looks very basic but actually requires I do a ton of investigation, careful refactoring and modification, and sometimes advise against the change in favor of something completely different. I enjoy it quite a bit, though I don't fault anyone for preferring green field over brown. I don't want to work for a corporate CRUD factory whose revenue isn't directly tied to the software I produce, because that's not quite so fulfilling. And while the prospect of working on something brand new nobody's ever solved might sound exciting on its face, it also sounds a lot less stable, and for me this is a job, a means to a life outside of work, so as long as they're still paying well, I'll choose the stability.
|
# ? Jan 20, 2020 12:37 |
|
|
# ? May 27, 2024 03:20 |
|
captkirk posted:Every employee has spin up time, they're learning the tooling, the code base, company process, company code patterns and style, who on the team knows what, etc. Learning a new language is a fairly small part of that for most people beyond entry level. If a company is trying to optimize for minimal spin up time too much I consider that a warning sign because it points towards planning and scaling issues or just bad culture. OTOH my experience says that going from "this person writes Python and JS" to "this person can now write C++ without his team tearing their hair out during code review" is pretty long road.
|
# ? Jan 20, 2020 13:24 |