

Ask HN: Which technology will me reach independence? - crucini

I've been doing unix server-side programming in the Valley for about 10 years now.
I'm currently coding mostly in python but I've used most of the well-known
languages (excluding Microsoft's creations).  In the mid 90s I ran my own business for a year - not software
related.  It was stressful scary and fun.<p>I want to start my own business.  Not a startup with a one in a million chance
of taking over the world, but a solid company making great products (or 
services) with a good chance of achieving 5 million in revenue.  I am capable
of working insanely hard (and loving it) when connected to a customer that
actually cares about the product.  Which has rarely been the case in the last
ten years.<p>What technical skills will help me reach this goal?  Becoming a better and better server-side programmer seems pointless, since I already have the back-end toolset for any startup I can envision.  To reach users, I need a good GUI.  And all my ventures into GUI learning have fizzled out.<p>To learn a major new technology I need total committment.  I need to really believe that this is the path forward, or I will end up blowing it off.
Should I learn Android or Iphone or modern web development?  I've built web sites, of course, but I have not kept up with the modern javascript-based web.  Which actually kind of disgusts me because it tends to be slow and annoying.  I've dabbled in Android and didn't like it much (don't like Java) - I hear Iphone is much nicer to develop for, but of course it has restrictive policies and a declining market share.<p>Or maybe I should bite the bullet and learn C#/.NET.  I have managed to stay away from Microsoft stuff almost completely - I strongly dislike it - but it still seems to be the norm for niche business apps to be Windows only.  It can at least provide a nice performant native-looking app to the vast majority of business users.<p>It has dawned on me that an expert Windows programmer is better poised for independence than an expert Unix programmer, because he can deliver finished solutions to ordinary small businesses.<p>Or even MacOS Cocoa programming.<p>Or I could stick with what I'm good at and develop a prototype GUI in plain jane HTML, with some RPC to a controller layer; then hire outside talent to write the web 2.0 or Iphone GUI.  One problem here is finding trustworthy talent; after 10 years in the industry I am pretty suspicious of programmers' abilities.<p>I should also mention that any half-baked cross-platform GUI system is not going to appeal to me.  I've wasted a lot of time on these things, only to hit dead ends.  If I'm going to produce native apps, I want them to look at least as good as the competition.  And I want a huge dev community so I am not the first one running into a certain issue.<p>So which is the best step towards independence?
======
lsc
>To reach users, I need a good GUI.

I scoff. <http://prgmr.com/xen>

bad design is my brand.

Now, I'm making rather less than five million in revenue; but I think I have a
reasonable chance; I'll eat my hat if Linode isn't twice that. (I'm not saying
I'm as good as linode yet, just that I have a chance.) I mean, my horrible UI
in billing /is/ holding me back, but I think the places where I've gone ahead
and used a command-line interface where some of the competition has used
pretty GUIs? I think some of that has helped me.

I mean, like everything else, it depends on your target market, but me? I
think it doesn't matter if your brand is ugly, as long as it is consistent.

You need to know two things. Your product, and your target market. Everything
else is peripheral. It's obvious that you need to know the product, but I
think it's also key to find a target market that you can relate to. When I go
to silicon valley functions, social or professional, I wear my 'prgmr.com' T
shirt (and yeah, it's about as ugly as the website) and it's fairly rare that
I don't run into someone that tells me they are a customer. Part of this is
that I use my network, but part of this is that I'm selling to "my people" -
the sort of people I'd meet at professional or social events anyhow.

I mean, almost none of my sales are done in-person, but I know the culture of
my customer very well, and this makes marketing immensely easier.

~~~
twog
> bad design is my brand.

Do you honestly think that a good design wouldnt seriously increase revenue? I
know you guys have a great product, but if you had even just a simple front-
end, you could probably convert double the customers. Its not just about the
gui being "ugly" its just difficult to read, and I imagine because of that it
converts much lower. Personally, I have a tough time trusting a company that
cant even spend a weekend to make their website, the only public face a
startup usually has, look somewhat professional.

~~~
lsc
>Do you honestly think that a good design wouldnt seriously increase revenue?

I do honestly think that consistent branding increases my revenue. Does it
increase it more than bad design decreases it? I don't know.

Better design would certainly increase conversions; problem is, I'm getting
signups about as fast as I can handle as-is, with the current (poor) state of
my automation. Getting more mainstream customers with mainstream expectations
would also dramatically increase my support costs.

There are two issues here.

1\. my website is ugly, and

2\. my billing and web selfservice system is in many places outright broken.

2\. is a pretty big problem, I agree. (to the extent that it is difficult to
read, that goes in this category, too; I honestly think I'm laying out the
pricing information in the most clear way possible, though I could be wrong.)
Now, website or no, my biggest problem right now is that I have really shitty
automation, and my shitty billing system is part, but not all of that. I'm
seriously considering going to a command-line ssh-accessible billing system;
my ssh-accessible self-service systems all seem to work pretty well. either
way, the big problem that I have now is that it's broken, not that it's ugly.

1\. on the other hand? I don't think ugly is a problem. Sure, most people
prefer salespeople in nice suits; but especially in my market? if someone
comes up to you in a suit, the assumption is, at best, that he's a business
guy that doesn't know much technically. At worst, the assumption is that he's
a "professional" and you will be lucky to come out of negotiations with a
shirt on your back. Looking like a sales person is about the worst thing you
can do if you are trying to sell to nerds.

How much does this carry over to web sites? I think it does carry over some. I
know that my friends would often scoff at sites that looked too "web 2.0" with
the rounded edges and gradients when that was the new thing; and those pop-up
menus are generally considered a sign of extreme bad taste.

I mean, this isn't to say my site couldn't be improved. I've got lots of add-
on asterisks that are perhaps poorly-considered. Readability is important, no
matter who you are selling to.

Yes, if I was trying for the higher margin 'business class' customers? yeah,
they'd expect some suits. They also expect a whole lot more hand-holding than
the nerds do, too. For now? I'm fine leaving those people to the competition.
Right now, some of the things I do, like requiring a ssh key up front? that is
in part to chase these people away. The way I'm setup now, they won't be happy
with me, and I won't be happy with them, so I'm generous with refunds. My
point is that while broken automation (and I have a lot of that) is really,
really bad, simply requiring more knowledge to use the product (at least if
that is industry-standard knowledge, and not knowledge specific to your
company) is in some ways good. It lowers my support costs, among other things,
though it also lowers the potential number of customers I can have.

Now, of course, like everything else, this depends on market. To be clear,
most people on hacker news? not primarily nerds, culturally speaking, but most
of the negative aspects I assign to my "business person" stereotype also don't
entirely apply. Most people on hacker news are at least half business people,
and as such value confidence and professionalism. Actually, that's part of
what I like about this crowd (and the hacker dojo crowd) - it's sortof like
dealing with business people, but they have one foot in my world. I'm slowly
becoming more of a business person, and it's an interesting place to be, to
learn, and to figure out how far down that path I want to travel. And I think
it's very healthy for me; I've never had much respect for people that were
culturally speaking business or sales focused; and around here? I meet some
people that are what I'd call business or sales focused who are also
technically better than I am. For me, the experience has been a little like
when I started meeting women that were way technically better than I was; It's
helping me break down my irrational and unproductive prejudices. I mean, as
you can see from this message, those prejudices are still there, but I'm
making progress.

------
anujkk
Technology choice comes much later.

1)First think about who is your target customer/market, what are their
problems, how are you going to solve those problems and if you can do it in a
profitable way.

2)Decide about what products and services you want to offer to start with.

3)Then comes technology choice. Decide your product's target platforms -
mobile, web, desktop, tablets. Then decide on which front-end and back-end
technologies you want to learn and use.

I think these technologies will be good based on current trends :

Back-end : Python, Ruby, .Net , JavaScript(node.js) and framework of your
choice.

Web based front-end : HTML5, CSS3, JavaScript, JQuery

Mobile Front-end : Android, ios , Windows Phone OS

Desktop front-end : .Net, C#, WinForms, WPF etc.

Personally, I would focus on Web and Mobile apps.

------
zigzigsputnik
First decide the type of products that you would love to build. Then work
backwwards from there, and code in whatever language it takes to get those
products rolled out.

I believe you have to enjoy the product more at the end of the day, more than
the technology.

