Live data from Hacker News

Today’s Top Tech Skills

hiringlab.org

361–370 of 373 posts

Re: Today’s Top Tech Skills

#361
post #19
post #11

Earlier quoted context omitted.

This sounds horrible but maybe the people who would take these lists seriously are precisely the kinds of people who are careerist programmers. And they really just want the maximum value from their “investment” in learning programming. In college I didn’t learn Java at all because it didn’t seem very fun. Python did and I learned that. Then Go came along which was easy to pick up. But once you know a general purpose…

Is there anything inherently wrong with that? They know where the butter for their bread comes from and make it work for them and reap from it. As far as individual career choices go, seems like a winning move.

This is a good question. I think I don’t want to work with careerists. Programming is a kind of labor that seems to have different properties than other kinds of labor, which can be quantified effectively and used to make accurate predictions. The sheer complexity of the field makes promising things a fools errand. The Agile manifesto is an acknowledgment of this unpredictability, and the approach they take is to quantify only the immediate next goals instead of predicting months ahead.

Careerists tend to like predictable slices of work which they can accomplish during work hours and go home and do whatever. Unfortunately, most high impact projects require a bit more involvement: not to give up all free time, but to be more flexible. A commitment to do the right thing (very easy to cut corners and ignore best practices) but to deliver on time.

Careerists tend to prioritize their quanta of work and how to get it done during work hours rather than focusing on getting it done well. They have to be coached into best practices. They need to be asked to meet deadlines, or disagree to deadlines if they feel it’s inadequate. For these reasons, I personally do not like working with careerists.

Re: Today’s Top Tech Skills

#362

Earlier quoted context omitted.

I think the phenomenon you're describing is exactly what led to the rise of no-sql dbs. SQL allow you to do too many things, a lot of things that could happen in programming. From a design point of view, that's not a good thing, you want a data store to do just what it is - a data store, all joining and such can happen somewhere else - just make sure it's in the same transaction. I see many of the problem stem from a…

>>From a design point of view, that's not a good thing, you want a data store to do just what it is - a data store, all joining and such can happen somewhere else - just make sure it's in the same transaction. See, that's exactly why I indicated I'm not a theoretician and do not feel comfortable making such a sweeping "Should" statement (much as I would've made an opposite one:). Immediately my question is "Why?" and…

I think your point is perfectly valid, I put should when I might have said ‘I Believe should’. But nevertheless I stand by my own point and is not quite convinced, both of us bringing anecdotes from our own experience. It is always good to hear different opinions, though.

Re: Today’s Top Tech Skills

#363

In Java I'm a big fan of using SQL directly versus ORM. To that end I highly recommend JOOQ. I library that allows for object oriented SQL. Its not ORM, so you still compose SQL, you just get a lot objects and methods to allow you to construct your SQL in an OO, and functional, programming type way. It also is a DB first approach. Where you construct your DB schemas and tables first, then use JOOQ to create objects t…

With jOOQ you still don't write SQL, you write the DSL and still spend a lot of time looking up docs for how to write the query in the DSL, when all you really want is to write the SQL query without the ugliness of JDBC. To this end I highly recommend JDBI. If the Java proposal for multi-line strings ever gets done it will make writing SQL queries a lot nicer.

I've had people tell me they learned a ton about SQL constructs they were unaware of because they just discovered about them by auto completing on the jOOQ API.

If you know SQL, you won't spend much time looking up how the jOOQ API thinks about it, and if something is not possible, you can always use jOOQ's templating feature: https://www.jooq.org/doc/latest/manual/sql-building/plain-sq...

In any case, I always recommend people build a ton of view libraries directly in their database, and then query them with jOOQ when they need dynamic queries on top...

Re: Today’s Top Tech Skills

#364

Earlier quoted context omitted.

Please note the DSL is a one-to-one mapping to SQL. So its still SQL, you just have to identify the correct method that maps to your SQL element.

Soooorta. It can actually translate between SQL dialects so it's a more like 1:10 mapping.

I like that line of thoughts. Given that we have a parser, too, it's more like a 27:27 mapping: https://www.jooq.org/translate

Re: Today’s Top Tech Skills

#365
post #268

Earlier quoted context omitted.

Ouch, those are the arguments people usually bring forward to defend PHP – strange to hear them applied to Python. While I agree that good software engineering practices makes the real difference, it's not the only thing that matters. There are better languages and worse languages. While you can apply good practices and successfully build good stuff using a language designed in 10 days (or a language that evolved acc…

Well, are you trying to say that PHP is impossible to use properly? It's not exactly the first tool I'd look for, but it's clearly possible to use at scale if we look at what Facebook did with it. I have to completely disagree with you. There is no such thing as better or worse languages in a vacuum. Languages exist in an ecosystem that you use to build things using them. Most best practices you apply as a software e…

Not impossible. Just that how well a language works for building things depends on at least three things:

1. The quality of your software engineering practices.

2. The quality of the programming language itself, i.e. how well it fulfils its purpose as a tool for allowing the programmer to express their intention through language.

3. The context – interoperability with particular libraries or existing code, availability of programmers and support resources, etc. affects which tools are good choices.

In a particular situation, COBOL or VBA might be the best choice (3) even though they're not particularly great languages (2) and you will have to compensate by increased effort spent on good practices (1) to work around problems with the language.

So what I was trying to say is simply that there is such as thing as better or worse when considering a tool in isolation. A hammer that failed QA and was later fished out of a lake with rotten handle could be used to great effect by a skilled craftsman, but it's still a bad hammer.

For example, if Brendan Eich had six months instead of ten days to design JavaScript (ignoring the business realities of the time), with a few rounds of feedback, would it not potentially have been a better language? What if he only had one day – would the quality of the language be exactly the same?

Re: Today’s Top Tech Skills

#366
post #280

Earlier quoted context omitted.

I thought that, too, before I had the income. Being able to max out my 401k and IRA contribution on 5% of my salary is a huge deal, and more than makes up for the difference in housing cost. I also live 5 minutes from work. People overestimate how much the COL difference really is and underestimate the significant savings advantages that come with living here.

I think you underestimate the COL difference because you are settling for inferior housing. Do you at least have a low-end house, such as 2000 square feet on a 0.25 acre lot that is all your own? Around here in the Space Coast area, that goes for $150,000. It can be done with a 5-minute commute. Software developers get paid better than typical, so they can get fancier housing if they don't have expensive hobbies. See…

We live in a 1500 square foot townhouse. It's smaller than the 2200 square foot beast we left behind near the Space Coast, in fact. But my cash salary is 3x what I was earning there, the benefits are better, the equity is a nice bonus on top of that, and the CoL is just about 2x. I save about what my net take-home used to be. I'd be saving more, but one of my kids need therapy that is quite costly and not covered by insurance.

So while I can't afford that stuff now, out here, I'm going to be in a much better position in retirement than most of your friends. And I'll be able to retire sooner.

Re: Today’s Top Tech Skills

#367
post #366

Earlier quoted context omitted.

I think you underestimate the COL difference because you are settling for inferior housing. Do you at least have a low-end house, such as 2000 square feet on a 0.25 acre lot that is all your own? Around here in the Space Coast area, that goes for $150,000. It can be done with a 5-minute commute. Software developers get paid better than typical, so they can get fancier housing if they don't have expensive hobbies. See…

We live in a 1500 square foot townhouse. It's smaller than the 2200 square foot beast we left behind near the Space Coast, in fact. But my cash salary is 3x what I was earning there, the benefits are better, the equity is a nice bonus on top of that, and the CoL is just about 2x. I save about what my net take-home used to be. I'd be saving more, but one of my kids need therapy that is quite costly and not covered by…

There is no "2200 square foot beast". That is just a median home. It's a bit cramped, but adequate. Right now you could get 4400 square feet on a 1 acre lot for $400,000 in Melbourne or Palm Bay.

You CoL difference is only 2x because you are settling for inferior housing. People can do that. You have. Let's not pretend it is good housing however. To get that early retirement, you forgo decades of living in decent housing. The CoL difference is well over 10x with equivalent housing.

That housing deficiency can have an everlasting impact on your family. People in costly and cramped spaces have smaller families. You might not be aware of the effect it has on you, simply thinking that you didn't want that many kids. In retirement, it will be too late to have more kids.

Re: Today’s Top Tech Skills

#368
post #310
post #236

I've tried several times to switch the URL to https://www.hiringlab.org/2019/11/19/today's-top-tech-skills... , which is the source that this one is copying from, but our software insists on escaping the apostrophe to %27 and hiringlab.org won't unescape it, resulting in a 404. I don't think I've seen that before. Edit: never mind, taking out the apostrophe works! URL changed from https://spectrum.ieee.org/view-from-…

The escape rules vary in small maddening ways and trying to figure out if your implementation is doing the right thing from specs will make you give up forum moderating and join the merchant marine, in the best case. Fortunately, that's the sort of thing Google can afford so it's safest to just check what their RFC-compliant utility libraries do: https://guava.dev/releases/28.0-jre/api/docs/com/google/comm... The apo…

Thanks; I've added non-apostrophe-escaping to our list.

Re: Today’s Top Tech Skills

#369

Earlier quoted context omitted.

Soooorta. It can actually translate between SQL dialects so it's a more like 1:10 mapping.

I like that line of thoughts. Given that we have a parser, too, it's more like a 27:27 mapping: https://www.jooq.org/translate

You're here!

I asked you a bunch of questions and even filed a few issues a few months back.

You were incredibly patient and helpful as I tried to sort out the performance characteristics of the a few bulk insert approaches.

I want to publicly thank you again for all your help. You've set a uniquely high bar with all your work on and around jOOq.

Re: Today’s Top Tech Skills

#370

Earlier quoted context omitted.

I like that line of thoughts. Given that we have a parser, too, it's more like a 27:27 mapping: https://www.jooq.org/translate

You're here! I asked you a bunch of questions and even filed a few issues a few months back. You were incredibly patient and helpful as I tried to sort out the performance characteristics of the a few bulk insert approaches. I want to publicly thank you again for all your help. You've set a uniquely high bar with all your work on and around jOOq.

Thanks for your nice words, I really appreciate it! :)
Post reply on HN