HN user

dvo

17 karma
Posts5
Comments11
View on HN

Toxic seems like a strong word to describe standard relational database functionality. Are you seriously recommending that join functionality always be done in the application layer? If so, are you speaking from specific experience, and can you elaborate on your reasoning?

I've seen too many poor re-implementations of relational database functionality in the application layer to ever recommend it as a standard starting point. Doesn't the concept of not prematurely optimizing apply here? Solve the scalability problem when you need to. That may mean moving some join functionality into the application layer, but the solution to any given scalability problem depends on the specifics of the problem. Just throwing out database joins as a rule seems drastic.

I've been the beneficiary of vacation payouts somewhat regularly, which were in addition to bonuses paid based on overtime hours. I was also able to take advantage of a significant chunk of vacation I had built up when I left my previous company to help fund starting a new company.

In my case, I would probably not benefit dollar for dollar from an unlimited vacation policy. I would either take less vacation or not benefit from the payouts. That's not to say that unlimited vacation is a bad policy. It might be a great policy, and I'm sure it depends on the details of how it is implemented and the culture of the company where it is implemented; however, it is certainly possible that the practical outcome is more of a net benefit for the company rather than the employees.

Since many startups these days are advertising unlimited vacation, I'd love to hear from both founders and employees about some of the practical ways in which this policy plays out.

I stopped worrying much about so-called bad code a long time ago. Reading eye-watering, mind-numbing code is practically a pre-requisite for working on any non-trivial enterprise system at a business of any reasonable size. In many ways, you come to enjoy the challenge of it. I've had to read code written in an almost obfuscated manner in languages I'd never previously worked with before. You get used to it. You learn to read and grok just about anything.

On the topic of massive Perl scripts, I once worked on implementing a system that was an unholy maze of Perl, Pro-C, Pro-COBOL, Oracle Forms, Java, and PL/SQL. It was the first time I'd ever had to read and write Perl and Pro-C. I even remember reading Pro-COBOL at one point to debug a problem. Good times.

Since the above is somewhat tongue-in-cheek, I'll clarify that I certainly think we should strive to write excellent code and constructively help each other to that end. We should probably be very slow to dispense judgement but quick to share carefully considered, contextually relevant advice. You really do need to understand the context under which something was written to make any useful statements about goodness or badness (which is still probably not that helpful a measure). Something that looks bad at first may be fantastic work considering the circumstances under which it was written.

Thinking about code in terms of "good" and "bad" is not very useful. Don't worry about what developers on the internet think about the quality of your code unless they offer specific suggestions in a constructive and instructive manner. If someone offers specific and thoughtful suggestions or criticism, learn everything you can from them.

The quality of content on my Facebook feed has taken a turn for the worse lately. I regularly see sponsored or related posts that I have absolutely no interest in, leaving me with a more negative impression of that business and of the value of the Facebook experience. I don't mind ads, but they should at least be relevant. If you are putting ads directly in my feed that are as far from relevant to me as possible, then you've got a problem.

It all started when I saw a post about purchasing country-style boots from a discount country store. Then it got worse with posts promoting Walmart. I believe those posts suffered from the problem noted in this article. It looked somewhat like a friend promoting Walmart.

Does anyone know if there is a way to hide this stuff?

The article seemed to be referring to dramatic moments of self-assessment when people fundamentally transformed themselves or their businesses. In a startup, I would think that you typically do this many times before finding the winning formula. Does anyone have insight into how often it is practical and useful to do a dramatic re-imagining of the fundamentals of your business? I'm guessing there is such a thing as pivoting too much or too often.

Certainly, I think it is important to practice self-awareness and self-assessment on a daily basis, but there are no shortage of good ideas on a strong startup team. Every few days someone has a great new idea that could be transformative, and from my experience, you try to question yourselves and your assumptions all the time (hopefully in as brutally honest a way as is necessary, though you sometimes wonder if you are fooling yourselves). Perhaps reality is simply more incremental, though it can look dramatic and transformative after the fact. Every sprint planning meeting and every board meeting is an opportunity for rigorous assessment. You just have to work hard to maintain self-awareness, to see things from a truly unique perspective and make big changes when necessary. Outside advisers certainly help. Otherwise, we are human after all, and it is easy to fool ourselves.

I've made language choices on quite a few projects. To be honest, I've never specifically evaluated static vs. dynamic typing as one of the major factors in the decision, and I've never seen static vs. dynamic typing become a major point of debate. The discussion typically revolves around pragmatic issues related to existing standards, compatibility with existing software, skills of the team, availability of programmers, etc...

Do you really think the use of dynamically typed languages is an important enough factor to require justification? I don't want to imply that the distinction isn't significant. I'm sure it is. I just haven't had any experiences where it came into play when making a language choice, and I'm curious whether you can elaborate on the need for justification.

Out of curiosity, why do you specialize in developing MVPs for people with ideas, and how did you get into that type of work as a primary focus? Do you find that the work is more interesting than doing consulting jobs for more established businesses? Assuming you've found plenty of projects that meet your rules, do you have opportunities to become a co-founder, and have you considered them seriously?

I've done consulting, startups, and free work on side projects. At this point, if I find people and projects that meet my requirements, I'd probably prefer to become a co-founder and make a real go of it. I don't think I've ever taken a small amount of equity as compensation for substantial unpaid development work. Under those circumstances, equity is not tasty. I'd rather do well-paid consulting work or find a great team and go all in.

http://www.sawtoothideas.com

Online marketplace for high quality woodworking plans and software on iPad, iPhone, Mac, and Windows for exploring woodworking plans in 3D: rotate, zoom, isolate, explode, etc... We released the IdeaRoom software very recently, so we have a lot more we plan on adding like resizing the project and customizing wood textures.