Hacker News new | past | comments | ask | show | jobs | submit login

I generally like what I do.

I stay away from webdev. I did a couple of small projects but the web was just an outer API, the main work was done by native code running on CPUs or GPUs.

I stay away from enterprise systems, or fin.tech, or ad.tech. I removed enterprise-targeted keywords from my resume, Java, J2EE, SOAP, SQL. I have some experience with them from my early career but I don’t want to use them anymore.

Also, for many years I’ve never worked in/for huge companies, i.e. google/amazon/microsoft scale. My employers/clients are/were mostly small to medium companies.

What do I do? Almost everything else. Native desktop, native mobile, embedded, GPGPU, robotics, GIS, videogames, CAD/CAM, streaming media. Many startups, and small to medium companies, have problems to solve that I find interesting to work on.

There’re still boring parts in my work. But because of my experience I usually find ways to minimize the time I’m spending on them. The most generic advice, pick the right tools.




You have to be really GOOD at your field to have this freedom. Good for you, dude.

I also like to abstract away the non-sense part of a problem, so that I can focus on the real intellectual puzzles.


> I also like to abstract away the non-sense part of a problem

Some boring problems need to be solved anyway, and they can’t be abstracted away. Just when you’re picking the right tools, it shouldn’t take too much time.

For example, that CAD/CAM app I’ve developed has a lot of very interesting algorithms inside. But the software still need to appear on the user’s PCs somehow, i.e. we needed an installer. I’ve picked http://wixtoolset.org/ It’s mature, well supported, first-party i.e. made by Microsoft, open source, integrates nicely into visual studio. Because of these things, I’ve spent less than a week in total over the course of 1.5 years working (=develop, test, and support combined) on the relatively boring installer part of that software.

The installer was just an example, many commonly encountered boring problems already have good solutions. E.g. need RPC, pick .NET and WCF. Need to store structured data, pick the highest level library that fits other requirements (despite I generally don’t like SQL, I still know it and I’ve used sqlite a couple of times when it fit well). Need to expose JSON HTTP API on MacOS without much performance constraints, pick Python + CherryPy, the Python is sufficiently high level and it’s already installed there. Without picking the right tools, I’d spent a lot of time solving these boring problems.


Yeah a good point.

I think the issue here is order: solving which first. Algorithms motivate you, Handling interface demotivates. So start with the motivator.




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

Search: