HN user

torte

39 karma
Posts0
Comments34
View on HN
No posts found.

Have used it for a smaller project for a bit now and I really like it as well. Concise code and I can still map it to actual SQL in my brain.

What has been a bit non-intuitive for me though is the expression builder since the latest major version of kysely. When writing queries with `OR` conditions it always takes me a while to wrap my head around it again. It is also challening to make this easily readable with lots of dynamic `OR` conditions and I usually end up with a wrapper function which returns the array for the statements passed into the `or(` block. Could be improved in my opinion, otherwise a great tool

I kind of agree. Even now there are tons of third-parties dealing with the authentication for you, you will still have to write code to actually integrate with them and hook this up to whatever your user data is. I have written a few authentication layers now, and while I feel there are added benefits with third-parties, the amount of code I have to write is similar and strongly customised to the vendor offering the authentication solution.

Then there is also the problem you are facing and that is tooling not being language-agnostic across the board and you will have to re-implement similar patterns when changing the backend language or framework.

Pretty much binge listened to these this year:

- Startups for the Rest of Us (https://www.startupsfortherestofus.com/): Great podcast for any aspiring entrepreneur and bootstrapper.

- The Knowledge Project (https://fs.blog/knowledge-project-podcast/): Great interview podcast around a variety of topics

- The REWORK podcast (https://37signals.com/podcast/): Probably don't need lots of introduction here. Read the books in the past, but its great to actually hear Jason Fried and David Heinemeier Hansson to actually talk about those things.

Foxo | REMOTE (Australia) | Backend Engineer (with full-stack capabilities) | https://foxo.com

Foxo is changing the way healthcare connects. We deliver powerful communication for healthcare teams, administrators, and organisations. Much more than secure messaging, the platform features clinical system integrations, patient centric workflows, and collaboration tools designed to reduce administration, enhance operational efficiencies and improve patient outcomes.

We are looking for a mid-level to Senior Backend Engineer (Node.js, SQL) with experience throughout the stack, be it frontend (frontend Javascript, we use Vue.js), infrastructure management (AWS, Azure, sysadmin) and just general fluency with common Web standards (HTTP, Websockets, WebRTC, etc).

You would join a small team and be able to use your skills across a multitude of areas to impact the healthcare/healthtech industry.

For more information and to apply, please visit https://foxo.com/careers.

Foxo | REMOTE (Australia) | Backend Engineer (with full-stack capabilities) | https://foxo.com

Foxo is changing the way healthcare connects. We deliver powerful communication for healthcare teams, administrators, and organisations. Much more than secure messaging, the platform features clinical system integrations, patient centric workflows, and collaboration tools designed to reduce administration, enhance operational efficiencies and improve patient outcomes.

We are looking for a mid-level to Senior Backend Engineer (Node.js, SQL) with experience throughout the stack, be it frontend (frontend Javascript, we use Vue.js), infrastructure management (AWS, Azure, sysadmin) and just general fluency with common Web standards (HTTP, Websockets, WebRTC, etc).

You would join a small team and be able to use your skills across a multitude of areas to impact the healthcare/healthtech industry.

For more information and to apply, please visit https://foxo.com/careers.

Which language if I may ask?

Mandarin Chinese. I taught myself the basics (and a bit beyond) quite a while ago, but I am unhappy with either always having to start from scratch with every new tool I try or learn irrelevant things I am not interested in. Before I have seen your site I thought this to be quite a niche use-case, maybe it still is.

Really just want to scratch my own itch, but if I can also add value for others and make this a well-rounded product, even better.

Foxo | REMOTE (Australia) | Backend Engineer (with full-stack capabilities) | https://foxo.com

Foxo is changing the way healthcare connects. We deliver powerful communication for healthcare teams, administrators, and organisations. Much more than secure messaging, the platform features clinical system integrations, patient centric workflows, and collaboration tools designed to reduce administration, enhance operational efficiencies and improve patient outcomes.

We are looking for a mid-level to Senior Backend Engineer (Node.js, SQL) with experience throughout the stack, be it frontend (frontend Javascript, we use Vue.js), infrastructure management (AWS, Azure, sysadmin) and just general fluency with common Web standards (HTTP, Websockets, WebRTC, etc).

You would join a small team and be able to use your skills across a multitude of areas to impact the healthcare/healthtech industry.

For more information and to apply, please visit https://foxo.com/careers.

Instead of focusing on a "cool" product, try to focus on companies/products which are solving meaningful or interesting problems (subjective to what you find meaningful and interesting of course) and then apply there. In my experience that is the best route of being happy and productive there.

Career progression is great, but there is an upper ceiling as long you want to still code. Only renumeration can still go up on some point.

8 years old. 30 minute screen time per day. Enforced via Google Family Link and Switch Parental controls. He has to finish all his daily errands before he is allowed to play (mostly like unpacking his school bags, do his homework/reading, etc).

We allow him extra time if he helps at home with things, either watching our little one or doing laundry or others which come up.

He is mostly playing Minecraft, Roblox or watches Youtube videos about those games or Lego on Youtube Kids. He barely watches any TV anymore, a movie every other week or some TV show every now and then.

It depends actually what is your purpose.

If you intend to learn about stock trading for personal finance reasons you can follow a lot of blogs or podcasts in the FIRE (Financial Independence Retire Early) community. Some examples are the stock series of JL Collins (https://jlcollinsnh.com/stock-series/) and the Mad Fientist (https://www.madfientist.com/, the blog is a bit tax focused, but it goes well with the Podcast).

If you want to learn about active trading then you need vastly different resources and not really my expertise.

Just wanted to mention that there are basically two philosophies here and based on either what knowledge you want to gain or how much risk you want to take as an investor you will need to choose what to learn.

There are some breaking features from added in 3.7 which were not in the language in 3.7. Meaning code written for the newer Python 3 version might not work with the older Python 3 version. Most of those additions are relatively easy to fix though.

Code from an older Python 3 version should always work in the newer Python 3 version though (at least for 3.5 -> 3.7).

I am a Software Engineer at Wattcost (https://www.wattcost.com/), which creates a device and platform to read your energy consumption (even with older meters) and act on it. Eventually the platform is supposed to help you save energy in your home, which indirectly helps "fighting" climate change.

That being said, I do not believe that any single person or single company has the power to change things drastically into any direction. It has to be a joint effort of anyone or any organization on that planet. I am not seeing this actually happening (and often even see the opposite), so personally my outlook is rather grim as well.

First time around it was a very small one-man operation (just me). I think my main problem at that time was that I lost track of what I wanted to build because I fell in love with the underlying technologies too much. Typical case of when something new came around which seemed a better fit, I switched over. I guess I was still not experienced as I should have been at that time. In the end I was not sure what I was actually creating and lost motivation.

The second time there were different issues (and I was not alone). Product-wise we focused on the wrong thing. We tried to mostly build something which was already provided from our competitors (just improve it) and did not focus on something more original first which could have given us an edge. Financially we invested into the wrong things early on, even we did not need them yet (like marketing tooling). In the end we were simply out of fuel (money).

Third time is a charm and I am currently involved in a few businesses (most of them not even started yet) beside a full-time job. It looks like my current problem is that I want to do many things at the same time, so will have to reduce what to focus on soon.

I am or actually was in a similar situation as you. I grew tired of developing software just for the sake to earn money (selling things, improving conversion rates, booking systems, etc.).

Eventually I ended up only applying for jobs which would enable me to work on something which actually could or will make a difference or I cared about. Was hired in the end (even found very few positions available in those spaces). You have to decide for yourself what things you care about to support and then find businesses or companies in that area which currently hire someone with your skill set. I admit there is a bit of luck involved, but should be possible if you are living not in the middle of nowhere or find remote positions.

Keep also in mind that this does not necessarily mean good pay (but should be decent at least) or a good company culture in the end. But I think this is the same risk you would take with any job.

I find it actually slowed down in recent years. Things finally seem to settle around the React ecosystem (yes yes, Vue has more stars). I also think there are way more projects which help you get started now without having to know all the tooling around it right of the beginning.

Regardless if you are working on a project and you have to deliver then simply stick with what you know. It does not matter what is the latest shiny thing out there and in most cases it won't matter in a few more years into the project as well.

If you want to learn something (new) in the frontend space though and also build something useful, the best approach I found is to only adapt one or two new things and have most of it build on what you know (using the 80/20 rule).

This might be an unpopular opinion, but I would expect that each newly hired developer (be it junior, mid-level, senior) can and will take time to do train and improve him/herself. I don't mind this being on job time, as long it is not all day. Most times this is even required when doing a task, because no one knows everything, even with X+ years of experience. If this mindset is not there and a newly hired developer requires actual training (like someone else in the company teaching them), then I think he/she will never make a good developer in the first place, because each new task with some obstacle they have never dealt with, will require them to get training from someone else.

I am a big fan of mentoring, but this is related to understanding the existing platform and getting productive working on it, not about teaching technology XYZ.

This opinion should actually go both ways and companies need to be willing to hire developers, even they don't have the 100% exact skills they need and then allow them to improve them on the job. If you got rejected by companies because they don't understand this, then be glad that you will not work for them.

So far a few:

1) Don't spend money and time on things you don't need or will need earliest in a few months from now.

2) Regardless if you have a brand-new idea for a product or try to improve an existing product/process, you need to validate first that you follow the right path. I think a light-weight solution like the idea behing the Design Sprint (http://www.gv.com/sprint/) is a good option. Don't go off and try to build an MVP. You will waste time and money (again). Even for a simple and functional MVP you will need spend lots of time to build a frame around it.

3) If you intend to improve something existing in an industry, come up with something unique about your product first (compared to your competitors). This will help you to get initial traction. Again, you need to validate this particular unique feature before you start building.

My previous startup endeavours failed all because we/I did not follow those rules.

One time we were mostly building away because we thought we know the industry (worked many years in the same space before) and had a lot of wrong assumptions. This combined with wrong spending behavior made everything fail very quickly in the end. From the outside we just copied our competitors and even our product was superior and looked better and gave part of our business customers a much better experience, we did not attract enough customers (as in users), because there was no obvious reason for them to use us vs our competition.

In another attempt I just got too deep into the tech and totally lost focus on what I was actually trying to solve. Lots of wasted time (except for experience).

Access to venture capital and/or the effort to get it in the first place. To European businesses it often seems like it is much easier to raise funds in the US. Investors also tend to be more conservative here.

B2C businesses traditionally need more funding to scale. Less funding, fewer B2C businesses. Bootstrapping a B2C business is even harder. B2B just makes more sense economically.

Yes.

Can not really tell what I am working on, but so far I am more or less happy with it.

It is not as simple as advertised though ("just use async/await"). In order to write stable, performant applications you have to understand more or less the underlying mechanisms of asyncio (what are tasks/futures, how does their lifecycle work). Then there are quite a few things which work not as expected and you have to understand them as well (e.g. exception handling). If you get into the nitty-gritty details you will have a good experience with asyncio. If you don't you better stay away from it or you will have a hard time.

Performance wise it seems pretty good so far btw.. Did not really hit its limit yet though.

Most comments already get to the point. You can not hire a junior with senior or intermediate level skills.

It seems like you are in the same shoes as me at the moment. What I suggest you to do is to prepare a small test tasks they can do at home. This saves up time for you going through unnecessary extra interview processes and also shows some of their dedication and skills. I am not saying you should not have interviews, but it is hard to filter candidates just by resumes (and you can not have 400+ interviews).

Answering your question, I usually look out for the following:

1. After I sent the candidates the test task, but before they finish it (NOTE: I don't know they progress on it):

- Do they let me know when they have time to do the task (in case they are not able to it immediately) or do they just let time pass by.

- Do they come back with questions if they hit a wall somewhere.

- Do they let me know if they are not able to do the task (for whatever reason). At this point they are obviously out of the process, but they might re-apply at a later time.

- Communication is key at this level of the application process.

2. After I received the results of the test task

- Obviously did they finish the task in a reasonable quality. There are most likely mistakes in it, but this is irrelevant in case the general quality of the result is ok and the solution works as expected.

- The quality also reflects on how much time they spent testing their own solution.

- Did they finish all the sub-tasks (usually I also ask for documentation and tests) or did they just skip those.

- Did they try to find quick and dirty solutions or did they try to implement things properly (and most likely spent more time on it).

The best developer you can hire is somebody who does communicate pro-actively, is dedicated and develops maintainable solutions over "easy" ones. How much time they spent on the task and how proficient they were with the tools at hand (programming languages/frameworks) is not relevant in my opinion. If they were unfamiliar with the programming language for example and they spent the time during that task to learn part of it and delivered a proper solution with it, they got all my respect and I would be very likely to hire them.

You will also have to spent time reviewing the test task results, but I think this is less time-consuming than interviews. More than half of the candidates will probably jump off before you even see the results. For the other half you will learn how to distinguish a good from a bad solution quickly.

Of course it affects my life. Now obviously the rest of the day and most of the weekend is either spend at work or home with my son (he is 3, so still needs more attention than older kids).

On the other side, I was never really into side projects in the evenings, simply because I needed that time to cool off and relax a bit. Without that time I would quickly burn out. The best is (and if you can) is to make your "side project" your day job.

The question is still if it actually affected me as a developer in the sense that I can not do the work anymore? No, it did not. I leave work earlier but that's pretty much it. I don't feel less productive than before. Actually I even think I am more productive since the time is more limited. It is all about what you make of it I believe.