Hacker News new | past | comments | ask | show | jobs | submit | gilesvangruisen's comments login

There's a bit about our team at the bottom of the About page :) https://felt.com/about


I really enjoyed this interview with Larry Wall (of Perl fame), and I come back to it from time to time. He does a great job illustrating the hacker mindset that you mentioned https://www.youtube.com/watch?v=aNAtbYSxzuA


I use `rcm` from thoughtbot: https://github.com/thoughtbot/rcm


Hire an advisor, and buy some plane tickets for your family. There is, in my opinion, no greater education than seeing the world.


This is awesome! Keep up the good work. As a fellow developer who began writing software around your age, I have some advice that is definitely subjective and biased, but which you may indeed find helpful.

1. Keep practicing. Practice makes perfect. Explore different languages, frameworks, and problem spaces (interfaces, servers, distributed systems, statistics, etc.) to see what you find most interesting. You will make mistakes, and that is okay. That is how you learn.

2. Take frequent breaks. Programming is hard work. It can be truly exhausting, and you should not be afraid to step away and go for a walk or something.

3. The most valuable people in the industry are called "T"s. I.e. people with a little bit of knowledge/experience across broad range of topics (the horizontal part of the letter T), but who have deep knowledge/experience in one or a couple particular topics (the vertical shaft of the letter T).

4. Begin to develop the skill of taking feedback and accepting criticism. There's a lot of people out there who will be quick to criticize everything you do if you put it out into the open. It's a whole skill in itself to be able to interpret this feedback and separate the signal from the noise. Try to empathize with the person or group providing feedback and understand that their motives/perspective may be different from yours. Sometimes that's a useful thing. Sometimes it's a distraction.

5. Dn't take things too personally. You are not your code. A criticism of your code is not a criticism of your character. The less you take things personally, the easier it is to work with others. After all, the most impressive systems require immense collaboration.

6. Don't take yourself too seriously. Have some fun with it! Programming is super fun, so you should ask yourself regularly "am I still having fun?". If the answer is "No", maybe find something else interesting to focus on for a bit.

7. Broaden your perspective. Along the lines of #1 and #2, it's important to maintain a broad perspective and push yourself to keep expanding your perspective. This doesn't just apply to technical problem areas or languages or frameworks. The best engineers are good problem solvers because they have a broad perspective not just of the problem space but also more generally of the world they inhabit. Try to learn about different industries, cultures, people, and places. You will become a more well-rounded character for doing so, with a higher ability to empathize with others and understand the complex mechanics of how the world works.

8. Be social. I made the mistake of hiding in my room on a computer for much of my childhood, and it wasn't until high school that I really began to understand the value of social interaction and maintaining strong solid friendships. It's as important to spend time away from the computer as it is too keep practicing.

All the best. Good luck!!


9. Bookmark this page, so you can come back and see the wonderful advice that you got when you were 12. It will make more sense as you get older.


:)


I'm 27, and learned this over over years, but still I needed to hear this again! And I'm sure I will need this advice again. Bookmarked :)


+1 for not recommending build systems


9. Use webpack!


This is not just good advice for a successful programming career, but if you can pull it off, pretty much any field that one is passionate about.

As a scientist, if one is a scientist and has abided these ideas, they'd ramp up the food-chain pretty quickly.


Would you please provide an example on how one proceed with T shaped learning and expertise?


That's a good question. I left that intentionally broad so as not to prescribe a certain type of learning system or self-education.

There's a lot of ways to learn anything, but I would say that the first step is pursuing a variety of subjects that you find interesting, and even some you think are boring. A lot of seemingly boring things I've found turn out to be quite fascinating when it comes down to it. (e.g. database design)

Over time, you will pick things up, and put them back down. You will return to some, and stay away from others, but eventually you will build a repertoire of knowledge and experience in a variety of different fields. I would also bet that at least one subject will interest you so much that you keep coming back and in which you will ultimately develop expertise.

Experimentation is the name of the game!


Thanks for replying, Giles!

I see just dabbling in whatever interests and experimenting with them takes one forward.

What you wrote is profoundly impactful.


I work in cloud, and one of the things I look for when recruiting solution architects -- another role where broad is a pre-requisite and some narrow depth is expected -- is systems design skills. Besides whatever you study and learn how to do as a programmer. these days it's not often commercially applicable unless you know how to make it run well in the cloud, with all the caveats that apply.

Among the things that aren't common knowledge among basement programmers: network configuration (VPCs, load balancing, CDNs, security), security/IAM, non-relational datastores, ML model development & training, and the list goes on and on and on (microservices & containers, devops, serverless, advanced logging/monitoring & problem solving, high availability, HPC/grid, blockchain, and oh so much more.

The point I'm trying to make is that you can become a T shaped programmer by continuing to study and learn various programming skills, but you may want to alternatively consider becoming broad in ways that expand your value beyond just coding.


Thanks. That's valuable info indeed :)


A phrase I came up with that I like more than "T-shaped" is "molecular skillset". A chemist would probably laugh at me but I think of it as developing seemingly independent skills (molecules <--> skills, experience, knowledge...) that end up forming bonds with other skills, sometimes in surprising ways, that together prove really powerful and can bond up even further. "T" and other tree/tendril-ish shapes are then just special cases of different bond arrangements. You can acquire skills haphazardly (though as a serial dabbler I'd caution against actively pursuing the dabbler's path without a ton of introspection), you can also take the efficient road like a university sequence where most skills are visible and have unsurprising connections to the next skills. You might have to take some seemingly unrelated course too, but you can look at those optimistically as another potential source of surprising bonds. Duds are of course possible -- I have some useless things in my brain that I don't think will ever connect with anything useful, at best they might aid in social signaling one day. (A lot of education is just signaling to show you can talk about a lot of stuff...)

Trivial example: at some point around age 17 I installed Gentoo successfully and learned a lot about gnu/linux (and some bsd) in the process. Lots of little skills formed and connected, and they continue connecting with other things to this day. Got my initial hook on vim then. Saw how nicely colorized my terminal prompt was and that opened the door to many bash customizations. One of the skills I had to learn was to understand how hard drives worked (at least to the ability to successfully partition, format, and boot them -- I did accidentally wipe a windows xp partition the first time). Some years later (age 20?) I had accidentally rm'd a couple weeks of java work without having committed it yet. But prior knowledge of the system let me know the data was still there, and I was able to recover it by scanning the disk device partition directly for the bytes. (Ended up using "grope.tcl" referenced here http://wiki.yak.net/592 which was a lot more efficient than what I was making.)


That’s way too exciting !! Really fresh perspectives.

I once tried upgrading my Windows laptop while having very less space in C drive. Windows totally crashed. After that I used live bootable Ubuntu, but would still like to retrieve all of my windows data.

Do you know how can I do that?


https://www.cgsecurity.org/wiki/TestDisk might be able to help you, it helped me once when I tried to resize some partitions and ran into problems.


Many thanks. That’s awesome!!


ditto!


Just signed up less than 12 hours ago. Cool.


Same here. The last of my 50,000+ photos just finished uploading. Just my luck.


Impressive as Rapide is both lighter in weight and more powerful than the Model S (470bhp vs. 416bhp). Both cars have the same amount of torque. (443 lb-ft)


This is because you're comparing maximum torque. The actual graph is likely unlinear and this is where the Tesla is winning.


Correct. An electric motor can output its full amount of torque from 0 RPMs; this is where an ICE falls down (and hence, the need for an expensive transmission).


Indeed if there's one thing electric motors in general do very well, it's to produce lots of torque at a much wider range of speed than an ICE.


The Tesla probably also didn't have to shift. You can hear the Aston had to shift at least once.


Ah I see; that makes sense. I don't know much about mechanics. I just like pretty cars.


Now back up


I like this. Vine is great but never had the same browsing experience as Instagram. I'd much rather scroll through Instagram than Vine. Now I have even more reason to do so.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: