HN user

critium

138 karma
Posts1
Comments54
View on HN

Disney | Senior Software Engineer, Backend | ONSITE, NYC | Full Time The Subscriptions team is looking to expand our team in the NYC office. We are a dynamic team of engineers that support all your Disney, ESPN and Hulu subscriptions at scale! We solve problems at internet-scale that only a handful of teams ever reach.

* FP Scala is our main programming language. Apply if you have FP experience - we consider other language backgrounds but if you have FP experience, you will be strongly considered.

* Strong collaborator - this team is very social and we keep each other honest.

* Passion in maintaining high code quality.

* AI Enabled but not dependent.

* Our backends are global scale built on AWS and K8S.

If you are comfortable with these technologies, please apply below!

https://www.disneycareers.com/en/job/new-york/senior-softwar...

Disney | Senior Software Engineer, Backend | ONSITE, NYC | Full Time

The Subscriptions team is looking to expand our team in the NYC office. We are a dynamic team of engineers that support all your Disney, ESPN and Hulu subscriptions at scale! We solve problems at internet-scale that only a handful of teams ever reach.

* FP Scala is our main programming language. Apply if you have FP experience - we consider other language backgrounds coming in but you will be doing FP Scala, so expect an FP style interview.

* Strong collaborator - this team is very social and we keep each other honest.

* Passion in maintaining high code quality.

* AI Enabled but not dependent.

* Our backends are global scale built on AWS and K8S.

If you are comfortable with these technologies, please apply!

https://www.disneycareers.com/en/job/new-york/senior-softwar...

From the Article

>> A top U.S. Justice Department official, Makan Delrahim, praised the deal as being carefully sculpted to avoid antitrust concerns, signaling federal regulators were unlikely to block it. That stance is all the more notable given his continued efforts to kill on antitrust grounds the AT&T acquisition of Time Warner, a combination of a telecoms giant and an entertainment powerhouse that have little overlapping commerce. The Justice Department is appealing a judge's ruling that swept aside all objections to the AT&T/Time Warner merger.

Im curious as to how he's using vim + ensime. I've been trying off and on for the last 2 years to figure out a good workflow using ensime but i typically end up just turning it off after a few days. EnType only works for me when its completely obvious. EnImport seems kind of useless. After these 2, i just give up, tbh.

Still, I wont give up my text editor :) Any emacs folk like to comment on its usefulness? Its seems more fully implemented there.

this reminds me of the post about the jvm code cache a few days ago where if they had left the jvm to optimize the code cache by itself, the would not have ended up with the problem situation where the had to spend time to figure it out their optimization was the cause of the problem.

-- sorry for the run on sentence.

My posit was that 80% of the software an engineer will write will not require optimization and based on the responses i've been getting I should have used "rule of thumb" vs mantra. My intention was to warn the ones that read this and say, oh i gotta do all of this for every piece of software that I write, which will undoubtedly lead to overly complex code when a simple solution would have worked just as well.

  "Know your performance goals going in and code accordingly."
I this is key sentence here and its worth repeating. Know your performance goals before your fingers touch the keyboard.

absolutely agree with your last sentence. But thats not a majority of software written in my experience.

  "If you really need *high performance*, you need to design for high performance, not just leave it as an afterthought." 
Emphasis, mine.

While this article is itself worth a read, remember the programming mantra:

  * Make it Work
  * Make it Right
  * Make it Fast
And this is the last step. While this does not apply to all projects but it does apply to the majority.

I would add to the list;

* If you have transactions, keep your transactions to a single machine/instance/db as much as possible. Muti-machine or software transactions are the LAST solution you should try.

* Pay attention to payload sizes. Make sure you dont come close to saturating the network. Which leads to weird "app is slow" problems.

* Design for testability and diagnosability of production systems. If this is java, use JMX extensions EVERYWHERE for EVERYTHING.

* Time (and timing) is your enemy. Make it your friend.

EDIT: Side note. IMO, JMX extensions are one of the most under-appreciated things that java and jvm devs have but keep forgetting about but its so powerful.

While I agree deeply nested calls are bad, I've also had the pleasure of inheriting a an application with several, muti-thousand line functions and those are not fun either.

In code as in life, all in moderation.

I suspect the bugs like this come about because of a patch not because of the original development. Devs and dev teams tend to get sloppy after the first push and budgets tend to shrink dramatically.

One time I found a bug that was running for a few years and the result of it was the company was under reporting by millions of dollars per quarter (the running total was near to $100mm, and im sure it crossed it after my contract ended).

This was VERY well tested software in the beginning (one of the best test suites i've seen actually) and audited up to high heaven. The problem started when the patches rolled in and those, are not tested anywhere near as much.

I have a somewhat similar stance as the author, though not remotely as strong. Its a combination of not wanting to add to the military machine but also not wanting my work to be _tainted_.

Scala School 10 years ago

I've taught scala to several devs as well and I'd like to echo that the course on coursera is absolutely essential.

On a separate note, I leared scala and clojure nearly at the same time and I'd say that learning clojure actually helped me grow in scala as well.

edit: Reply fail. This was a response to hythloday -----

Torque does code-gen as well. This was before any fancy tools so we basically just had hand generated DDL.

https://db.apache.org/torque/torque-4.0/documentation/orm-re...

Regen, then fix compile issues. Thats how I used it a long long (10 years?) time ago.

jOOQ DSL is nice, this is just as readable(ABC is a generated class)

  Criteria crit = new Criteria()
    .where(ABC.A, 1, Criteria.LESS_THAN)
    .and(ABC.B, 2, Criteria.GREATER_THAN)
    .or(ABC.A, 5, Criteria.GREATER_THAN);
Working with XML, not the nicest thing, i do agree, but also not the worst thing.

Not a flag-bearer in any way, but I just wanted to point out that if code-gen db access is your thing, there are also other tools to consider. It most certainly had its warts. Like issues handling complicated joins. Or more seriously, whos maintaining it. Its been a long time since i've look at it with any seriousness, not sure if they have fixed them or not.

edit: formatting

Sorry if I did too much TL;DR but this reads very much like Apache Torque, which has been around for a very loooooooong time.

https://db.apache.org/torque/torque-4.0/index.html

Apache Torque is an object-relational mapper for java. In other words, Torque lets you access and manipulate data in a relational database using java objects. Unlike most other object-relational mappers, Torque does not use reflection to access user-provided classes, but it generates the necessary classes (including the Data Objects) from an XML schema describing the database layout. The XML file can either be written by hand or a starting point can be generated from an existing database. The XML schema can also be used to generate and execute a SQL script which creates all the tables in the database.

As Torque hides database-specific implementation details, Torque makes an application independent of a specific database if no exotic features of the database are used.

Usage of code generation eases the customization of the database layer, as you can override the generated methods and thus easily change their behavior. A modularized template structure allows inclusion of your own code generation templates during the code generation process.

This is not a binary thing. Its does not have to be robo vs human. The company I work for does robo assisted human advisor to drive costs down.

(www.wealtminder.com) messaging is a little off, we are in the midst of re-doing the entire front page.

EDIT: Other similar hybrids of varying human interaction: Personal Capital, Future Advisor

Java Developers 12 years ago

I actually have a different problem. Java developers that are IDE jocks and dont have any kind of understanding of what is happening underneath the API. Take these guys outside of the IDE and they dont even know how to compile the code.

Java Pain 12 years ago

Seems like 2 issues:

1. Launching Java Programs can suck

2. Java defaults to secure on https requests.

First, on #2, yeah, really cant do anything here. If they didnt do this way, it would be reported as another vulnerability in the JVM that they would have to patch.

On #1, this is actually an old problem that I had worked on this years ago and i even published the solution in javanet (remember that?). If there is any interest in this, i can revive the project since its been dead for nearly 10 years. (http://web.archive.org/web/20070724060104/https://launcher.d...)

Basically I had a custom classloader read the lib dir that worked similarly to tomcat's classloader. Dump any jars/wars/etc in there that you want. All you had to do was tell me where the main class was (because a lot of jars have testing Main built into it and i wouldnt know which one you wanted to run).

P.S. These guys are really really good. And they are your friends, your neighbors. They will invite you to golf tournaments, help you talk to the local private school director (who is also their client) and then they're ingratiated. If you're not anglo and male, they'll bring an attractive assistant along that looks like from your home country and speaks your language. Its actually in their playbook (yes a real playbook).

I found out somebody talked by parents into a variable rate annuity. The worst of the worst. Guess who it was? My cousin.