hacker news with inline top comments    .. more ..    17 Jan 2015 Ask
home   ask   best   4 years ago   
Ask HN: Becoming more confident?
13 points by anabor  9 hours ago   13 comments top 11
dsnbty 42 minutes ago 0 replies      
I hope this doesn't come off as sexist or anything like that, but I've been really working on my confidence for the last year. I'm a bit of an introvert, and feel more comfortable around computers and talking through text messages than I usually did being around people. It actually made me a little bit paranoid in thinking about how others perceived me.

As a result, I began watching a bunch of "pickup artist" videos on YouTube. While I completely disagree with their goals, I admire the confidence of many of the people who do that. I think my favorite was this video on YouTube: http://youtu.be/1mRM1VwUiYA It got me thinking, and so I made the goal that I would get a girl's number every day for a week last March.

That week I really worked to make the goal happen. Walking around my college campus, I went out of my way to walk next to girls I thought were attractive, and sat next to them in our food court for lunch, and in the library. Originally I had thought that they would all turn me down or at least seem a bit annoyed about it, but by the end of the week one had told me she was married, one said she had a boyfriend, and none of them seemed the least bit annoyed about it.

At the end of the week, I had set up dates with seven different girls, and had 12 different phone numbers. To be honest, it was a bit overwhelming. I kept forgetting which of them said what, and confused their names and other bits of information. I asked three on second dates, two of those on a third date, and only one on another date after that. In the end, I didn't end up dating any of them, but the experience was extremely valuable.

I seriously stand up straighter than I used to now, and I'm not as afraid to talk to anyone. A friend and I looked to launch a startup that would help students on campus, so I spent a day on campus surveying random students walking around between buildings. I now average about a date a week with girls I'm actually attracted to. And I really have no problem talking to anyone.

The goal I set probably isn't right for everyone, but set a goal that is right for you. Speak to one random person a day and get their contact info. Your network would grow by thousands by the end of the year (including second- and third-degree connections).

ADanFromCanada 8 hours ago 0 replies      
My suggestion would be to think of confidence as if it were a skill and, like any skill, practice makes perfect.

The fact that you have recognized an area of your life that you want to improve and even specific situations where you know you can/want to work on it is half the battle. The other half is making a conscious effort to be more confident and less shy when these situations arise. Part of this is fake-it-til-you-make-it, and part of it is re-wiring your brain to be open, communicative and confident in these situations instead of shy and/or anxious.

As far as a book recommendation goes, I read a neuroscience book (written for the layman) that while not dealing with this topic directly, will definitely provide you the knowledge and understanding of how to improve. It's called "The Brain That Changes Itself" by Norman Doidge. It's about neuroplasticity, how it works and how you can use it to change your habits, behaviours & skills.

This has been one of the most impacting books I've read in my life. I have purchased more than 10 copies for family and friends and everyone who has read it has come away amazed and able to make almost any positive change in their life.

Cheers & good luck!

takinola 7 hours ago 0 replies      
Confidence is really just the ability to be comfortable with the person you are. I would suspect this is why you are confident with your friends but not with other people. When you are with your friends, you are comfortable with what you say, how you act, what they are thinking but with other people, you are probably second guessing some aspect of your nature.

If you want to be confident with a wider group of people, you need to understand what part of you are you not comfortable showing to other people. For some people, it is physical. They do not believe they are attractive enough and so it holds them back. For some, it is intellectual, "what if I say something dumb or unimpressive". There are a myriad of possibilities and it is probably a good use of your time to understand what your issues are (and why you have those hangups).

There are a number ways to deal with your hang ups. One way that works is to apply brute force. Just act inspite of your anxiety. I suspect that a majority of people that appear really confident just take this approach. They're scared but just do it anyway.

Another approach is to try and remove the root of the fear altogether. Some people do that by actually courting failure. You think people are judging your intellect, then say the dumbest thing you can think of and see what happens. Scared people don't think you're good looking, approach people completely out of your league. The idea is to actively cause the situation you are afraid of so that you can experience it (instead of imagining it) and realize it isn't so bad.

Whichever approach you decide to take, I would suggest you ensure you do take action to deal with it. Anxiety has a way of making you feel like crap, which leads to further inaction, leading to more anxiety and then a spiral of regret and wasted time. The truth is there is not much that can happen to you that will crush you completely. Time and the love of a few heals all wounds.

Good luck!

pjungwir 6 hours ago 0 replies      
Well there is good confidence and bad confidence. :-)

If you are like me you are rational and skeptical, willing to be proven wrong, but stubborn in holding opinions you believe in. If you are slow to form opinions, you may not seem very confident, at least until you are sure about something. And even then sometimes you may be confident about an opinion but you're uncertain what will happen if you express it, so you keep quiet.

If you're like this, then I think a lot of the advice in this thread is good. Your confidence will improve with practice and familiarity. Try politely disagreeing with your boss. Try inviting some women for coffee. Choose low-risk circumstances until you get used to it and prove that nothing terrible will happen and you'll survive. The good news is that as you get older it gets easier, sort of automatically. I'm 37 and there is a lot more I'm confident doing now than when I was 25.

I still have a hard time looking people in the eyes. Maybe it's confidence, but mostly I think it's just too hard to think about doing that and think about what I'm saying at the same time. I don't know how others do it! I look at people while they're talking, but as soon as it's my turn I forget.

What I'm trying to say is that most likely there is nothing wrong with you. Probably you are just fine as you are. Thank goodness for self-doubting, open-minded, thoughtful people! So instead of trying to change your personality, try changing your basis for being confident or not. Be patient and don't feel bad at it. It gets easier.

crdr88 8 hours ago 1 reply      
Hey, confidence is a broad topic made up of a lot of skills, habits and forces. Think of it as an ecosystem of parts... To speak simply, it comes and goes. Like waves. No one is 100% confident all the time. You're 'secure' around people you hang out with because you're comfortable around them the same with the area you focus on. That's not confidence. Confidence is elusive and reacts well with the unknown. You cannot play safe with confidence. You have to go outside the barriers and push limits further than you can imagine. No one can guarantee confidence, but you, its a road of bumps and bruises. Hit the gym, work on your appearance, take daily risks and expand your knowledge, you'll feel better about yourself to harness the power and responsibility that comes with confidence. Which most don't. Most people fake it to make it. This doesn't work. It's like building a robust program. Strong code, strong functionality, Great User Interface. You got a hit. Fight for something in your life. That's a huge one, that's where passion lives.Check out a book called Think and Grow Rich by Napoleon Those are the 13 skills to master to become confident. Real World Experience that you can use immediately. Books on Leadership is another great resource.
runjake 7 hours ago 0 replies      
I'm over 40, but was once like you. I am also lazy, so I'll be brief:

* Do things, gain experiences. Build robots, take a rock climbing class, go on random hikes, take a dancing class and own your lack of dancing skills. Experiences build a more interesting you, which in turn provides for more interesting things to talk about.

* Read more books on a diverse set of topics that interest you. Watch much less TV (some TV is important from a conversational stance), play far less video games.

* Talk to random people regularly. People next to you in line, the homeless guy that asks you for spare change, maybe even a woman that you do or don't find attractive (this was an excellent crutch in my youth for gaining confidence and it made me realize how deep women were).

* Fake it til you make it.

* Study Buddhism. Learn how materialism and attachment affect you and work to fix it. When you do, external variables will have less of a power to drag you down should something go wrong.

* Realize that everyone else has their own inadequacies and issues behind the facade they present, even people like Obama. And that's OK, it's what makes humans beautiful and interesting.

joelalexander1 5 hours ago 0 replies      
Hey, I know how it feels. I'm generally much more confident that I used to be, but I definitely have gone through stages of shyness that have lasted for a while. Im a 27 yr olds designer/ developer/massive code geek.

For me, what really really helped and now I can't get past 2 or 3 days without doing it is exercise..

I'm not sure if you include exercise in your weekly routine but seriously man.. it saved me. I started with cardio circuits purely for a mental boost, and energy spark and it sorted me right out. After a while I became more confident in myself and then moved on to weights an it really helps!!

Good luck.

ashleyp 1 hour ago 0 replies      
Go out every day.And speak to one random person.Every day.Do that for a few weeks and you'll slowly build more confidenece
lsiebert 3 hours ago 0 replies      
I don't know how helpful it may be for you, but getting involved in acting, theater, and live action roleplaying really helped bolster my social confidence.
FlopV 6 hours ago 0 replies      
Try reading these articles, or articles by Dave Tate.


Maybe working out and getting physically strong would help you as it helped these guys?

Jeremy1026 9 hours ago 0 replies      
I've always hated talking to my bosses. It was until I left my current job, then came back did I feel confident talking to a boss. I think the familiarity helped a lot with that. Also it helps that his personality is very similar to mine so its more so I'm talking to a friend, whom I have to report to.
Ask HN: Which video hosting services scale well?
3 points by akurilin  2 hours ago   6 comments top
trcollinson 1 hour ago 2 replies      
I have quite a bit of experience in the video and image hosting space (one really really big company, one very successful start-up) and I can say safely you have two options, neither will be cheap. There are probably other options. This is a large and complex requirement, keep that in mind.

First off, you can get a pro vimeo account and with access to the api you can upload and maintain the videos in the ways you want, but you will probably need to create a custom application to access that api and handle things appropriately for your business. All in all this may be a good solution, it depends on how you want to display these videos to your users.

Alternatively, it's gotten to a point where you can actually host and maintain these yourself without a video storage service. Storage has become exceptional inexpensive. There are fantastic tools for displaying the videos. Then it's just up to your organization to make the interface for management how you'd like.

Ask HN: How can I be successful in job interviews?
7 points by robotkilla  6 hours ago   9 comments top 5
HashNuke 2 hours ago 0 replies      
I've been in the same situation as you just 6 months ago. Was switching from freelance-to-fulltime. And blanked out at nearly every interview.

I did get hired in the end. When that was done, I also helped a few friends tweak the interview process at their startups/companies.

Over time, during my job hunt, I had to tweak stuff in order to get results. Basically try and observe what worked. Here's what worked.

* Find places that use your work (apps/libraries/articles)

If you have been writing software for a few years, there's a probability that you've written a few libraries or handy apps or really good blog posts. You can find people who are sharing links to these on Twitter. Checkout their workplace. If they seem interesting, apply. The tech interview will matter less to them because they've seen the value you provide.

* Write good cover letters/mails

Your application is your first point of contact. It has to be short, crisp and make them want to know more about you. My application email is usually just one or two sentences and then 4 links (github, resume, and a couple interesting projects). If you have interesting projects in multiple languages, change them to suit the company you apply to.

* Try to avoid any automated forms to apply to a job

They most likely end up in a blackhole at popular or larger companies. Find a person who works there and send him/her an email.

* Don't panic and take it slow

It took me a couple months to find a place I'll be comfortable at. Offers will come and go. Pick the one you'll be comfortable with.

All the best. There are jobs waiting for you to find them :)

byoung2 5 hours ago 1 reply      
I don't have a CS degree...I actually studied English. I'm self-taught, and over the last 8 years I've worked my way up from a freelance web designer writing spaghetti code to a senior developer at ClearChannel, to a director of engineering at a 40 person startup.

The most important part of any interview is confidence. The dating analogy is appropriate. Realistically, no one ever has to write code under the gun like in the interview. If you draw a blank, at least get some ideas out in pseudocode, or describe your thought process.

I have drawn a blank in an interview, and what I've done is email the interviewer later with the solution. In each time, I got the job.

joeld42 3 hours ago 0 replies      
Tell the person in step #3 about this. They might be able to give you an alternate coding test, or at least be more considerate during the interview. We sometimes give candidates "homework", where they have 24 hours or something do something "simple" but more complicated than a whiteboard problem.

It would might put you at a disadvantage to a similar candidate, people might worry that you might "lock up" during a stressful situation at work, but it's certainly putting you in a better position than freezing during the interview.

Also -- have some portfolio project, and public github projects with your past work, if you can. I've had interviews with folks that I was on the fence about, and then went and looked through some of their code and that helped make up my mind.

alttab 6 hours ago 2 replies      
>>>>> I have over a decade of professional experience, but not a CS degree. I know multiple programming languages, but during most interviews I blank out on the questions asked. I panic and my brain refuses to work with.

The same thing happens when I'm asked to write code in front of the interviewer - I panic and lock up.

I've started to lose confidence in myself even though I know I'm good at what I do. Often times I feel that I'm being judged a bit harsher because I don't have a CS degree - though that could be me projecting my own insecurities.


It's like dating. If you think you suck, they will too. Here's a nugget: I'm mostly self taught. While I do have a CS degree, I didn't learn anything "new" until more than halfway through the program. Others that went through the same program and didn't learn shit got CS jobs, not because they were good programmers (they were not), but they behaved like good programmers.

Don't sell yourself short. As a hiring manager myself I can comfortably say you are more qualified than half of the people that get hired in technical positions.

Ignore your "lack" of education, and just concentrate on showcasing what makes you awesome.

The rest will come.

robotkilla 6 hours ago 0 replies      
Forgot to mention - freelancing has only been going on for a couple of years. I've had multiple full time jobs in the past, a couple of them for years on end. This isn't my first attempt at getting a job, but its the first in several years.
So much for organic search results on Google
2 points by skynetv2  2 hours ago   2 comments top 2
jpetersonmn 33 minutes ago 0 replies      
I get this page when I search Tevatron as my first result.


neikos 1 hour ago 0 replies      

I'm in Germany and this is while logged in. I can't reproduce what you claim. But Google is known to fragment their search results depending on previous usage patterns, I have never expressed interest in a particle accelerator though.

Ask HN: How should I pick a cloud provider (AWS, Google, Azure)?
6 points by tburger  5 hours ago   6 comments top 5
jordsmi 2 hours ago 1 reply      
From my experience AWS can be more expensive, but it is a joy to use. Once you get it down everything just syncs together perfectly and it is extremely easy to scale when the time comes.
phantom_oracle 5 hours ago 0 replies      
If your startup doesn't have an assumed hit-rate in the hundreds-of-thousands (or you are not in some computationally-intensive industry), ask yourself why you need to build on the so-called "cloud"? (which is meant for "scaling").

If you don't need the scale, don't build for it. It is like part of the last 10% of the 20% incremental changes you need. Focus on the 80% for now.

Buy yourself like 5 DO (or some VPS) servers, spin up your Docker (other easy-devops tool) containers and push your code.

Then focus on the really hard part, marketing/sales.

Note. I've also heard that AWS is quite expensive (comparatively speaking).

eddie_31003 5 hours ago 0 replies      
I think the biggest thing is just to avoid Paralysis Analysis.

If you're already committed to a specific technology, it may be best to continue down that path. As an example, if you're building .Net Applications it may be advantageous to move to Azure.

However, it you're looking to move fast and pivot when necessary you may want to look at AWS or Rackspace. I think those providers are pretty reliable and offer a lot of options.

NhanH 5 hours ago 0 replies      
I just want to note that of the three providers you mention, they're really not providing equivalent services (GCE is definitely much different than EC2, so does Azure and AWS ecosystem). So depending on your stacks, it should be an obvious choices (I can't say, because I don't know what you are doing).

Now, between Digital Ocean, Linode, Softlayer etc. (which are doing more of the same things), things got a bit muddier.

atian 3 hours ago 0 replies      
AWS seems to have their security down. I haven't heard of a single major incident from them.

Meanwhile Linode, RamNode, etc.

Google Glass to Explorers: "Thanks for Exploring with Us" (email)
12 points by tmwh91  1 day ago   2 comments top 2
bobf 1 hour ago 0 replies      
They sent out a different email to Explorers that returned Glass (I did) --

Hi there,

Its been an exciting ride. We learned A LOT and now were hard at work building the future of Glass.You gave Glass a chance-even if it wasnt right for you right now, you were still part of the story. That means a lot to us, so we wanted to share this collection of photos and stories from the early days of Glass.

Download Vol 001

Shots from the Glass yearbook

Youll start to see new versions of Glass when theyre ready, and theyre built on what we heard from Explorers like you. Well be eager to hear what you think.

Best wishes,The Glass Team

iamjoday 1 day ago 0 replies      
I have google glass... sad to see it sunsetting but look at the bright side... this announcement makes the current version of google glass collectible and limited edition... :)

cheers,Nash, http://joday.com

Ask HN: Tech news for people who hate tech news?
2 points by rmorabia  8 hours ago   2 comments top 2
27182818284 7 hours ago 0 replies      
I would recommend the New York Times technology section


and the MIT Technology Review, which even has a "You may have missed" section of important tech news http://www.technologyreview.com/

Best mechanical keyboard in 2015?
6 points by comatory  10 hours ago   18 comments top 8
wmoxam 1 hour ago 0 replies      
Matias! http://matias.ca

I use Mini as my daily keyboard (http://matias.ca/minitactilepro/mac/)

The upcoming Ergo Pro looks great (if pricy) http://matias.ca/ergopro/pc/

brudgers 9 hours ago 2 replies      
It's not mechanical, but the Microsoft Natural Ergonomic 4000 is worth trying because it sits comfortably in the lap. For me, this makes it better than any keyboard with a rectangular layout. No wrist arch. No "where do my elbows go?" In EMACS the symmetrical Alt and Ctrl keys are a huge advantage.

Like many Microsoft products, this is something that comes out of the fact that employees spend a lot of time typing at the computer. It's the kind of product that comes from dogfooding.

It's the AK-47 of keyboards.

nickysielicki 9 hours ago 1 reply      
Buy a particular model for the form factor and any features you want or don't want. (I like tenkey-less without backlight)

But most important than anything is the switches. I have cherry MX greens, and I think they're great for typists.


PS: One think you might not like about the Das Keyboard is that their USB models use multiple USB ports for n-key rollover and a USB hub and backlight and stuff like that, or at least the model a friend had did.

pizza 6 hours ago 0 replies      
I'm using a KUL ES-87 Tenkeyless keyboard with Cherry MX Blue switches. I don't use numpads like.. ever.. so the desk space I saved by ditching it is way more useful to me. No backlight, though.
zabador 7 hours ago 0 replies      
I use a WASD keyboard with brown switches. Love it. You can customize your colors and layout too. I went with an all black with blank keys. Looks really nice.


ksherlock 8 hours ago 0 replies      
I love my unicomp (http://pckeyboard.com). Some people know it as the IBM Model M. No backlight, though.
Zekio 10 hours ago 2 replies      
you might wanna take a look at codekeyboards.com seems like the type you are looking for.
stonemetal 10 hours ago 0 replies      
Maybe the Corsair K70. It claims to be a gaming keyboard, but it is a fairly standard keyboard layout.
Ask HN: Screencasts of skilled developers?
25 points by dbtc  23 hours ago   14 comments top 11
lllllll 12 hours ago 0 replies      
Great thread! Being more of a backend coder rather than frontend, I lately started consolidating my frontend skills with new projects. Very SASS focused ( I love it!).

These channels gave me some really nice ideas, I recommend to have a look at them!



allendoerfer 19 hours ago 0 replies      
I generally just watch YouTube videos of conference talks. When somebody says something interesting i look what else they have done in the past. If somebody is at an above expert level at a complex tool, he or she often has a history of publications about that topic.

There are some channels [0,1], which post them. Tech companies often have developer channels, too. I find Google's to market their own products to much. Facebook tells quite interesting war stories.

Finding videos is not really the problem, because they are generally 30 to 60 minutes long. When you bookmark them or add them to your watch-later list, they quickly add up. I have about 200 of them waiting to be watched.

[0] https://www.youtube.com/user/Confreaks

[1] https://www.youtube.com/user/MarakanaTechTV

corysama 21 hours ago 0 replies      
http://handmadehero.org/ is a currently active series where an experienced professional game developer is simultaneously coding and explaining the creation of an entire commercial game completely from scratch (without the use of middleware or libraries beyond OS vendor standard libs). The explanation is aimed at beginners and is very nicely delivered. https://www.youtube.com/user/handmadeheroarchive
avinassh 11 hours ago 0 replies      
I like Treehouse's YouTube podcast called The Treehouse Show: https://youtube.com/user/gotreehouse
whichdan 12 hours ago 0 replies      
Why would I take a screencast of myself reading HackerNews?
arb99 9 hours ago 0 replies      
dbtc 22 hours ago 0 replies      
Answering my own question here, but I'd still love to see anyone else's suggestions!

This seems like a good compilation: http://devblog.avdi.org/2013/06/21/a-list-of-programming-scr...

hackerboos 18 hours ago 0 replies      
The Play by Play series on Pluralsight (previously Peep Code) has pair sessions with some very skilled developers.
eip 20 hours ago 2 replies      
What would you be interested in seeing? I can't make any screen casts of work projects but I can do them for personal stuff.
elwell 21 hours ago 0 replies      
I agree. I imagine I could learn quite a bit just from sitting behind a Google/Facebook engineer for a few hours.
Notepad++ Je suis Charlie edition
7 points by okonomiyaki3000  1 day ago   1 comment top
ghuntley 1 day ago 0 replies      

    The Notepad++ official site was hacked on 12th January 2015, due    to its controversial new version 6.7.4 "Je suis Charlie" edition,    released on 10th January 2015. The site was restored on the same    day.    The binaries of this edition are on another server and they are    not compromised (the SHA1 published on 11th January 2015 is always    available on SF). The automatic typing in Notepad++ "Je suis    Charlie" edition after installation is a feature.    The message of the defacement accused Notepad++ of inciting hatred    towards Islam and accusing Islam of supporting terrorism. The    statements of Notepad++ "Je suis Charlie" edition support nothing    but the freedom of expression and only that. The fact of Notepad++    supporting the "Je suis Charlie" movement has nothing to do with    any accusation towards a specific community. In fact the "Je suis    Charlie" movement in France, as far as I can tell, deserves no    label of racism or of Islamophobia. I have many Muslim friends who    are for "Je suis Charlie". And sincerely, I don't think that two    extremist fools can stand for all Muslims or Islam itself.    If you don't like "Je suis Charlie" edition, that's fine. You can    still use Notepad++ v6.7.3 - they are the same in terms of    features and bug fixes. notepad-plus-plus.org could be hacked over    and over again, but I will always find a way to distribute    Notepad++ "Je suis Charlie" edition - that's my freedom of    expression which I claim as my right.

Is the human body structure best suited to their intelligent brain?
7 points by frade33  17 hours ago   7 comments top 5
nicholas73 11 hours ago 1 reply      
The brain is our most expensive organ, requiring massive calories and qualities protein/fat sources. In addition, it takes decade(s) to fully mature. In nature, that is a ridiculous reproduction disadvantage.

The only way that can evolve is through tools and social cohesion. For a small mammal to evolve to tackle on bigger game and thus more efficient protein sources, it either needs these things or adapt its body. Unfortunately, adapting your body is expensive as well. The only positive feedback loop is through tools and social behavior.

Wolves are intelligent animals as well. Probably as smart as toddlers. They are very social creatures that take on much bigger game. But they don't have hands.

From using tools, primates were able to streamline their body mass and reduce apparatus needed to digest vegetation. Thus, from the point of view of efficiency, I think the human body is very optimized for an intelligent brain.

It's not the only way it can happen, but it's very probable (at least to evolve from existing animals).

brudgers 11 hours ago 0 replies      
The human body is suited to the human brain to some degree. The human brain has human intelligence. While the discussion of intelligence in general and not just the human type is an exercise in anthropomorphism, there is no deductive basis for any claim that the human brain is intelligent in an absolute sense.

We can turn the ontological argument on its head. I can conceive of an omniscient and omnipotent intelligence, therefore human intelligence is very low on the absolute scale of intelligence and calling it intelligent may be misleading.

Going further, the question "How is a human with a different sort of body still a human?" hints at an assumption of mind-body dualism. Radical Skepticism aside, is a disembodied brain still a human?

I guess Aesthetics with a capital \#a were thrown into the mix to make the question less trivial?

debacle 14 hours ago 0 replies      
Evolution never creates the best, only the good enough. Nature is not an engineer - her only method is trial and error.
yuashizuki 17 hours ago 1 reply      
Our hands are the most important part, it gives us alot of ability to build tools.Its highly complex and only humans posses this, its one of natures marvels. So i dont know about other parts but the the hand and the fingurs have to be the same.
vog 17 hours ago 0 replies      
I belive this should be labeled "Ask HN: ..." so the title doesn't lead to wrong expectations.
Ask HN: What tools they use for analyzing stocks and maintaining portfolio?
4 points by lateguy  17 hours ago   discuss
Ask HN: Which newsletters do you think are indispensable?
4 points by samiq  1 day ago   10 comments top 6
laurenproctor 7 hours ago 0 replies      
Great list here. I also love:

- Things That Have Caught My Attention by Dan Hon - http://tinyletter.com/danhon He's the content director for Code for America and writes beautiful, thoughtful and personal commentary. Very smart.)

- Taylor Davidson's Newsletter - http://taylordavidson.com/letters Writings at the intersection of tech and photography. Similar to Benedict Evans' format.)

- Deb Chachra's Metafoundry - http://tinyletter.com/metafoundry (An engineering professor who writes a combination of personal notes and smart commentary about tech/science.)

- Weekly Gold by David Sherry - http://davidjsherry.com/ (A nice reminder to step away from your computer and take the world in + a cool startup recommendation every week.)

dshanahan 7 hours ago 0 replies      
I'll bit and plug my own, cuz it's killer. Musicgeeks: One song + a dancing GIF every weekday. Great music discovery if you're into that sort of thing:)


Edit: formatting

joannasaurusrex 1 day ago 0 replies      
I like my weekly email from Medium about what's popular.

As a hardware startup, my favourites are the HAXLR8R newsletter and the Bolt/Dragon Innovation blogs.

I also like blogs by VCs Gil Dibner http://yankeesabralimey.tumblr.com and Charlie O'Donnell http://www.thisisgoingtobebig.com

anonnyj 1 day ago 1 reply      
Perhaps you would get better responses if your title wasn't so childish.
informatimago 1 day ago 1 reply      
The keys a,e,y and o seem to be intermitently broken on your keyboard. I could advise you to a good DasKeyboard or Elite keyboard.
skidoo 1 day ago 0 replies      
Bruce Schneier. His are without fail a royal wealth of thoughtful information.
Ask HN: Is Swift ready for production yet?
66 points by flibble  2 days ago   41 comments top 28
ary 2 days ago 1 reply      
In your case, no. It sounds like you're designing, not building, the app. Letting your contractors use the technology they are most familiar with and that has the most mature tooling (for the platform) is in your best interest. Apple will be supporting Objective-C for a long time to come so you lose nothing from sticking with what works.

I say this as someone who has written many thousands of lines of Swift over the last few months. In an effort to learn the language and explore some user experience ideas I decided to write as much of my app as I could in Swift (it stands at about 95%). Since starting in September of last year I've alternately loved and regretted choosing Swift. For reference, I'll list the pros and cons.


- Greater productivity through new "safety" features (lots of caveats here, see the Cons section for why).

- The expressiveness of Swift often means less code to read than with Objective-C. Hopefully that also means less bugs.

- Swift code is (to me) much easier to reason about than equivalent Objective-C.

- The language is just plain nice. This is subjective, and not relevant to your particular case.


- The tooling is very immature. I have encountered multiple situations where the compiler itself crashes during a build.

- The static analyzer for Swift code reports erroneous problems. Until you learn the situations it doesn't understand it can lead you down the wrong path to resolution.

- Certain build problems are very difficult to diagnose. I have lost multiple days just searching for code changes that caused the compiler to crash.

- Xcode error reporting for Swift build problems can be vague, ambiguous, or non-existent.

- Xcode crashes, a lot. Technically this is nothing new, but since Xcode 6 I'd argue it has gotten measurably worse.

Swift is clearly going to be great, and it is clearly the future. Unfortunately the future isn't here yet.

pkaler 2 days ago 0 replies      
I have been writing Swift for 6 months now. Almost every single day. I will be shipping an App to the App Store this month written in Swift. The language is fantastic and the future of what languages should look like Swift.

However, I do not do billable consulting work in Swift. I am twice as slow writing Swift than I am writing Objective-C. The toolchain is very brittle. The debugger is near unusable. The instruction pointer bounces all over the source file while debugging. SourceKit crashes all of the time. Multiple times an hour. And build times are about twice as slow as Objective-C builds.

Swift is fine for personal projects or small libraries. I'm not going to bill hours in Swift until another major release.

Btw, I send a weekly Swift newsletter: http://www.swiftnews.co

wxs 2 days ago 0 replies      
As a datapoint: we build the Minuum Keyboard (http://minuum.com), and our iOS version was written from the ground up in Swift. That is shipped in the App Store and has been since iOS 8 launched.

To echo much of the sentiment here: the language is definitely usable in production now. The tooling is not ready yet. We have wasted untold hours dealing with XCode crashing. If you're contracting this out keep in mind those hours.

There are also some issues with the bridging to Objective-C for Cocoa APIs. As an example: we've had a few cases where for performance reasons we've needed to replace Swift arrays with NSArray objects.

That said: there's a lot to like about the language and there are parts of our codebase that are really nice by virtue of being Swift.

EDIT: I want to agree with a number of people here about using the language your contractor is comfortable with. If you don't have a strong in-house reason to use Swift, Objective-C is going to be around for a long time, so I wouldn't worry about that.

St-Clock 2 days ago 0 replies      
Swift is ready for production. XCode isn't.

Even if your project is written in Swift, you can still use CocoaPods through bridging header, and you can use embedded frameworks for pure swift libraries (caveat: if you are targeting iOS 7, you need to copy and possibly modify the source of the frameworks you use because embedded frameworks are not supported in iOS7). Although Apple APIs are available with Swift, the documentation for some of the libraries still only provides examples in Obj-C.

My main issue right now is with the stability of XCode. SourceKit keeps crashing on me (every 30 minutes). It has become more stable with 6.1, but it used to crash when I had too many parameters in a function or when I was trying to mix Obj-C and Swift. Sometimes I get build errors and after a few calls to clean, I can build my app (go figure!). This makes developing in swift not as enjoyable as it could be.

puls 2 days ago 1 reply      
I've been coding full-time in Swift for the last three months and at this point our source base is about 10K lines of code. Given this experience, if I had to do it all over again, I'd probably choose Swift again.

The good:

- Swift is a far better language than Objective-C. It's much safer, the type system is great, and the functional features are a joy to use.

- Everything largely works as advertised; even for a super new language, the amount of total brokenness is minimal.

The bad:

- The current compiler's error messages are frequently bad to the point of being useless. Try to mutate an immutable dictionary? You get a type mismatch when you could get an error about immutability.

- The compiler is a lot slower than I think they mean for it to be.

- The debugger takes several seconds to evaluate an expression compared to almost instantaneous evaluation in Objective-C.

- 8 MB of standard library in your app binary.

The ugly:

- "SourceKitService crashed" messages in Xcode flashing on the screen at 30 hertz.

But at the end of the day, if you're hiring an outside company to do this, why does it matter to you what language it's written in? Shouldn't they be able to use their best tools?

jefflinwood 2 days ago 1 reply      
When they say that, they probably just mean that their developers aren't up to speed yet on Swift, so they don't feel comfortable writing it in Swift.

You'd likely pay more for them to learn Swift on the job.

magsafe 2 days ago 0 replies      
I think this decision needs to be taken on a case by case basis, instead of a universal answer. You need to evaluate the lifecycle of the project. If this project is going to be around for only 1 year (like a game or marketing campaign that quickly ramps up and then dies down), you're better off getting it done in Objective C. The client will be happier given their familiarity with Objective C, and you'll have an easier time explaining it to their in-house team.

However, if this is longer term bet like an app that's going to be in use after 3-5 years, you should have a honest discussion with the client about considering Swift. While Objective C is more well understood and supported right now, that might not be the case in 3-5 years. Most Apple developers would rather be writing Swift code in that timeframe, and any ObjC code will be perceived as "legacy", difficult to debug, and abandoned code that no one likes to touch.

I've worked on many iOS projects like this, which contain pre-ARC code, which no one likes to go near. Bugs in that code tend to be ignored and entire features are left to rust because the source code is so dated that it's better to leave it alone than risk breaking anything by modifying it. If this project could end up in that state, it's better to be future-proof and start with Swift. However, if it's a short term app, choose the path of least resistance, which seems to be Objective C at the moment.

melling 2 days ago 0 replies      
According to this blog, you'll get more correct code with Swift:


Over the lifetime of the software, anything you can do to reduce bugs is a win.

By the way, I maintain a list of Swift resources. I have almost 500 urls from the past 9 months, so you can see that Swift is gaining some adoption: http://www.h4labs.com/dev/ios/swift.html

cubic 2 days ago 0 replies      
I'd say it depends on your definition of "production ready". The APIs are likely to be stable and well supported, but the current library does suffer some culture clashes, as they're mostly just done with Swift's Objective-C interop. A lot of the APIs are somewhat annoying to approach due to them being designed with Objective-C in mind. Most standard library APIs will be rife with implicit optionals and require extra type checking, especially if you're implementing delegates.

In particular, dealing with Core Data can be a holy mess with Swift because every single property on a Core Data object is dynamic and implicit optionals. Unlike Objective-C, which will happily pretend like nothing has happened (in many cases), Swift will explode quite spectacularly if you try to operate on nil values, and implicit optionals lets that happen without throwing type errors. Either be very careful with marshalling accesses to Core Data objects, or test thoroughly with different data patterns. Last thing you want is your app crashing because someone filled in data in your app that leaves a property set to nil.

I'd expect some resistance (on top of the "I need to learn a new language" part), and some swearing about all these "if let"'s or "I thought Swift meant no more null pointer exceptions!", but it's perfectly doable.

Osmium 2 days ago 1 reply      
I've recently been re-writing an old pet project from Objective-C to Swift. I've found the Swift error messages incredibly unhelpful in Xcode compared to Objective-C, but the resulting code to be a lot more readable and concise (and therefore, importantly, much more maintainable). I find myself writing a lot less 'glue' code too. On balance, I probably found the Objective-C code easier to write, partly because of Xcode support and partly (if I'm honest) because it lets me do more dumb/unsafe things, which should probably be discouraged.

For me at least, the biggest problem I've found is that I have no intuition for best practices in Swift (when to use certain language features etc.), and that makes me wary that I'm writing bad Swift code, even if it's technically correct. I imagine it'll take time for the community to standardise on what makes for good Swift code, and for more extensive learning resources to be developed etc. Sticking to Objective-C for now certainly doesn't seem to be a bad thing.

chriseidhof 2 days ago 0 replies      
There is no correct answer. It really depends. If you use Swift like a different syntax for Objective-C, it's probably way faster to keep writing ObjC (because of the broken tooling).

If you can leverage other patterns, such as FP, you might be able to achieve a big speedup in writing Swift.

It also really depends on when you want to ship: if it's a bit more long-term, Swift might be a better bet (I'm assuming that in a few years from now, almost all iOS apps will be written in Swift). If it's more important that it's ready next month, ObjC might be better, because the devs will know exactly what it takes to ship it, and will almost certainly not run into unexpected issues with the language or compiler.

That said, I'm writing my next product 100% in Swift, and we're on schedule to ship in 2 weeks. I wouldn't have done it any other way, and have seen a big increase in productivity and fun.

Arjuna 2 days ago 0 replies      
Interesting coincidence... I developed a game [1] in Swift and posted it as a "Show HN" about an hour ago [2].

Initially, I admit that I did have some rough times as I worked through all of the Xcode 6 betas, and that was quite challenging. However, things have definitely gotten better with production releases of Xcode.

I know that it's a game and not a traditional app like you are developing, but I think my game shows that you can achieve a quality result with Swift.

[1] https://itunes.apple.com/us/app/rocket-renegade/id955229059?...

[2] Show HN: Rocket Renegade, a Space Shooter for iOS in Swift


BSousa 2 days ago 0 replies      
It is production ready. It isn't without its quirks (specially Xcode support) but been using it for a while and works fine for production apps.

As jefflinwood mentioned, most likely they don't have the developers proficient in Swift and just want to downplay it. For me this is a red flag for the company.

akramhussein 2 days ago 0 replies      
My only real complaint is compilation time. I'm at around 3000 lines of code and maybe 30 files and it takes 2 minutes to compile and run. An Objective-C app would be less than a few seconds, but unfortunately Swift doesn't do incremental compilation.
neop 2 days ago 0 replies      
I recently worked on a production app that used Swift. It's certainly possible, but I wouldn't recommend it (yet). Writing Swift is nicer and feels much more natural than Objective-C, but the tools are not there yet.

Xcode crashes often (even more frequently than with Objective-C), the compiler will probably also crash at some point during development. Compiling Swift code is also considerably slower than compiling Objective-C code. Error messages are often cryptic and debugging compiler bugs is very time consuming.

There's also a few places in Swift where things still need some more time to settle, framework support is tricky and some very basic tasks are harder than they should be (for example, getting a substring).

dozy 2 days ago 1 reply      
Sounds like an excuse to me.

But, 'ready for production' is a relative term that must be considered in context. Apple is encouraging developers to submit apps with Swift, so clearly they think it's 'ready for production' in some contexts.

If you're building an app for which an obscure, swift-specific bug may cause a critical security or safety issue for your customers then perhaps go with objective-c to sleep better at night. Although my impression is that Swift is stable enough even for this category of apps.

But, I'd wager that vast majority of apps out there do not fall under that category.

dmritard96 2 days ago 1 reply      
Having written android apps and never having written an ObjC app, swift was a combination of confusion, aha moments, and wtfs. In particular, not so much the language itself, the lack of any kind of well supported and well used package management is rather lame. I don't know if this is something I should expect as I haven't worked with ObjC but coming from python and java land I don't really like submoduling in my dependencies and wiring all of them into the build system via the GUI.
csolares23 2 days ago 0 replies      
I personally made an app using Mapkit that's in the App Store. It's not exactly a huge or complex app but it works fine. I think it all depends on if the developers feel comfortable writing it in Swift. But the truth is why do you want it to be written in Swift? Does it really matter?

Shameless promotion: https://itunes.apple.com/us/app/mappa/id931699397?mt=8

harisamin 2 days ago 0 replies      
Id say its ready for prod but can still be a pain regarding tooling. Ive written a Faye client in swift http://github.com/hamin/FayeSwift and will eventually update my mac app too https://itunes.apple.com/us/app/mackernews-hacker-news-clien...
ehtd 2 days ago 0 replies      
I have released an app with Swift and libraries in Obj-C. Now I am developing an iOS game completely in Swift working correctly even in iOS 7. (Apple provides libraries to support Swift in 7, but in iOS 8 is native)

I think is more the contractor doesn't have the experience or don't feel confortable enough deploying a Swift App. There are some issues with XCode and Swift, but nothing too critical.

The language is ready, but most of the developers aren't.

NolMan 2 days ago 0 replies      
Swift is fine. I have released a Swift app that uses the maps api pretty extensively and it works great.

As BSousa mentions, xcode can be a bit flakey sometimes (syntax parser/autocomplete crashes sometimes) however it automatically restarts so it isn't really an issue.

I agree with BSousa that this FUD seems like a cultural red flag with the company.

mattschmulen 2 days ago 0 replies      
Absolutely , we shipped our first enterprise swift app at Elementum ( Manufacturehttps://appsto.re/us/Jfn34.i ) at the end of last year. There was a learning curve but the metrics regarding lines of code , and time to market made it well worth it.
Zaheer 2 days ago 0 replies      
XCode tooling support is limited in some areas but definitely production ready. LinkedIn's new SlideShare app is written completely in Swift:http://readwrite.com/2014/10/02/slideshare-app-built-in-swif...
incanus77 2 days ago 0 replies      
I'd agree with the sentiment that it's ready but not without its quirks. Check out some libraries I've been making in it per user request. Fun to write, terse, elegant.


allsystemsgo 2 days ago 0 replies      
Eh, I haven't enjoyed the debugger in Xcode when using swift.

Unfortunately, many of us iOS developers work for clients. These projects are usually on timelines, and if writing the app entirely in Swift slows us down substantially, we will likely go with Obj-C.

Also, Obj-C isn't likely going anywhere.

barumrho 2 days ago 1 reply      
Yes, it's production ready, but the quirks in tools are significant hindrance to productivity. I would estimate 1.2 ~ 1.5x longer to get it written in Swift.
Jeremy1026 2 days ago 0 replies      
If you are dead set on doing it in Swift shoot me an email and we can talk further about it. (Email in profile
coldcode 2 days ago 2 replies      
Has Apple shipped anything yet that runs in Swift? Can we tell?
Ask HN: What's left for early startup engineers as the company grows?
456 points by tootall  3 days ago   discuss
deangiberson 3 days ago 2 replies      
I'd focus on a repeating theme in your post, "and now they". This suggests that you already see a division between the management of the company and yourself. You haven't been part of the decision making process and feel that all possible angles have been locked out by an outside agency. How much feedback have you given to the company management that you would be interested in those positions before they where "taken" from you? Have you done a gap analysis between your current operating skill set and the expectations for those position? What skills have you tried to improve outside of "developer" recently that would show you are trying to expand your role?

You need to get past the "been told", and start communicating what you want to achieve. It might be too late at this company, but I would bet not, just because these roles are already filled doesn't mean they will stay filled, or that tasks won't outgrow the current holder. Think ahead, and aim for a goal, communicate with every means you have that your ready for that goal.

"Fortune favors the prepared mind." - Louis Pasteur

arielm 3 days ago 2 replies      
As a technical founder I actually face the issue on the other side, which is how to keep those that have been around for 5+ years challenged and motivated. Here are a few things I've learned that might help with perspective:

1. You shouldn't be afraid to ask for what you want. As a founder, it's tough to always know what goes on in everyone's mind. I try as much as I can but when I'm a part of the conversation I will be able to help much more than just being looped in after a conclusion is reached.

Every good developer wants to be challenged. Some want to stay on the technical side, others grow into managers, and some like to blend the two.Talk to the ceo/founders and let them know how you feel. I'm sure they appreciate what you've done so far and will be happy to figure out the future.

2. You're at a very unique position where not only do you know how the entire system works but you also know how it's supposed to work. This gives you the ability to contribute to any of the different roles you mentioned in a really meaningful capacity.

One of the comments said something about not being good at those. I mostly disagree with that on principle. Just because you don't have the training doesn't mean you won't be an awesome manager. Some companies actually don't hire managers but rather promote. I believe LinkedIn is one of those companies, and they do it because they want those the manager will oversee to really trust the manager. That's something that, as a developer, you can do when you've seen the person's work.

3. The skills needed to get something off the ground are somewhat different from those needed to take it to "the next level". It doesn't mean you can't have both, but it is a question you should ask yourself. Do you like the rush and the excitement of creating something new? Or do you like the joy of seeing a large system run smoothly at super scale with time to sleep? Or both.

steven2012 3 days ago 2 replies      
One thing you need to come to grips is that regardless of how smart you are, the VP of engineering is probably someone that has a lot more experience and clout than you do. If they aren't, then the senior management of the company is terrible. If your company has grown to the size of 40-50 people, that's the time when they need real experience to help drive them forward. They can't take a chance on a great programmer who has never managed an organization before or grown it from 40 to 200 people. So you need to accept that.

But you should stick by the VP of Engineering and learn whatever you can from them. Be their right-hand person, and try to become someone that the entire company goes to for technical issues. It's not hard to be the de facto CTO, just make sure you are a part of all the technical decisions, and a positive guiding force for the company. As you become more and more the face of technical decisions, eventually you'll be recognized for it, or you can go to another company in that higher role.

fotoblur 3 days ago 4 replies      
I see a number of posts saying that you're probably not experienced or qualified enough to hold these other positions. However, I don't think the VP of Eng, Dev Mgr, or OPS Mgr could do what you do...essentially help start and build a company from day one.

Those skills you've developed don't have much value at your current company any longer. They are most likely keeping you around for historical value and once the systems you built get replaced its over pretty quick. Take those skills elsewhere and brand yourself as someone who takes a company from 2 to n employees.

Not everyone has your skill set so learn how to market them. I'm on my second company where I was an early hire. I learned that you're way more valuable in the beginning then you are at the end. Eventually I got pushed out by management types because I held on to the notion that I helped build this company and deserved something for it. Don't wait too long to realize it.

ChuckMcM 3 days ago 2 replies      
Interesting question you might ask yourself, do you want to be in management or not? Do you want to be customer facing? Or not?

When companies are small the jobs are all blends because they have to be, you just don't have the resources to do more. But as the company gets bigger (presumably through growth and not just a funding bump :-) you can allow folks to focus full time on specific roles which, in theory, gets you better execution of those roles.

A friend of mine once said you often could figure out what role you liked "best" by the first thing you did when you got in, did you check the build? (developer) did you check email? (manager) did you check the web? (marketer) A bit simplistic but it does make for interesting introspection.

As employee #2 you're well connected with the CEO and the other founders, and you can talk about what you want in your future. You should sit down and have that talk with them.

balls187 3 days ago 1 reply      
The rub with startups is that leadership may not have experience with developing careers.

From what you've written, it seems like you really don't have a lot of experience developing careers either, which is one reason to bring in an experienced engineering manager. It's not a knock on your skillset managing a 10 person team and delivering. Just a realization that management isn't something you can just quickly learn on the job.

My advice: have a discussion with whomever the new engineering manager is, and explain your career aspirations and the current dilemma you have.

scosman 3 days ago 0 replies      
At a company with 45 people, all of the roles you mention probably should be dedicated roles/teams. You didn't do anything wrong, you were just successful at growing a company.

If you want to wear a lot of hats, go join another early stage company (the items you mention make an awesome resume). If you want to grow at the current company, pick an area or two (development+strategy or management) and let the ceo know what you are interested in.

frozenport 3 days ago 3 replies      

Be pragmatic: there will be other opportunities which are equally interesting and staying isn't helping. You could be CTO at a different startup. Further, you should be approximately at your zenith at the company and they should be able to provide a strong reference, if you stay dissatisfied your performance and appearance will suffer - along with your potential for future employment.

Also happiness is about the journey (career, parenting, etc). If you're not on a journey you won't be happy!

n72 3 days ago 0 replies      
This exact situation happened to me. If you are at such a distance from the founder that he doesn't care about your place in the company namely you're not considered one of the "important people" your problem is two-fold:

1. Your immediate job won't be as gratifying.

2. (And this is a bigger deal) You won't be in the room during the exit when the money is being handed out.

Re 1, as I saw it, given my equity stake, I should just put my head down and wait for the liquidity event. This worked well, though was a large blow to the ego. Given personalities and priorities of the founder, agitating would have put my equity stake at risk.

Re 2, despite the fact that you may have an iron clad equity stake, there is often money that is handed out in an exit which goes beyond equity. In my case it was about $90mil in retention money. If you're seen as one of the "important people", you'll be in the room when that is being divvied up and can get your hands in the cookie jar (at that point it's just a land grab.) If not, you're shit out of luck, since no one at that point will be looking out for your interests.

So, I would say I would take the long view and not worry too much about the ego/job satisfaction. If you end up set for life, the resentment will fade. (I'm 3 years post liquidity event and the resentment is for the most part gone. Both for the name on letterhead issue and being left out during retention.) I would, however, do all I could at this point to re-establish myself as one of the 'important people' so you can be in the room when the cookie jar is open. In my case, it was impossible since in my obviously biased view the founder was an ass and an idiot, but perhaps your situation is still salvageable.

vessenes 3 days ago 1 reply      
You've got a bunch of options, depending on your interests and skills.

You could be a repository-of-lore brilliant coder / guru. Sounds like this is roughly what the CEO has carved out for you right now.

You could be CTO/Head of Engineering. You may or may not want this job or be suited to it, based on what you've said so far.

You could sink down into the organization as a (hopefully) really rich mid-level engineer and enjoy the ride.

You could do it again as a founder rather than early employee somewhere else.

I think you should figure out what would be best for you, what you want, and then see if the CEO agrees and will make it happen. At some level, if you're a few years into vesting, and the company is successful, it may not significantly change your financial outcome to stay -- you have early stage stock in a successful startup. More could be nice, but it won't change your outcome 10 or 100x, like moving to a founder role would.

Lots of good options; just don't do the west coast thing and stew on it while you write increasingly bitter tweets and blog posts. :) Today is a great day to get some clarity!

timtas 3 days ago 0 replies      
> Where did I fail to claim my part when the company was growing?

You don't give us a clue to answer this. Your whole story is about things that happened. You haven't told us about what you wanted. You haven't told us anything that you did to get what you want. Did you know what you wanted? Did you do anything to try to get it for yourself?

> I should just "be happy."

I call bullshit. If you were happy to passively accept what's being handed you (money, responsibility, acclaim), you wouldn't have made this post. Honest mindful gratitude makes a person happier, but cloaking bitterness with false gratitude, which this sounds like to me, will make a person ever more bitter.

You have to start with what you want.

If you want to keep doing everything like you did before, then you should make a career as early stage CTO. If you want reward and acclaim for that, then you have to negotiate it up front, usually as a nice slice of equity. Be advised, there's risk in that.

If you want to grow with a company, then you won't be able to do everything you were doing before. You will have to focus. And you have to assert your case that you want the role and can be successful in it. To grow with the company in one of these roles, you'll need to cede the other roles to new teammates. You will probably have to mostly stop coding. You will have to embrace the thousand headaches that come with the new role as the company grows.

These are two possible career strategies. There are others. All start with knowing yourself. All depend on asserting yourself.

mtmail 3 days ago 0 replies      
I've heard that before. You were very productive coding, almost too busy and if they promoted you then they would be one good coder short. It was easier to hire somebody fresh with an outside look to think long-term. I expect you will soon be heading a 'special projects' group as a perk to keep you motivated (that group might build a second website or launch in another country or create prototypes so that could be great).The only thing you could have done would be to insist on becoming a/the CTO from the beginning and not let them hire anybody on top. Were you cut for that from day 1? Often investors add pressure to replace parts of the team with 'more experienced' experts, that can also affect founders (being stripped of CEO and president titles).
lurchpop 3 days ago 0 replies      
I went through the same thing at a start-up I founded (with others). It ran for 10 years and I never jockeyed for a management position. I just stayed a developer. In the end the fact that I was a founder who played a giant role in building the company meant nothing. I got sucked into one of many layoffs. No severance. Just back vacation pay and a fake tone of regret from the new engineering manager who made the call. The other founders had already left years before me and went on to even bigger and better things. I stayed because it was comfortable, but I regret not leaving years sooner.

I would guess most people there don't even know who you are, right? They might even know, but they probably don't get it because what you did in the past doesn't matter. Your company is becoming more corporatized and in that environment all that matters is your title. Since now it's likely just "developer" or "senior dev" or something, you're just another scrub with a good backstory.

If I were you I'd update my CV to reflect the contributions you made then start working your network to find the next thing.

ww520 3 days ago 1 reply      
Early employees of a startup are in a rotten deal. They took slightly less risk than the founders, similar pay cut, but with order of magnitude less equity, and with more work in designing and building the product, running operation, doing marketing, and selling to customers. When the company goes under, their loss is the same as the founders. When the company does well and scales up, their positions and roles will be diminished substantially, and their equity would be diluted again and again with each round (later grant is often not at the same scale as the initial option grant).

Early employees are basically jack-of-all-trade doing essentially the same job as the founders (minus the fund raising) in building up the company but with much less of the upside. If you could, be the founder. Don't be the early employee.

dlandis 3 days ago 1 reply      
> Where did I fail to claim my part when the company was growing?

Seems like it is not too late; just talk to the CEO and VP of Engineering and say you want a new role created called Chief Architect or Principal Engineer. As employee #2, it seems perfectly fair that you should get some additional recognition above and beyond simply "developer". If they like you and want to keep you, then I think definitely they would not object.

legohead 3 days ago 0 replies      
Make demands if you still have power/clout left. My story was pretty much just like yours -- I was engineer #2 (after the CTO), I pretty much built the company along with the CTO. I have patents with me as the inventor on them through the company.

Early on I was promised equity in the company, but never got anything in writing (I knew nothing about startups when taking this job).

I was actually treated pretty well as an employee, given good raises, position upgraded to Director level.. but that equity thing was always out of reach, and they kept pushing it off with various excuses. I trusted the CTO, but the CEO was a greedy type.

By the time I put my foot down, it was too late, and they had no problem letting me go. If I had made demands about 6 months earlier they would have been forced to do something or end up REALLY hurting. But I had knew that I had waited too long, so I secured a job before I tried anything. I learned a lot at the company, so I'm grateful for that, and I'm working at a much better and more interesting place now :)

wpietri 3 days ago 0 replies      
> Where did I fail to claim my part when the company was growing?

One problem I had in my youth was that I really wanted to be recognized for what I did without a lot of blowing my own horn. If I self-promoted, my victories felt hollow: was I getting kudos for my work, or for my self promotion? So I energetically avoided calling attention to my accomplishments.

Eventually I came to realize that this was a little crazy. I can't expect managers and clients and investors to automatically appreciate all the stuff that it has taken me years to learn to do well. I've discovered that there is a reasonable level of taking credit that is neither sleazy nor slighting of my colleagues. Being modest and self-effacing is good, but it can be taken too far.

So let me answer your question with some more questions: Do the executives know that you did these things well? Have you told them you wanted a position other than as a line developer? Do they know that you're unhappy? Are you regularly discussing your career plans with them?

If you, like I once did, find that stuff revolting, then I'd encourage you to find someone to help you practice those conversations. You shouldn't let your ego speak all the time, but it is ok to let it out of the cage once in a while.

jonpress 3 days ago 0 replies      
You have to ask for equity at the beginning otherwise you have no leverage down the line. They don't want dead equity on their books so they are more likely to give you the position you want if you already hold vested equity.

If a company refuses to give you equity, you shouldn't join that company - People don't change like that; if the employer has an exploitative attitude at the start, it's not going to change.

Also, you have to be assertive when you talk to them or they won't respect you and will just use you and put someone less qualified (but more assertive) in your place.

It really sucks, but this is life. You have to lock-in the value of everything you produce before you even start! You can't give other people options because they will screw you.

Not all managers are like this, but most of them (by far) are! I think Silicon Valley might be an exception - Mostly because CEOs there are younger and more optimistic.

spullara 3 days ago 0 replies      
I would focus on technical strategy. It is by far the most high-level, important thing you can do on the engineering side and your point of view should be critical. Is there a CTO? Nothing beats a system wide view to really know where to focus.

I was in your position in 1996 when I worked at WebLogic I was the first server engineer after the founders. To give you an idea of what a crazy career path that can lead to, see my LinkedIn:


I'm still an engineer and code everyday. Just have a lot of other jobs :)

SandersAK 3 days ago 0 replies      
If they haven't elevated you into a senior management role after doing all those things successfully then they're probably fucking up.

if you believe in the company, and the founders, go to them and fight for what you've created and your position. If they don't listen and help come up with a solution to retain you, it's probably time to move on.

ScottBurson 3 days ago 1 reply      
It's time for you to start your own startup. I'm dead serious. You have demonstrated a lot of necessary skills. All you need is a cofounder and an idea. Take your time and be selective. As an experienced technical person you will be much in demand as a cofounder; you have the upper hand and can pick whom you want to work with. Or even do it solo if no one shows up that you feel good about.

Your career path is your responsibility. Don't expect anyone else to care about it, though occasionally someone might.

seeingfurther 3 days ago 0 replies      
Congratulations! You literally built a company and now have what it takes to found your own.

I would vest in peace, learn from senior management (seems like your company hired good senior folks) cultivate relationships both in and out of the company (VC + advisors)... then start tinkering in your free time. Once your options vest you should be ready with an MVP and solid contacts to hit the ground running.

wwweston 3 days ago 0 replies      
> Where did I fail to claim my part when the company was growing?

One thing that might have been better if you cared about not being hired over: ask for the title of CTO or VP of Engineering when you were hired. If they give it to you, you know you're on the same page. And if they won't give it out to you when they're least proven, you can bet that it's unlikely they'll consider giving it to you later when they have more options (and can bring in a new shiny person whose only limitations are those they can discover before hiring).

That's in the past, though. The good news is that you've got a good story here that counters any claim that what you do best is "just writing code." Sit down with the management that's trying to define you that way. Remind them everything you've delivered, just like you told us. After that recap, tell them something like "I've enjoyed contributing to the company's success in all these ways that go beyond writing code, I see continuing to contribute and grow in this way as an important part of my career development." Don't make this about competition with the new VP and ops guy -- let management know you intend to do everything you can to help the new hires make their big contributions too. Just let them know you need a continued technical vision/management role, a title that reflects it (though it's probably not going to be VP), and a path for the future. If possible, come up with some new ideas/initiatives of your own before this conversation, and maybe even a title to suggest. Sell them on a vision of how letting you contribute in this way is going to make everybody more successful, just as it's gotten them to the point where they're at.

And if they don't respond to that... if everything you've written here is true, I suspect there's no shortage of other startups/businesses that might be pretty interested in having you help them succeed.

aug-riedinger 13 hours ago 0 replies      
Go get yourself another job: your a bootstrapper, not a long time runner.Do the same somewhere else. Plus you learned a lot since then, so you should be able to get more responsibilities/remain fullstack longer!
dougmccune 3 days ago 0 replies      
I have a similar story in some ways. Employee #1 at a startup, wrote much of the initial codebase, been with the company now for a bit over 7 years. Were 20 people now, and have dedicated people for support, UX, QA, product management, etc etc all of which I used to have a hand in in the early days. I manage a small team of developers (not all the dev, just the clientside team), I still code a good bit (obviously less than before) and Im involved in a lot of product discussions to figure out what were going to build. Weve struggled a lot with figuring out the right title for me, and as long as the actual work is the right mix for what I like then I dont really care all that much. But Ive been recently brainstorming appropriate titles that better reflect what I do, beyond just being a developer (which has been my title since day 1), and Ive come to settle on Technical Director of Product, which I dont think is a real job title in any normal world. I make sure that Im heavily involved in product decisions, because the thing Ive found the most satisfaction in is defining and building product, and shaping the direction of the company through influencing the product development path. And Im grounded in the technical side of that, which is an important distinction to me, since too often product people have no technical background and just lob things over the fence to engineering without understanding the tech side of the house.

So for me the important thing was trying to understand what parts of the job I really want to prioritize (in my case active coding and product definition) and regardless of title making sure I inject myself appropriately. So that means if theres a conversation about a new product were thinking about building I make sure Im in those conversations from the beginning.

If youve been with the company from essentially day 1 you likely have a decent amount of political sway, even if you dont know it. Id start by figuring out which parts of the things that you listed you actually want to stay involved in. As another commenter mentioned, if you really want to wear all those hats then maybe finding another brand new startup is the only real choice. But if theres one or two areas that are dearer to your heart then Id try to figure out how to make that your day to day activity. And Id hope given your history with the team that you can have a dialogue with the founder(s) about how to make that happen. At the end of the day the title doesnt really mean shit, but if youre not loving the work then you owe it to yourself (and they owe it to you) to figure out how to make that right.

lmg643 3 days ago 0 replies      
The main question I have, which I don't see addressed in your description: do you have a meaningful equity stake commensurate with the contributions you perceive you made?

You might need to adopt the "owner's" mentality - which is that as long as these people are growing the value of the company, you are free to focus on what you enjoy the most, while they work to make your equity more valuable.

That said - if your contributions in all these areas are truly valuable, at a small company, there's always a case to be made for someone to be spanning functional areas, if they have the expertise and chops to add value. Probably worth a conversation internally. As others have said, assert yourself a bit.

gitdude 3 days ago 0 replies      
Let me tell you the blatant truth which no founder will tell you: You are just a worker bee for them. They will do whatever it takes for the startup to be successful. So even if you gave your blood and sweat, and single-handedly built the product in the last 2 years, if they think (I should underline they think) that a vp of engineering will do a better job than you - then they will go out, hire that person and probably give them more equity than you.

You should think about what's best for you next. If you think you are not going anywhere, you should cash out and leave.

iamjoday 1 day ago 0 replies      
If you are doing less things than you used too is typically a sign of growing company... hopefully you will have your efforts payup in a big way... best of luck!

I have always felt that working in startup is like giving a kid 10 toys to play with and taking one toy away every year. It's very normal not liking and feeling of giving up something you own but it is as important for a company to get away from generalized to specialized resources with the growth.

a senior management leader once told, his goal every year is to find, train and pass on the baton of some of his existing responsibilities to next person until he has nothing else left...


flagZ 3 days ago 0 replies      
Interesting thread, and I feel it applies to me too... I just recently left my role as a VP Engineering in a 20 people startup. I think there is some disparity here as I am UK based and titles here are a bit different...

When I started, there were already a few people working on it, but because of an office move, nobody stayed. In a way, I am engineer #1, just with some code to maintain already. I had experience as a lead engineer already, but my job here was much tougher, I had to change my role every 6 months, from only coding to only devops, hiring, managing, doing all tech strategy choices, doing resource allocation, doing management meetings, etc...

I was eager to improve as a manager, but I still loved coding. It was very hard to hear that the company was hiring a CTO and leave me no authority. Now that person is full-time.

I tried to be very clear about it, I am aware of my strengths and weaknesses. I also fully understand that a founder needs to think about what's best for the business and not just people's carreers. I also made it clear I was there to learn, but the reality is that I never felt I was given a chance.

I stayed there a few months to get some learning from the new CTO, vest some more options and then I left. I left because the situation was toxic for me, with a mixture of resentment and miscommunication from their side. I personally think there's not much you can do in those cases... just start again.

Now onto the next adventure...

Joeri 2 days ago 0 replies      
What is your title? I'm guessing it's developer or engineer. If you view yourself as such, others also view you as such, and you won't be considered for management roles, because you're not a manager. I've chosen this for myself deliberately, and i accept that the cost is that i have to define my role more narrowly. I don't think how long you are at a company matters that much, or even should matter much. As the old saying goes: what have you done for me lately?

I've seen this transition happen myself, where the company grew, got cut up into a bunch of departments, all of which got a manager, mostly external hires. I feel like this way of organizing companies (departments, hierarchical, middle management, etc) is an anti-pattern. Everybody does it because everybody does it, but every dividing line you add reduces efficiency, and I've seen firsthand how damaging middle management is to the agility at the individual level. I don't know what the antidote to this anti-pattern is, but i feel like company structure is a territory ripe for innovation.

ziles88 2 days ago 0 replies      
I'm going to be honest here and say you're like the best person for the job you have. The guy who got VP? He's a more qualified manager than you. The guy who does support? He's got 8 years experience and a masters degree. You? You're the best developer they have. This practice is even more common in enterprise. I worked in tech for the largest company on the planet (take a guess) and it was routine to find the best developer was as most a team lead, never management. HR strategically will shoehorn these people but cutting off their avenues for growth. In my experience however, if it's money you're after these companies will happily shell out. It's not money their trying to save, it's expertise. It will also pretty common in enterprise for guys to NOT want to be moved up. Not everyone wants to put their neck on the line, and once you move up it's impossible to move down.
abannin 3 days ago 0 replies      
There are tough questions to ask yourself, and I applaud your introspection. One of the challenges of a rapidly growing company is keeping up with it. Hiring is about finding the right person for the right time. When a company changes drastically through growth, expectations and functions change. The person who did x may be unqualified to do y. In short, the company grows faster than the individual. Another dynamic is that as the organization grows, the need for generalists gives way to specialized employees.

I think this is a very powerful statement you made: "all the tasks I did were less challenging than some critical parts of the code base I wrote from scratch". This tells me that the problems that interest you the most are coding and architecture problems, and that you are happiest when solving those problems. Employees will have the greatest positive impact when they are focused on tasks that they enjoy. But it seems that you desire something more. What is dissatisfying about the current situation? Are you bored with the coding? Are you jealous of others getting recognition? Are you frustrated with the direction of the organization? Are you frustrated that you are no longer "that guy" whom everyone depends on? All of these circle around the same question: where do you want to be?

Leadership comes in many shapes and sizes. It's not just about how many direct reports you have. Fundamentally, great leaders shape the direction of an organization. Employees look to that person for advice, encouragement, and approval. It sounds like the company decided to hire others for formal leadership roles. A very difficult and powerful question is to ask yourself "what is the VP doing that I wasn't able to do?" There is a tactical reason that the CEO hired the VP, and it isn't because of credentials. Perhaps it's his/her ability to communicate across teams, or gain the confidence of management? Don't let your ego tell you "nothing, I'm better than them"; there is a reason they are VP. Different jobs require different skill sets, and understanding where you are strong and weak is critical your success. Being an engineer who kicks out mission critical code is fundamental to the success of the business, but it is extremely different than developing and managing a team. With a humble attitude that is always looking to improve, there is no stopping your career growth.

andrewtbham 3 days ago 0 replies      
When they were hiring all these people... how did you react? did you express interest in these roles?
drawkbox 3 days ago 0 replies      
Take all those awesome skills you have learned and do those for yourself on the side.

You have learned why every good developer has side projects, gotta keep the dream alive. Two of my engineering heroes did just that, Scott Adams and Mike Judge. They can also be technical related in games, apps, etc on your own. It is much better that way in the end if you like products to launch with any amount of control.

> Scott Adams has always had several side projects because they gave him energy to endure his boring job. One of these projects became the sketches for Dilbert.


Harness the energy of that boring job into something great, it is the American Dream of Engineers across the land subjugated to the power structures of now.

When you have your own things on the side you are also a little less ego driven at work as you have controllable areas on your own products and it lends to smoother teams somehow. Encourage others at work to have side projects, watch how it makes them relax and work better at work.

Most of all, always do quality work, even if it isn't fun make it fun or gamify it. If you are in a situation that prevents you from doing quality work, then you should move on.

slantedview 3 days ago 0 replies      
Is there a certain role you feel you were overlooked for - VP of engineering? Manager? Or did you want to continue being an engineer? If it was the former, the time to voice your desire has probably passed. If it's the latter - and you really do just like writing code but want some sort of recognition - well, take the money I assume you'll earn and think of that as recognition.
csabia 1 day ago 0 replies      
You can find analysis and hints on this and other similar situations in the last book from Ben Horowitz "The Hard Thing About Hard Things"http://www.amazon.com/Hard-Thing-About-Things-Building-ebook.... I'm reading it now. There are a lot of interesting insights about how startup Companies scaling works.
twunde 3 days ago 0 replies      
1) if you haven't already take a vacation.2) What do you want to do? What do you want to focus on? You used to have a lot of different tasks that you probably did a good job at given your constraints but probably didn't excel at. You're now being given the chance to specialize and focus on only a few things. As others have said, your co-workers probably haven't thought too much about growing your career. Once you decide what you want to do have a talk with your vp of engineering and possibly your early co-workers. Your vp should be willing to give you the opportunity to grow especially since you already have a lot of technical knowledge and general company knowledge. Also they presumably hired the vp because he has experience with bigger companies our more mature companies. Take the time to soak up some knowledge.While not a first choice, don't be afraid to leave for better opportunities. You've proven that you can build up a product and accept general responsibilities.
cdnsteve 3 days ago 0 replies      
Here are my thoughts with limited knowledge of your situation.

As employee #2, you are a technical co-founder, period. The problems you have outlined will not be solved be staying at the current company. It's apparent that the owner has chosen to keep you as 'just a dev', even though your contributions are outmatched and significant. It seems opportunity to seize more than what you could have has unfortunately passed you by.

From what you're describing in your post, it seems you're showing regret. Other people have been hired for these positions, even though you built it.

The thing is about being an early employee is that it's a blessing and a curse. Most people don't realize this but the thing is the feeling you get for being the guy that put this company where it's at today is unmatched.

The problem is that once it's built, you go into maintenance mode and it turns into a corporate machine. Everything you enjoyed and discovered during the process is now going through "procedures" and "process". The freedoms gone, other people are here now and they start getting the ears of the owner instead of you.

You feel like you own this company, you should, you built it and partied with the owner for years (guessing here). The biggest regret at this point is that you probably don't own enough (equity) or you were never made co-owner.

You have a choice, stay and give your last effort to be in the position you earned. Or leave, full well knowing that you will likely not be #2 at a successful startup again. We all know that startups getting successful is about the same as winning in the lotto. However, you could be the guy you are describing in your post, the VP of Engineering that gets hired for a startup that is starting to grow...

In either case I wish you the best of luck and as another dev can appreciate the weight of your decision.

dustingetz 3 days ago 0 replies      
Are you really young?

I would expect the first engineering employees to know the most about the stack and thus naturally become the engineering leadership as the team grows, which it sounds like you were. If they felt the need to hire above you, it sounds like you were lacking some cross-section of experience that the founders/board want. You should ask them.

staunch 3 days ago 0 replies      
You helped found a company and fell in love with the work of a founder. You can't re-found the same company, so found again!
webdisrupt 2 days ago 0 replies      
Quite frankly you should see this as an opportunity to start your own thing. More importantly I would question why weren't you promoted especially being the one of the first employees? Assuming you have done nothing to piss the founder off, you should be truly appreciated for what you have achieved whilst motivated through career progression etc.

Also bare in mind that this is a normal process for SOME companies as the more they grow the more people are hired so as to try and achieve more (this is debatable) work thus higher revenues.

Personally, I would see what you really want from life and if you are seeking credit/appreciation for your own work then

start a new business or co-found a product or join a startup that is prepared to give out equity

pjbrunet 3 days ago 0 replies      
I would move on to starting the next business, but maybe you need the steady paycheck? You started company A, company B will be even better.

On a related tangent, I would love to know how someone in his shoes could get crowdfunded to start a new business. What do you advise? (Maybe I should start a new thread and ask.)

bernardom 3 days ago 0 replies      
First, congratulations.

Second, let me focus on the management point. You wrote: "I managed an entire team of 10 people without ever missing a deadline of the whole team, and now they brought in an engineering manager"

a) Do you think the (now-bigger) team needs a full-time manager?b) If yes, did you want to become that full-time manager? c) If yes, did you make your desire known?

If the answer Yes, Yes, No, that's ok- lots of people want to continue being individual contributors. It's still on you to work with management to define the right structure that works for you and the company. Maybe you become some sort of Chief Architect. Maybe you help hire the manager.

Either way, if you were as pivotal as you say you were, you should certainly have the CEO's ear to bring this up in a constructive way.

sunir 3 days ago 1 reply      
It's important to understand it's business, not personal. I strongly dislike the comments in this thread that say "Leave". That's an emotional reaction but it doesn't help you advance. In fact, you'll slide back down the ladder. You should just explore what is the best option in front of you and do that.

Really, if you want more responsibility, you have to sell someone else that you're the best person to have that responsibility. No one should give it to you out of loyalty because that is a disservice to all the other people in your organization that are relying on you to fulfill that responsibility.

It doesn't sound to me like you know what you want to do--mostly because you have not explored your options. I will hope you have a good relationship with the founders. In that case you should have an open and honest conversation with them reflecting about your experience so far, that you're proud of the range of experiences you've had, and hence why you think you're ready to do something more--but you're not sure what.

If they are friends, they'll help you. You can ask them to give you feedback on what they felt you did well and what they felt others could do better, so they hired externally. This will give you something tangible you can work on.

If they are really loyal back to you, they'll create an opportunity for you to develop skills that will lead to advancement.

Of course, this conversation is very shocking and anxiety inducing for the founders so how you frame it is important. If you are not accusing them of passing you over, but really genuine about learning and developing yourself, most people will want to help you.

If not, you may find a better opportunity elsewhere. Again, it's just business. Keep in mind, sometimes you have to sell yourself into a role that you're not quite sure you can do--and then do it.

p.s. If you asked me, it sounds like you're interested in a engineering management role, which is not the same as a CTO role. If you have a conversation with the founders, you could focus on that.

gwbas1c 3 days ago 0 replies      
I'm in a similar situation, but with a much better outcome. In my case, however, as the company grew I made it very clear what I wanted my role to be.

It's best not to assume that the people you work with know what the best role is for you. I started around the same time as another engineer, but our roles diverged. This was, in part, due to both of us being open about where we expect our career to go as the company grew.

So, if you want to be something different, have the discussion with the people who hired you. They clearly have seen your talents and shortcomings. If it doesn't go where you want it to go, then it's probably time to find a new job.

scurvy 2 days ago 0 replies      
I'll be brutally honest. Most of the early employees at most startups aren't very good engineers. In fact they're pretty mediocre. That's why we get the term of technical debt. Take your options and experience and move on to the next gig. Move aside so the better, more experienced people can clean up your mistakes without you fighting them every step of the way.

Maybe it's a psychological thing, but really good engineers are never employee #1-5 at a startup. They just aren't.

myth_buster 3 days ago 0 replies      
All I see here is positives. Congratulations on building a startup.

Never been in your situation so my suggestions may not be appropriate. From the order you specified the tasks I think for you Technical Strategy aspect ranks highly. I think it gave you great challenges and satisfaction. If that's true then I suppose a role would be that of a CTO given that one of the founder is not playing that role.

Here is Fred Wilson's take on CTO vs VP of Engineering.http://avc.com/2011/10/vp-engineering-vs-cto/

tedchs 3 days ago 0 replies      
I have been approximately you a couple times. If it were me in your shoes again, I would leverage the huge amount of knowledge/skills I've acquired and jump into a new opportunity. There are basically 3 directions: 1) start your own company that you will build yourself, 2) find another startup in a similar spot to where you were 2 years ago, or 3) join a big company. I will say a likely outcome of joining a big company is you will be expected to focus, having relatively shallow but deep expertise (i.e. specialization of labor).
davidw 3 days ago 0 replies      
This seems relevant: http://jacquesmattheij.com/first-employee-or-cofounder although in this specific case it's not much help.

I think ChuckMcM's advice of chatting with the founders a bit sounds good. You could try and spin it in a positive way... "I was doing all this stuff, and even if it was really crazy at times, I felt like I was growing a lot and contributing a lot, and I feel like I'd like to continue that somehow. What do you think?"

lunarmobiscuit 3 days ago 0 replies      
Two paths I followed when I faced similar growth issues:

1- Time to create company product #2. Ask for a tiger tea, break out of the hierarchy, and have fun building something from scratch.

2- Move on. Find a great idea or another co-founder, and repeat the startup experience in another startup.

I've done both of these paths. Both can work. Both play on the strength of a generalist who can get a company off the ground, but then who doesn't fit into the subsequent culture of a growth-stage company.

qodeninja 3 days ago 0 replies      
Maybe it's time to move on.

A company I was at started growing so fast (factor of 10) that it lost it's identity and with it a lot of the things that made it enjoyable/interesting. We opened new offices downtown and in other cities and from then on it was time to pass on the torch.

Clearly, it wasnt about keeping the old guard, but about growth. I did learn a lot and am respected for what I was able to accomplish.

It was a great experience, but sometimes it's good to realize when you're just the launching pad.

Bowing out gracefully was the key for me.

cyberpanther 3 days ago 0 replies      
If I was in your position and not in a lead role I'd be upset too. Either they think your too valuable to lose as a developer or they don't think you can't handle those jobs. Either way you need to express your desire to grow. If nothing happens then it is time to find your next gig. It sounds like your a kick ass developer so I'm sure that won't be hard. Just make sure your next gig knows you want to do more than just development.
mrchess 3 days ago 0 replies      
Eerily close to an experience I've had in my career. Nobody is looking out for your career except yoursel and as the company grew, they left you behind, that's that. I'd attribute this to poor management, as you typically want to keep the core members, but sometimes this does indeed happen.

I suggest you leave and take this experience with you and be more aware during your next professional engagement. At this point, being in the company is holding you back.

wbillingsley 3 days ago 1 reply      
Perhaps if you can't advance inside the company it's time to advance outside the company.

They may well consider you as "an engineer with little prior experience, and we only gave him that role because we couldn't afford someone experienced yet". To the next firm, you are an engineer with experience building a company's central product from the ground up and leading a team of 40+ people in a high risk start-up environment.

onezerozeroone 3 days ago 0 replies      
You can play the lottery ticket game and move on, taking your 2 years of vesting with you.

Only do this if you think you've set the company up for long-term success and it will still be successful even without you there.

Also only do this if you think you can make out better in the long-term (more money, more equity, equally sure thing elsewhere), otherwise just buckle down and ride out the remaining 2 years.

Unless you think your current company is trash, then just bounce.

criticas 2 days ago 0 replies      
If you don't know what you want, you have two options.

You can learn to be happy with what you have, or you can determine what you lack, and work towards getting it.

Almost no one chooses the first option. When we don't actively work on the second, we often embrace our dissatisfaction without mindfully working to change it.

codezero 3 days ago 0 replies      
Who do you report to? Did they discuss these hires with you? If you have a good relationship with the founder, you should frankly express what you'd like your trajectory to be and come up with a plan to make it happen. If this isn't something you can discuss with your founder or whoever you report to, then you should look for a better place to work that is willing to listen to you and to help you grow.
jchrisa 3 days ago 0 replies      
Speaking as a founder who has tried hard to replace myself (so that I can focus on what I do best, which by definition doesn't fit into an org chart), maybe you'd benefit from switching gears completely, and using this opportunity to learn and experience the business side of things. Probably it would be hard to find a better chance to get a front row seat.
csmajorfive 3 days ago 0 replies      
Were you considered for these roles or entirely left out of the process? How much have you actually talked to your management about this?
legendben 3 days ago 0 replies      
People have taken you for granted and don't care about you, period. 1. Be vocal about what you want, be it a raise or promotion! This is America. If you don't ask, you don't get anything. 2. You have other options! Go make your own awesome startup. If you have so many skills like you said, why not? 3. Just out of curiosity, are you white?
alex_mil 3 days ago 0 replies      
I was in the same boat, not sure if I can give advice but I just took another corporate job while my company grows and I advise them and help where projects actually sound fun, otherwise I just don't care

In the meantime I work on building my own sellable tech.

Hope that helps, I'm working on a sweet e-commerce platform right now and building just little sellable tools

alex_millennial 3 days ago 0 replies      
I was in the same boat, not sure if I can give advice but I just took another corporate job while my company grows and I advise them and help where projects actually sound fun, otherwise I just don't care

In the meantime I work on building my own sellable tech.

Hope that helps, I'm working on a sweet e-commerce platform right now and building just little sellable tools

dkhenry 3 days ago 0 replies      
I know how you feel, there are many great engineers out there in the same situation. I think you might be turning the corner to be a founder. You know what needs to be done to scale a company to success the question is can you do it for yourself or just for others ?
harmonicon 3 days ago 0 replies      
I guess my question is, since you are employee #2, why are you not any of the guys you have named that "takes care of things". Like, it would be pretty normal for you to be that VP of engineering or Engineering manager. Have you sought for a more senior role?
tzm 3 days ago 0 replies      
Lots of good advice here. Sounds like you're in a good position and appear to bring quantified value to companies, particularly to startups. Just reflect on what you really want out of this short life and go with it. That includes the willingness to walk away.
DrJ 2 days ago 0 replies      
You will need to fit into one of those positions (if it makes you happy) or leave. You have a valuable set of skills and it's a great time to work on your own ideas.

I am currently in a similar boat as you.

Animats 3 days ago 0 replies      
Could be worse. I know someone who was an early employee of a startup. She had the desk nearest the front door, so she ended up being the receptionist. Five years later, she's still the receptionist.
pfitzsimmons 3 days ago 0 replies      
I went through this exact situation. I joined a company when it was just the founders and me, and then we grew to dozens and then hundreds of people. As we grew, I felt these same slights: I was left out of strategy meetings, I was not mentioned on the website, managers were hired over me, etc. Overall, it felt disconcerting as more and more happened outside of my control, and without my knowledge. At first I was frustrated, then I realized I had the best of all possible situations.

Some notes:

1) If you do not have much experience scaling a team, then it is sensible for the founders to bring in someone with more experience. Scaling team requires more than just hitting deadlines. It is about recruiting, retention, recruiting, managing personalities, career growth, recruiting, managing up, communicating across teams, etc.

2) Everyone's role changes as you grow, for better and worse. For instance, early on the VP gets to have fun setting direction and designing the overall product and strategy. Later on the VP might be spending 90% of their time dealing with conflicts, recruiting, firing, managing up, etc. They may long for the day when they got to play a big role in product development. Early on as engineer, I had the benefit of being able to build an entire product by myself. Later on, the advantage was that I could take vacations and did not have to deal with bugs and outages 24/7.

3) You will have to specialize to some extent. You cannot be the jack-of-all trades role forever, no one can. If you want to eventually have a VP/CTO role, then you will need work with your VP to develop your management abilities. For instance: ask for mentoring, start reading books and articles on management, ask to have a junior engineer put in you, help out with interviews and recruiting. (Note to actually get a VP role, you will probably have to switch to a smaller startup in a few years, using your cred from this gig to get you the job.) If you want to do greenfield development, work with your VP or founder to carve out a role building out innovative/experimental/skunkworks features. If you want to do scaling and architecture do that. There are lots of ways to interesting work and build valuable skills, but you are going to have to choose a course. (In my situation, I alternated between doing experimental/greenfield features and doing scaling/rewrite work on existing tools.)

4) With regards to customer facing roles, I highly advise that your company have a policy that every engineer spend a half-day in support at least once a month. It is essential that developers stay connected to the customer, both so that you can intuitively understand how to solve their problems, and to increase your empathy and motivation.

5) Try to figure out a way to get looped-in informally to the strategic aspects of the business. Make some sort of effort to have lunch or beers with a founder once a quarter. If you have 1:1's or have a wiki where decisions are discussed, then that can be a good thing. The execs understandably want to keep management and strategy meetings to a small number of people, otherwise the meetings suck. But finding a way for you to informally connect and give your two cents can be valuable both for you and the execs.

6) If you want to raise your profile and get your name known, use whatever leverage you have to get some favors. Ask to have yourself put on the web site as "Founding Engineer." Figure out a way to have the founders to introduce you to useful people, and to help you get into some of the more prestigious invite only events, whatever they are in your area. You have to use judgement and be diplomatic, because you might also lose out on advancement if you are seen as angling for a quick exit.

7) Generally, I would recommend sticking with the company as long as it is on an upward trajectory (unless you have a compelling alternative). You will learn a lot as you go, and your reputation will increase with growth.

Eventually I realized that I had the best of all worlds. Why does one want to be a VP? Usually money and status. What sucks most about being a line-level employee? Lack of agency/control. But in many ways it is less fun to be a VP, than to be a high-status engineer, who has enough sway to avoid micromanagement, enough credibility to control his or her own destiny, who can spend their time working the craft that they love. As engineer #2, you get status by virtue of your early employee number, and hopefully and you will get good money from equity stake (if not, then that is truly unfortunate). So hopefully you get the money/status benefits of being an executive, while still getting to work your craft, and still getting to stay in a peer relationship with your fellow engineers.

morenoh149 3 days ago 0 replies      
I would just leave and solve an interesting problem at another company. You have a large chunk of equity. Unless you want recognition - that's a different topic.
andrea_s 3 days ago 0 replies      
Do you think the company's management already knows that you'd prefer to keep a more management-oriented role? They may be mistaken in assessing your desires...
psp 3 days ago 0 replies      
Maybe you're experiencing small signs of burning out. Have you thought about taking some time off to think what makes you tick (or even changing a job)?
oldmanjay 3 days ago 0 replies      
I don't understand this "first world" business. Is it a generational thing to be ashamed of not living in a shithole?
flux03 3 days ago 0 replies      
I'm looking for a technical partner for this concept.


spiritplumber 3 days ago 0 replies      
1) Locate VP of engineering and/or engineering manager.

2) If you want their job: assert dominance.

3) Otherwise: flip finger, leave, start your own startup.

kylemathews 3 days ago 0 replies      
Leave. That's what I did when I got to the same point as you. Much happier now as technical co-founder of a startup.
pbreit 3 days ago 0 replies      
If it's a promising company, ride it out 2 more years for vesting. Were you interested in any of the roles you mentioned?
adamkittelson 3 days ago 0 replies      
Personally if I could eliminate all the aspects of my job that aren't just writing code I would be ecstatic.
legendben 3 days ago 0 replies      
People have taken you for granted. 1. Be vocal about what you want, be it a raise or promotion! This is America. If you don't ask, you don't get anything. Are you an American? 2. You have other options! Go make your own awesome startup. If you have so many skills like you said, why not? 3. Are you aware of your own weaknesses? Maybe there is major weakness about you that stopped you from getting promoted but you are not aware of it!
SeoxyS 3 days ago 0 replies      
Shoot me an email (it's in my profile), I can share my experience with this in private.
MagaManGo 3 days ago 0 replies      
Are you an owner or an employee? Employees get treated like employees.
pitt1980 3 days ago 0 replies      
sounds like you're in a great position to craft the position you want, and then shop around your experience to other startups

if you get a bite, go back to your startup, say you have another opportunity, see how much they want you

BrainInAJar 3 days ago 0 replies      
I hope you negotiated for a whole whack of equity.
dcobbe 3 days ago 0 replies      
I'd be interested in speaking with you. Bring your experience to my early stage, funded startup and let's talk about how you want to advance your career:


BTW, where are you located?

kyleblarson 3 days ago 0 replies      
Did you file an 83b for your equity?
dcobbe 3 days ago 0 replies      
I'd be interested in speaking with you. You have the experience I need for my early stage, funded startup:


BTW, where are you located?

krambs 3 days ago 0 replies      
beachstartup 3 days ago 0 replies      
as a founder, the most striking thing about your post is that you haven't defined or communicated what you role you actually want.

you need to figure that out, ask for it, and if you don't get it, leave.

0xdeadbeefbabe 3 days ago 1 reply      
Why must companies grow anyway?
criveros 2 days ago 0 replies      
Jack of all trades, master of none. Go to another start up or specialize.
bluedino 3 days ago 0 replies      
Get involved.


Side project.

tn13 3 days ago 0 replies      
I am unable to see what exactly "you" want from the company. Did you speak to the founders about your career aspirations and they turned you down ?

Did you want to be a manager ? VP of Engineering ?

The way I see it, being developer seemed a natural thing for you. I also assume you must have got significant stock options and you must be drawing lot more salary as well.

michaelochurch 2 days ago 0 replies      
This is a common problem. The startup has "grown above" you and it's time to consider moving on, because unless you start playing politics you're going to get demoted with each new hire. Negotiate a better title and salary (you'll probably get something) so you can get a better next job, and see about getting investor contact (preferably of a social nature rather than "presenting to" investors, because you want social equality in order to get investor-level mentorship that persists even if they can't fund your next bit) but you'll probably be out the door in another 6 months.

Don't take it personally. Even if it is personal, it's not worth getting bitter about it. The pro-young ageism only works for Stanford kids; if you're an average 24-year-old, this game still treats you like shit in most cases. The "social climbing" dynamic in startups isn't uncommon. It sounds like they don't have a culture of internal promotion. This will burn them, later on, because people will catch on to the social-climbing/no-internal-promotion culture and everyone will start doing bare-minimum work... but you probably won't be there when it does.

Ask for a VP-level title, even if it doesn't involve you managing anyone. If you don't have the experience to be the VP of Engineering, then you can't expect them to give you that title, but you should get something at the same level, so that you have political equality with these new guys. Even if it's a meaningless VP title ("VP of Technical Culture") it at least shows that they're committed to giving you the credibility that you need to continue contributing meaningfully to the company. No one's going to take you seriously if you're Employee #2 and don't have a title, and you can make this argument in the negotiation. And saying "no one's going to take me seriously if I don't get <X>, and I won't be able to do my job" is a great way of saying "I'll leave if I don't get <X>" without actually saying it; it has the added benefit of speaking from a perspective of their needs (your ability to do your job) rather than yours.

If you want to be a founder or CTO in your next gig, demand investor contact. If they won't give it, the words you want are, "If you're not willing to give me this, the right thing to do is to accelerate my equity vesting, so we can separate cleanly." You're not actually threatening to quit, but you're strongly implying it in a way that (a) makes it clear that your needs aren't going to go away, because you've started to think seriously about the future, but (b) doesn't commit just yet to one course of action. (They could re-up your equity, or give you the investor contact, in which case you'd stay.)

If your founders are good and this just happened "accidentally" or because you had your head down and didn't fight for yourself, you can improve your position significantly. You may not get everything you want (you might have to settle for a Director title and investor contact only to the more junior partners) but you'll make progress and be ahead of most people your age. On the other hand, if they're deliberately fucking you up the ass, then expect them to denigrate your work. Again, don't take that personally either; they're taking a political decision (to grow above and demote you, because they're social climbers) and back-rationalizing it. So don't let that, should that happen, embitter you either; just move on.

Good luck!

Ask HN: In what ways do non-developers waste money not knowing how to code?
8 points by castig  1 day ago   6 comments top 4
mrfusion 15 hours ago 0 replies      
There are probably a lot of use cases for version control in the non programming world where people could benefit.

I'm guessing people waste time copying and versioning files, and emailing updates back and forth, losing old changes, etc.

lsiebert 1 day ago 1 reply      
Taking data in one system or format that is already in a computer, and manually performing one of, or a combination ofm transformations, filtering, aggregating, moving to another system, etc.

Like I have gone through voter mailing data for a political candidate and filtered it, removed individuals who's addresses were outside the area or who hadn't voted in the last election, combined individuals with the same last name and the same address, then transformed it into a format suitable for address printing.

All that is pretty easy to do with code. If you wanted to go through several thousand by hand though in an unsorted list, that would be a pain. Businesses will have similar requirements... like taking sales data that is already entered and formatting it for a report.

Where non developers waste money is doing a repetitive time consuming rules based task on a computer without automating it.

Ancedotally, non developers also tend to undervalue their and their employee's time. If you are paying an employee to do a task, if it's not absolutely essential or doesn't have a ROI that's higher then money you are paying the employee per hour to handle it, it's time to consider how important that task is.

Finally, again ancedotally, non developers often won't invest in maintenance costs, and instead end up paying for time sensitive repairs or fixes, because they are easier to reason about. A coder is more likely to expect things to break, code to rot, etc. This can be in objects, services or in underpaying trained individuals so that their is a high turn over rate, where better pay might reduce that. Costco for example makes money despite it's higher pay because they have to train employees less. I think high pay also tends to reduce employee pilferage.

mrfusion 15 hours ago 1 reply      
How about knowing what things are easy or hard [1].

I'm guessing a lot of business owners might dismiss good ideas as being too difficult/expensive when they're actually easy to program.

[1] http://xkcd.com/1425/

castig 1 day ago 0 replies      
My first suggestion here is: having to pay your developer to make even the smallest changes (like a spelling mistake between a <h1> that if you knew the tiniest bit of code you could potentially fix by yourself).
What are your top 5 most frequently used apps on your phone?
8 points by avni000  1 day ago   20 comments top 18
luxpir 15 hours ago 0 replies      
Opera Mini, Modest (email client), Vim, SSH, QCPUFreq

Odd list, perhaps. Still ploughing away with the N900, overclocking it on every reboot. Notes with Vim are synced to laptop and raspberry pi via Syncthing.

Websites for everything else. Trying to move off Gmail (already have for work, self-hosting now, was sending as my personal domain for years via Gmail/Apps) and the Google ecosystem. Already out of Facebook for a good while now. Still tweeting, but only work-related. Would like to play with Slack, but an N900 client is probably not in the works :)

Side-note, while explaining, I'm holding out for a decent (open, free) alternative to Maemo. That looks to me like Ubuntu Touch/Phone, especially with their convergence plans, but the dust might need to settle on that first. None of the Jolla/Sailfish/Firefox offers look quite like what I'm after yet, for various reasons. A nice polished Ubuntu phone would bring me up to date and out of the 5 years-ago past.

If that all comes to pass then the top-5 apps list might look something like:

Firefox/Iceweasel, email client, translation tools, Vim, SSH

laurenproctor 7 hours ago 0 replies      
Mailbox, Chrome, Weather, Nike Running, and Network (a podcasting app) in that order.
lewisgodowski 7 hours ago 0 replies      
Messages, Safari, Mail, Tweetbot, ESPN SportsCenter
KhalPanda 17 hours ago 0 replies      
I'm surprised some form of browser isn't in the top 5 of everyone's lists.

Gmail, Hangouts (Android L SMS integration), Chrome, Sleep Better, reddit is fun.

Pyrodogg 8 hours ago 0 replies      
Gmail, Facebook, Chrome, Hangouts, Clock
cdvonstinkpot 9 hours ago 0 replies      
Facebook, Evernote, Twitter, in that order.
0942v8653 11 hours ago 0 replies      
Safari, Pythonista, Mail, Editorial, WolframAlpha
maraglee 1 day ago 0 replies      
Well 5 is a bit boring, no? For me at least that would be filled with mail, browser, whatsapp, public transportation app and runtastic. Beyond that: moon Reader, pocket, pocket casts, calculator++, Wikipedia
MegaLeon 17 hours ago 0 replies      
Reddit Sync, Pocket Casts, Pushbullet, Fitnotes (frequent gymgoer) and Headspace
Cyrag 1 day ago 0 replies      
K-9 Mail, Telegram, Google Calendar, BlinkFeed, Firefox
simantel 1 day ago 1 reply      
Coincidentally, an app may have some answers for you: http://homescreen.is/
FlopV 14 hours ago 0 replies      
Gmail, IHeartRadio, Instagram, White Noise
iqonik 1 day ago 0 replies      
Not including pre-installed: Twitter, Facebook, BBC News, HipChat and WhatsApp
Jeremy1026 1 day ago 0 replies      
Safari, Spotify, Messages, Twitter(?), The game that I am playing that week(?
theGREENsuit 1 day ago 0 replies      
Gmail, Reddit in motion, CBC News, Flipboard, GasBuddy
nonameface 1 day ago 0 replies      
Gmail, Slack, Drive, Audible, and Twitch.tv
pathy 16 hours ago 0 replies      
Probably something like:(Facebook) MessengerTweetbotChromeOvercastInstagram
onedev 1 day ago 1 reply      
Wow did not expect to see Starbucks in anyones list.
Ask HN: How to get started with paying side projects?
120 points by zorba  6 days ago   discuss
charlieirish 6 days ago 3 replies      
It's great that you're ready to take the leap in to making profitable side projects. Typically most side-projects fall in to two categories:

1. They never launch

2. They never make any money

If you can avoid these two pitfalls, you will likely achieve one or more of a) earning; b) learning; c) increasing your 'luck surface area'. So, it's a good opportunity if you can do it. There are plenty of reasons why you wouldn't have launched including:

- you kept your idea secret

- you tried to do too much

- you underestimated the areas that you're not skilled at

- you assumed that if you built it they would come

- More here: http://www.startupclarity.com/blog/launch-first-product-what...

The reasons for not making any money, or rather not making enough money that you wish to pursue it are multitudinous but include:

- you didn't choose a profitable product idea

- you underestimated the slow ramp of death: http://businessofsoftware.org/2013/02/gail-goodman-constant-...

- you charged too little

- you didn't solve a problem for people who were willing to pay you

- More here: http://www.startupclarity.com/blog/find-profitable-product-i...

I hope that helps and Good Luck!

petercooper 6 days ago 1 reply      
My business is formed of once side projects that gained traction and I doubled down on. My "in hindsight" advice is to choose whether a project is to be optimized mainly for fun, learning or money ahead of time - each radically changes how you (should) begin.

The first two are kinda easy, but if it's "money", work from the money back to the idea rather than figuring out how to make money from a certain idea. Who's spending money, where, and on what? What sort of people do you have exposure to (on Twitter, HN, wherever)? How could you improve on something people already spend money on? Etc.

rachelandrew 6 days ago 0 replies      
I think picking the right idea is the most important thing. A lot of the "never launched" side projects I see were just too big an idea to do as a side project. You need something relatively small, that you can build and launch quickly in a short amount of time. Find a problem that people are willing to pay to have solved, but that is relatively small in terms of time to develop a solution that will solve the problem.

You can do this as a side project because there are lots of things that can make a great side project, bring in a few 1000 dollars a month or more, but wouldn't be interesting to someone trying to launch a business they want to scale.

Look at tools and plugins for software people use already, especially software that has a reasonable pricetag and that people us in their businesses. Anything you can sell to people for whom time is money is a really good start!

I launched a side project 5 and a half years ago which went on to become our entire business. I wrote about that, in a way that I hope will help other people do the same, in my book The Profitable Side Project: http://rachelandrew.co.uk/books/the-profitable-side-project

cykho 6 days ago 1 reply      
1 - build an online portfolio of work (if you don't have one do personal/free projects to build it.

2 - go on elance/odesk to find some paying clients (pay is low, but easy to find). You can also use this to try different things and discover what kind of work you enjoy best. you can also call some technology consulting firms - they are always looking for talent.

3 - specialize in that area. tailor your website/blog to talk exclusively about that technology. between the inbound from your site and client base from consultant you'll easily be able to build an overwhelming referral stream.

bchjam 6 days ago 1 reply      
Well, do you want to challenge yourself technically or are you more interested in making money? I think that the approach would be different in both cases (and following the money you may still feel unfulfilled intellectually).

For me, I wasn't sure if I still wanted to program, so I went back to the things that got me excited when I started (math models of perception) and I fell in love with it all over again. Now my dilemma is turning that back around and actually working on what I'm most passionate about in a full-time setting. In the meantime, hobbying it is better than not doing it at all

mandeepj 6 days ago 0 replies      
Please refer to this thread - https://news.ycombinator.com/item?id=8844083
kidlogic 6 days ago 0 replies      
Take my advice with a grain-of-salt - I am not a strong developer. However, I do have experience in the Operations side of small businesses.

Since this will be a side-project (and your time is limited), try automating as many aspects of the business from the beginning. I am not implying that you should BUILD automation into the onboarding process, but use services like Zapier to make your life a bit easier.

steakejjs 6 days ago 0 replies      
In my opinion the best way to start a profitable side projects is to limit the scope of the project.

I fall into the category of starting too many things that I don't finish. I've recently realized that the size of the things I was working in was just way too big, especially since When working on a side project you are working around your life schedule.

After limiting the size of my projects I've found I am completing all of them

walshemj 6 days ago 1 reply      
You also need to check with a lawyer to see if you will run into legal problems with your day job and to check what IP implications there are.
tjlivesey 6 days ago 1 reply      
Choose something that interests you and something you want to use yourself if possible. If you can also try out a new language or some new technologies along the way, even better. If you build something with no expectations of making money, then everything is a bonus and you have had fun and maybe picked up some new skills. I would say for most side projects, the majority of the value is not gained from the revenue. Having said that, completing something and putting it out there is the most important part. Good luck!
leesalminen 6 days ago 0 replies      
Keep your eyes open, ears at attention and talk to all different kinds of people.

If you really pay attention, something will stick out at you.

You'll likely have many ideas. Research them all, come up with some kind of a plan for each. Sit on them for a while...one of them will jump out at you.

hackhowtofaq 3 days ago 0 replies      
wj 6 days ago 1 reply      
It sounds like the book Start Small Stay Small by Rob Walling was written specifically for you. I really enjoyed it. He also has a free ebook of his blog posts at softwarebyrob.com.

His advice exceeds anything I could offer you.

jsonmez 6 days ago 0 replies      
I did a short video on this topic, since I get asked it so much.https://www.youtube.com/watch?v=CjAf0TvrhYI
dmourati 6 days ago 0 replies      
Try odesk. Set a high rate and be choosy in who you work with.
jqm 6 days ago 0 replies      
Getting started with side projects is the easy part. Getting finished is the real trick. And the payment part seems to come largely after the second step (if at all).

I build small web apps for companies on the side. Little data management things the office can share... something like you might make with Access but obviously a lot nicer, more customized and networked. I host them also and charge a monthly fee. I don't think this is a way to get stinking rich. But it keeps me busy after work.

jbranchaud 6 days ago 0 replies      
A lot of people have been linking to Assembly lately, but is there anyone actually supplementing their income with it? Is it at all common to do so?
spiritplumber 6 days ago 1 reply      
Make sure that the people who you are working for during normal hours don't try to make predatory claims on your side-project IP, to start with. Apply the minimum amount of violence necessary to ensure this, preferably zero.
What does it take to run a web app with 5K 10K users?
183 points by bw00d  7 days ago   discuss
karterk 7 days ago 12 replies      
The most difficult thing is going to be getting to 10K active users :)

These days RAM is cheap and SSD storage is also widely available. For a very long time, one of my side projects with 50K users was hosted in a EC2 small instance. With that out of the way, here are a few things you will need to take care of:

* Security (especially passwords) - Rails should take care of most of this for you, but you should ensure that you patch vulnerabilities when they are discovered. Also, stuff like having only key-based login to your servers etc.

* Backups - Take regular backups of all user data. It's also VERY important that you actually try restoring the data as well, as it's quite possible that backups are not occurring properly.

* One click deployment - Use Capistrano or Fabric to automate your deployments.

* A good feedback/support system - this could even be email to begin with (depending on the volume you expect), but it should be accessible.

* Unit tests - as your app grows in complexity, you will never be able to test all the features manually. I'm not a big fan of test driven development, but really, start writing unit tests as soon as you have validated your product idea.

* Alerts, monitoring and handling downtime - Downtimes are inevitable. Your host or DNS could go down, you might run out of disk space, etc. Use something like Pingdom to alert you of such failures.

* Logging, logging, logging - I can't stress on this enough. When things break, logging is crucial in piecing together what happened. Use log rotation to archive old logs so they don't hog the disk space.

rwhitman 7 days ago 2 replies      
Despite what the smart engineers of HN are going to prattle on about running a web app, it's not about systems infrastructure. It's about people. 5-10K user records in the DB, relatively speaking, is a small list and can be kept on a single pretty minimal server instance.

10K user records is not the issue. It's dealing with the humans who use the app on a day to day basis.

Typically getting only a small fraction of your user base to be active in the app is pretty challenging - if you can acquire them in the first place.

That said, having even a few hundred active users can tip the scales in terms of what is manageable, depending on what the app does and whether they're paying money or not. Customer support can be a full-time job or worse. In the early days your users will discover every bug and problem imaginable.

Biggest mistake I ever made was scaling up an active user base on a free product without a revenue model. Twice I managed to hit a sweet spot in acquiring active users but because I couldn't leverage the scale to achieve anything other than more work for myself, I burned out and it collapsed very quickly. If you make more money as you grow, you can afford to invest in delegating responsibilities or at least justify it. Otherwise you've got a very stressful hobby on your hands..

Quick add-on edit:

If you're launching a web app for the first time, the biggest takeaway you should get from the comments on this thread is anticipate that customer support will be a major challenge.

One of the best ways to prevent a flood of CS inquiries is aggressive logging and alerts to squash bugs or outages before they inconvenience too many users. Lots of great comments in here cover that point, so take notes.

jsherer 7 days ago 5 replies      
I run Minimal Reader [1] (which has about 5k users) and I can say that running a web app like this takes a lot of time and energy keeping everything running smoothly.

My service has a lot of moving parts, all of which are distributed among a couple dozen different servers. Keeping the technical infrastructure running smoothly requires a lot of data visualization of server stats, database stats, web request stats, worker stats, user stats, etc. I have everything piped into a nice dashboard so we can see if there is anything odd happening at a glance. When things break (and they will) you need to know where to look first.

Having 5k users also requires time to help them with support issues. Users generate a lot of bug reports, questions, and suggestions. To keep paying users happy, I offer a 1-day response time on support issues, which requires me to spend quite a bit of time sending emails.

Then, of course, if you want to grow the app, you need to spend time marketing it. We could talk for hours about this.

The list goes on and on. Feel free to shoot me an email (email in my profile) if you want to talk specifics about anything.

[1]: https://minimalreader.com/

soheil 7 days ago 1 reply      
It's relatively simple to create a server that can handle the traffic as long as your app is something simple. The 10k users you're talking about I'm assuming is monthly active users (means they visit your site once or more per month) I have a website (yes a "web app") with 120k active users per month. It's running just fine on a relatively small server. To get users usually you need to give them something to come back to because they feel like it's something that they can't do without, maybe something that only you can provide, and something that makes them feel good and causes them to keep coming back to you to get their dose. If your question is more about technical details, then I'd just suggest not to worry about that until you have to, ie. your server is crapping out right before your eyes, that's a good problem to have. However, one mistake that I have made is to give up eventually on something that I may not see the immediate value in just b/c it's bit too difficult to maintain. So having said that don't waste a second optimizing something that no one's gonna end up using in 3 months. Everything else is really just noise.
troels 7 days ago 0 replies      
That's not a very meaningful metric on its own. 5K users per day? Per month?

How's the distribution of traffic? Do people use it spread out over the month or mainly within the last or first days of the month? Do they use it on work days or throughout the week? Are they from different time zones?

What do they do? Is there a lot of write activity or is it mainly read? Is the read stuff cacheable between users or is it highly individualised. etc. etc. etc.

akurilin 7 days ago 0 replies      
Obviously this depends a lot on the kind of usage patterns your application provides, but in my experience you should be able to comfortably run a 30k _daily_ users (the total n. of registered users could be 10x-100x that, depends) web app on a single $200-300/mo AWS machine (with hourly payments, you can get a better rate by prepaying). Get a bunch of cores and plenty of memory and put both your web app and the DB server on the same box for ultimate simplicity. Postpone scaling efforts for as long as humanly possible, probably until PMF and accelerating growth.

With reasonably "low level" tooling such as Java/Clojure/Haskell/whatever and a properly configured Postgres instance you should be able to go quite far. You're very unlikely to be CPU-challenged in the web app (again, no idea what your web app is going to be doing, so it's just a guess), most of the memory and CPU will be consumed by your database server caching and running queries. You should be able to handle a good 500-1000 db transactions / sec without much hassle.

IMHO most of the challenge will be making something that 10k people will want to use daily, not actually being able to scale to that many users.

filearts 7 days ago 0 replies      
I run Plunker (http://plnkr.co) that gets up to 20k daily active users. Users hammer the preview server[1] all day long generating a significant number of requests (by default it refreshes at each keystroke, debounced by 500ms or so).

That server runs happily as a single servo on http://modulus.io with absolutely no need for intervention on my part.

The rest of the application has similar requirements. I have one micro-equivalent server running the front-end, one the api and one the thumbnail generation. In general, this requires no hand-holding by me.

If your site is not processing or memory-intensive it should be feasible to scale to 10k users with a single $5/month instance on DigitalOcean or an equivalent level server on Heroku or Modulus or GCE.

Good luck attracting your first 5k users!

1: https://github.com/filearts/plunker_run/)

kemayo 7 days ago 0 replies      
Depends on what the app does, of course.

I have http://ficwad.com/ sitting around, with Google Analytics telling me it gets daily users in the upper end of that range. It runs on the cheapest plan webfaction offers (and I'm making it even cheaper with some affiliate credit...). The only place where it's running into issues is email, which I had to write a little queue system to throttle the sending to keep it under the plan's daily limits while still making sure that the important messages go out first.

I could make it fancier and put it on pricier hosting if I bothered to monetize it in any way.

phacops 7 days ago 1 reply      
I have a little over 10k DAU for http://cronometer.com/ and it runs on 2 fairly small cloud instances + a cloud database. A single host can handle the load fine, but I keep 2 running to survive failures.

And it took me nearly 4 years to get that many users. We cant all grow like facebook!

animex 7 days ago 0 replies      
Are you talking about 5-10k simultaneous users? It's very subjective depending on the usage profile of your site. The best thing is to pick a service like AWS/Heroku/Cloud Hosting Service that allows you to grow your offering. After you get to a point of profitability, you can look at greater efficiencies like setting up your own hosting hardware depending on your needs, if that makes sense. Our company has grown to a point where we are looking at implementing our own multi-datacenter cloud to save on hosting fees. But that's a good problem to have :D
mrbig4545 7 days ago 0 replies      
In my experience running https://thisaintnews.com the hardest part is getting and keeping users. It would probably be easier if I did some marketing, but that's too much like work! Still, it's not doing bad for something that's been around for 6 years, and hasn't been worked on in a year.

The second problem is motivation, after a certain amount of time, it becomes far less fun and much more of a burden, at which point you have to decide if you'll power through, give up, or quit totally.

The rest is just a software/hardware problem, and easily dealt with when needed.

As for the load, it's not that busy, but not that quiet for what it is, (http://stats.thisaintnews.com) and it runs on a cheap server from http://www.kimsufi.com/uk/, has a Xeon(R) CPU E3-1225 V2 @ 3.20GHz, 16Gb ram and 2x 1tb hdd, unlimited bandwidth and 1gbps link. It only costs about 25/month iirc.

david_shaw 7 days ago 1 reply      
Okay -- "what it takes" is a pretty broad question, but I'll do my best to put some thoughts together. I run a few web applications, but the most popular one is http://sleepyti.me -- with about ~50-60k views per day.

- A reliable hosting environment. I currently have a Linode VPS (basic $20 package, with $5 monthly backups) that runs http://sleepyti.me, my personal web site, an IRC server, a Mumble server, and a bunch of other stuff -- it's not even close to being maxed out resource wise, even with all the constant traffic the site is getting. It's important to remember that consistent network connectivity is a really important aspect here: a 30-minute downtime during peak hours can easily lose a lot of users. I'd say Linode is great, and I'm very happy with their service, but I also host several Sinatra web applications on a Digital Ocean VPS that only costs $5 per month (although I do my own backups, rather than using their service). I've noticed zero load-related performance impacts. Clearly, though, there is a limit to how far that can scale.

- A production web server. This probably goes without saying, but a lot of webapp developers are used to just working on their own dev environment. For my apps, I use nginx (and thin, when necessary).

- Security. Make sure that you have the basics of application security covered in your app itself. OWASP produces some pretty great "cheat sheets" that can help out in this area. Furthermore, make sure that your server is updated frequently, using SSL correctly, etc. I work in information security -- please believe me when I say that getting hacked is not something you want to deal with when you're trying to grow.

Hope this helps, and good luck with launched your apps!

zamolsys 6 days ago 0 replies      
1. First off, don't think too much about what programming language/framework to use. For such a user base you can use mostly anything and it'll run smooth on a low spec server. Using Ruby and Rails for a website with 5-10k users (assuming they're active users) will definitely not cause problems or empty your CC.

2. Do not invest time and/or money in learning another programming language or framework until you are sure that for a specific component of your product, programming language X will perform at least 2 times better with 2 times less HW resources.

3. Stressing again on the app stack (I saw some really pushy comments on changing the programming language), it is rarely the bottleneck of a web app. You'll scale your storage stack way earlier and more often than the app stack.

4. Know your data. That's how you decide if it's better to use a RDBMS, document store, k/v store, graph database etc. Like I said before, you're going to scale your data before any other layer becomes a problem so choosing the right data storage solution is crucial. Don't be afraid to test various storage solutions. They usually have good -> great documentation and ruby tends to be a good friend to every technology. There's a gem for everything. :)

5. Scale proportionate to your business/product growth. You will have to scale at some point. But be careful to scale proportionate to your growth. For example, if the number of users will double, get the hardware that suffices that growth. Less HW resources will lead to a slower user experience thus user dissatisfaction. More HW resources than needed will increase your costs and the resources that are not needed will stay unused. Why waste money?!

These are my 2c. As your business gets bigger - I hope it does - other problems will occur. But usually these things will last up to 100k users.

Disclaimer: this is for a generic web app as you didn't give us any details. Depending on the app, some of my points might be inaccurate or invalid.

jakejake 7 days ago 0 replies      
Since the article you point to is about programming then I'd assume your asking about the technical side of things rather that actually acquiring 5-10k users (which is very difficult). It's an interesting question, but as you have it phrased it's similar to "how long is a piece of string."

Firstly, the load of a web app is going to be dictated by what the app actually does.

Also 5k-10k users should be clarified as to whether you mean total users or concurrent users. Testing capacity can be actually tricky figuring out how the number of users equates to actual hits to your servers.

As an example, we have nearly 50k accounts but on average only a few hundred are using the service at the exact same time. I would guess that our app is fairly complex compared to the average app. We run 3 app servers, 1 DB master, 1 DB slave, and 2 cache servers. Our monthly hosting bill is around $1,200.

patio11 7 days ago 0 replies      
I think you're asking a capacity planning question. To the extent that you're asking a capacity planning question, for most apps in the Rails sweet spot (CRUD which takes data from users, munges it, and stores it in the database, perhaps interacting with a few external APIs and making occasional use of more advanced things like e.g. taking uploads and storing them in S3 prior to processing by queue workers), you're going to not even notice the day that your user count hits 10k.

If you back out the numbers, they go something like this: eight hour work day, worst hour has 25% of the user base actively logged in (we'll assume it is a very sticky app), 10 significant actions per hour implies 25k or so HTTP requests which actually hit Rails, which is less than 8 requests a second. You can, trivially, serve that off of a VPS with ~2 GB of RAM and still have enough capacity to tolerate spikes/growth.

Let's talk about the more interesting aspects of this question, which aren't mostly about capacity planning:

Monitoring: Depending on what you're doing, at some point between 0 users and 10k users, the app failing for long periods of time starts to seriously ruin peoples' days. Principally, yours. Depending on what you're doing, "long periods" can be anything from "hours" in the general case to "tens of minutes" for reasonably mission-critical B2B SaaS used in an office to "seconds" for something which could e.g. disable a customer's website if it is down (e.g. malfunctioning analytics software).

I run a business where 15 seconds of downtime means a suite of automated and semi-automated systems go into red alert mode and my phone starts blowing up. I don't do this because I love getting woken up at 4 AM in the morning, but because I hate checking my inbox at 9:30 AM in the morning and realizing that I've severely inconvenienced several hundred people.

You're going to want to build/borrow/buy sufficient reliability for whatever problem domain it is you're addressing. I wouldn't advise doing anything which requires Google-level ops skills for your first rodeo. (There is a lot to be said for making one's first business something like a WordPress plugin or ebook or whatnot where your site being down doesn't inconvenience existing customers. That way, unexpected technical issues or a SSL certificate expiring or hosting problems or what have you only cost you a fraction of a day's sales. Early on that is likely negligible. When an outage can both cost you new sales/signups and also be an emergency for 100% of your existing customer base, you have to seriously up your game with regards to reliability.)

Customer support:

Again, depending on exactly what you're doing, you will fail well in advance of your server failing on the road from 0 to 10k users. Immature apps tend to have worse support burdens than mature apps, for all the obvious reasons, and us geeks often make choices which pessimize for the ease of doing customer support.

My first business produced a tolerable rate of support requests, particularly as I got better about eliminating the things which were causing them, but I eventually burned out on it. I have a pretty good idea of what my second one would look like if it had 10k customers -- that would imply on the order of 500 tickets a day, 100+ of them requiring 20 minutes or more of remediation time. This would not be sustainable as a solo founder. (Then again, if that business had 10k customers, revenues would presumably be in the tens of millions, so I'd have some options at that point. There are many businesses which would not be able to support a dedicated CS team on only 10k customers, like e.g. many apps businesses, so you'd have to spend substantial brainsweat on making sure the per-customer support burden matched your unit economics.)

The biggest issue: selling 10,000 accounts of a SaaS app is really freaking hard.

pjbrunet 7 days ago 0 replies      
Depends what they're doing. With a Linode + LEMP stack you can serve millions of users. I'd say MySQL is usually the bottleneck but if you have time to perfect your software, there's no telling how many users you could serve from a good VPS account. Don't get caught up in the hype. Cost of the hardware is not really prohibitive. Finding someone that knows what to buy and what to do with it, good luck!
arihant 7 days ago 0 replies      
I'm not sure how system intensive Rails app is, but we ran a Facebook game with 20K daily active users on a $8/mo Dreamhost, back in 2008, with a fantasy league and all. My point is, unless you're doing something extraordinary, I doubt you would need more than a VPS.

As others have mentioned, multiple of those users can be hosted on an EC2 small instance. I suggest you start there. When moving to production, a bigger challenge is security, both in terms of intrusion and data protection. Making sure you have good rollback feature built into your rollout regime, because things can be fatal with real users. If you're using something that's basic like Heroku or EC2, you can scale way beyond that user strength with a click of a button. Scaling up would be least of your worries, at least for a few weeks.

If you're unsure, go with Heroku. Once you understand your system use, you can very easily switch to AWS and reduce costs.

darkarmani 7 days ago 0 replies      
> I am now wondering what it takes to launch and successfully run a website with 5-10K users?

What do you mean by this? Doesn't this depend on the usage patterns? Do you have 5-10k concurrent users or are these users spread over a day?

The operations side is a whole other profession that dovetails into the technical aspects of getting it running on a good architecture.

metaphorm 7 days ago 1 reply      
I can think of three things that you'll really really really want to be on top of while scaling up

1. your architecture must allow for vertical scaling. this means upgrading your hardware to beefier, stronger, faster machines with more CPU power and more memory. vertical scaling is often a very cost effective of improving performance.

2. your architecture must allow for horizontal scaling. this means being able to provision and deploy new instances of your application servers very easily, using an automated process. more servers running in parallel is a very effective way of handling increased load.

3. you must be able to monitor and protect your systems. https everywhere. highly secure passwords everywhere, and you should rotate your passwords on a regular basis. log everything and set up services to monitor your logs and notify you when weird/bad shit happens.

jacquesm 7 days ago 0 replies      
It mostly depends on what the users do. If the interaction is minimal and most pages can be rendered once and then served from cache you can run this on a laptop. If interaction is intense and everything has to be generated on the fly it could tax a mid range server. It all depends on the use case.
earth2jason 6 days ago 1 reply      
Well, I think good indexing is key. How do you have your indexes. If they are aligned with what is frequently queried then you should be in good shape. A database of 5-10K users isn't difficult these days for any major DBMS. The key lies in the other things attached to the users and items you query. That can run into the millions. Even that is not much, but depending on how many times you query a million row table, it could put a pinch on your optimization.

Good database mechanics is key. That is the most important thing in my opinion. That is really the whole point in rails when you are deciding relationships. The abstraction in Rails when deciding what should be the best model structure is the same thing as deciding what should be the best and most efficient table structure in your database.

The rave about MongoDB is that it (maybe not quote me on this) "cures" the need for the desire multi-dimensional database. However, even with MontoDB's ability to expand due to it's not needing a pre-defined structure and the ability to expand out dimensionally to a certain extent, PostgreSQL (claims anyways) is still more efficient if you correctly index your tables (think about how you will be querying) and create the correct relationships. Build out models. Allow flexibility.

Also, don't forget caching. Redis and performing jobs is key in certain situations. However, don't get caught up in too much hype. Especially those coming from closed source technologies (Not just talking about caching technologies here but everything in general). They will sell and produce an atmosphere of necessity, but do some research first. Don't follow the heard. I am not going to call anyone out on this. Just do the research and think why is that necessary. I've mentioned Redis a few times and maybe that isn't even necessary either.

Most importantly, put your stuff out there. If it crashes, so what! At least you know you have something. And then you will have people who will give you advice in a coherent direction if necessary.

I salute you in your efforts. Now the most important part is put it out there and kick ass!

You may even want to look into Redis which is a cache system.

saluki 6 days ago 0 replies      
@DHH's startup school talk says it best.

"Scaling problems rule . . . "


Sounds like you have the skills to grow this up to 500 to 1k paying customers on your own. Early on you can increase ram/cpu to handle any initial scaling issues.

Once you even have 1k customers you'll have revenue to hire experts to help you with scaling and security.

Good luck in 2015.

kentf 7 days ago 1 reply      
Before we sold WinJunkie.com we had:- 75K users- 5K daily w/ 10K burst on Sundays- Over 1M db transactions- Rails- Redis- Memcache

Heroku: $279 - 400 / month

shaunrussell 7 days ago 0 replies      
I am hosting upbeatapp.com on heroku's free tier. We have ~10k users, with ~250 concurrent at peak.

Getting the users and keeping your head in the game is the hardest part.

pmelendez 6 days ago 0 replies      
I have an online game that has 16k active users and for the backend I use a $90 per month dedicated server. I can share the details if you want but my point is you won't necessarily need a huge server to maintain 5-10k users.
majc2 7 days ago 0 replies      
Could you clarify if its 5-10k users concurrent? per month? per day?
atom_enger 7 days ago 0 replies      
I run Reverb (https://reverb.com) and there's a lot of good information in this thread. Backups, Security, Alerts, Monitoring, all good things.

However, the biggest piece to scaling your application is the automation of everything you possibly can so that you can scale when you need to. You're going to be in a bit of pain if you need to scale everything manually.

Here's a few things I automate using Jenkins:

* Creation of web application servers(whether it be Puppet, Chef or Ansible, etc) make sure you can bring up a new node quickly and scale your app layer horizontally. Ideally automate the addition of this node to the LB.

* Data store backup/restores to all staging environments on a schedule(tests backups/restores) this is done using some custom code and the Backup gem. This way your dev team has access to an env that closely resembles prod and can resolve current prod bugs.

* External security scans using NMap (again using custom scripts). The jenkins job will fail if output is not as it expects. This way if we change a layer of our infrastructure we can know if something is exposed and shouldn't be.

* Static code analysis using Brakeman

Information you're going to need to scale your infra:

* Metrics on each one of your hosts. Use DataDog if you can afford it, integrates with all major systems and technologies. Great tool.

* Log collection via something like Logstash or Loggly and being able to visualize your application and web logs.

* Application response time measurements using something like NewRelic or building your own using StatsD and tracking the heck out of your application actions

Last but not least, have a plan for failure. While you're laying in bed at night, ask yourself these question:

* What would happen if the DB went poof? Can I restore it? How much data will I lose from the last backup? Will I know when this happens?

* What would happen if you're now being scanned by 30 ips from the netherlands, all of which are submitting garbage data into your forms. Are you protected against this? How will the added load effect your app layer? Do you have a way to automate the responses to those requests so as to deny them? This is a case of when, not if. Be ready.

* What would happen if my site gets put on Digg(lol)?

There's no magic bullet here. It's just practice, failure and learning from yours and others mistakes.

Good luck!

lcfcjs 7 days ago 0 replies      
Probably the first thing would be to drop ruby and use the PHP Zend framework or node and a nosql db.
thinkcomp 7 days ago 0 replies      
PlainSite (http://www.plainsite.org) has about 12K users per day on average. Most of them are just browsing for cases, not paying, but some are paying.

The main stress on the system is really determined by the complexity of the SQL queries on each page. I've spent a great deal of time optimizing them, and I know there are certain ones that need to be further optimized. I have the database (MySQL) on one server, the web server and documents on another, and static resources such as images on a third, which probably isn't even necessary. All three servers run Linux and the database server has 48GB of RAM. They're hardly new; you could buy all of this equipment today for under $1,000 total.

The biggest technical bottleneck is really RAM; the biggest expense for this kind of site is bandwidth.

Ask HN: Goldman Sachs vs. Microsoft/Google for a fresher
4 points by h43k3r  1 day ago   6 comments top 4
akg_67 1 day ago 0 replies      
Go with GS. In the end, you want to work for companies that will be accretive to your future career growth in the industry. Also, you want to make sure not only you have technical experience but also domain experience that will be more valuable in the future.

GS had for long time and still has the cache within Financial sector. Having GS on your resume will open doors at other financial companies for technology opportunities and give you an edge in your career growth.

Google has the cache right now but will it be persistent in the future. Considering Microsoft name on your resume no longer gives you any edge/influence like it did in 1990s, I will assume Google influence will be similar to Microsoft in another decade.

CS is a fast changing field so skill obsolescence is a major issue with the field and a major challenge to long term stability/growth of your career. You will have to stay up to date with newer technologies and continue to reinvent yourself every 5-10 years just to stay relevant. For example, knowing Microsoft stack is no longer as valuable as it was just a decade ago.

Working in an industry vertical such as financial, despite changes in CS technology applied to finance, you are still relevant because of your domain knowledge.

brd 1 day ago 1 reply      
I'm sure it depends entirely on what area of the org you work in but in my opinion GS is not a good place for most programmers. The bulk of their programmers will be supporting applications (not writing sophisticated trading software) and in that area career progression seemed to be shockingly slow from what I could tell.

I interviewed at GS years ago and I ended up declining the job mid interview when I realized it would likely be years before I worked back up into a role where I'd have control over designing more complex systems. In short, GS seemed particularly good at pumping out sub-par code monkeys.

Mimu 12 hours ago 0 replies      
Twice the salary is almost a no-brainer for anyone in any field to be honest.
gaalze 1 day ago 1 reply      
Go with GS.

Microsoft/Google will have you drinking Kool-Aid and you'll be pushing their shit.

If you go into GS you will learn a lot more about finance and that's important, you can take that knowledge and move to a corporation that uses a better language like Haskell or Ocaml, or find some open minded people who will let you use a better language inside GS.

At Microsoft/Google you are stuck with .Net/C++ or something like Go which was designed by an idiot who forgot about incremental compilation. Also they are offering you less, so they can go fuck themselves.

Ask HN: Junior Developer looking for my next adventure
6 points by em01  1 day ago   5 comments top 3
jfaucett 1 day ago 1 reply      
Nothing convinces more than something you've done :)

So I would suggest just putting together your github and list of projects you've done, this should be a list of just the very best of the best, if its only one thing that can be fine as well.

Remember its not a awesome track record people are looking for with a junior dev, its potential and your current ability set and willingness to learn and engage.

We're always on the look out for up and coming talent so just shoot me an email if you get something together, I'd be glad to look at it for you and also see if maybe you'd make a good fit with us.

em01 19 hours ago 0 replies      
Would like to stay on topic as much as possible here but with regards to the crowdfunding I offered them a variety of gifts they could have back and was very systematic about who I approached for support.
J-dawg 1 day ago 0 replies      
I'm curious about how you crowd funded your bootcamp fees. I mean, I'm aware of sites like GoFundMe, but that seems to be mostly used by people in serious need of help for things like medical bills and legal fees. How do you convince other people to pay for your education? What's in it for them?
Ask HN: How do you stay motivated to complete your side projects?
8 points by ldonley  2 days ago   7 comments top 4
lsiunsuex 2 days ago 1 reply      
Hate to say it; material goods or vacations.

Money from the day job goes to paying the bills / mortgage / living expenses. Money from side work goes to toys be it a new laptop, phone, vacation, remodeling a room of the house, etc...

I probably wouldn't freelance if I was content with what I have and soon, that freelance money will start to be saved for a down payment on a bigger house instead of going towards the latest iPhone.

2ndary to this is the drive to keep abreast of new technologies. Sometimes, I can do freelance projects in a different language or framework - which makes me marketable for further side work. IE: I hated Wordpress - but then I started getting requests to do freelance work in Wordpress, so I learned it. Knowing Wordpress has scored me more work then when I ust' to write everything manually in PHP. (Not that Wordpress is new; but I wouldn't have learned it unless I was requested to write in it, for example)

MalcolmDiggs 2 days ago 1 reply      
Well, I don't think there's anything wrong with letting your side projects die or collect dust. It's perfectly natural to get partway through and then decide you just don't want to do it anymore.

I've found that if I REALLY want to do something, I'll just find time to do it. Unfortunately I haven't found a way to fake that kind of motivation. It's kind of there or it's not.

One technique I've used though, is to make my side-projects bite-sized (little tiny MVPs). That way, even if they only hold my attention for 72 hours, I'll still be able to finish them and put something up live. Later on, if I'm still interested in it, then I can iterate on it more.

annythesillicat 1 day ago 1 reply      
might not answer your question but talking about motivation, this is pretty relevant to how I keep myself motivated. http://www.bakadesuyo.com/2015/01/how-to-be-motivated/
boca 1 day ago 0 replies      
A similar question was asked last month. Pretty good advice in that thread:


Ask HN: Recommendations for purchase and storage of Bitcoins
6 points by saturngirl  2 days ago   3 comments top 3
Phlarp 11 hours ago 0 replies      
Buy: Coinbase or Okcoin

Store: generate address keys on an air-gapped computer, best option is a linux live boot instance, encrypt the keys with a strong password and store on write protected media in a safe place. Make sure to have several backups of the encrypted storage file and for the love of bits do not forget the passwords. NEVER LET RAW KEYS NEAR AN INTERNET CONNECTED MACHINE, when you are ready to transfer funds out of the secure wallet(s) decrypt them on an air-gapped machine, sign your transaction, and then copy that over to a connected machine to broadcast.

Someone1234 2 days ago 0 replies      
Bitcoin Exchange (e.g. okcoin). Offline (e.g. physical media like a few DVDs, an unplugged flash drive, and so on). I wouldn't store more than you absolutely have to online as some of these Bitcoin "banks" have a habit of running off with everyone's Bitcoins.

I wouldn't recommend Bitcoins in general as an "investment." Only if you are buying the coins to be used in the near term for a purchase. Investing in Bitcoins is a little suspect, never invest what you cannot afford to lose.

abrkn 2 days ago 0 replies      
I recommend storing on hardware wallets like Trezor. You can buy from Bitstamp, Kraken, Localbitcoins, Okcoin, ANX.
Ask HN: Really frustrated trying to get remote work, no luck
17 points by grover_hartmann  3 days ago   discuss
phantom_oracle 3 days ago 0 replies      
I think most of the responses are pretty self-explanatory.

For every position where it wasn't remote, did their job ads say remote? If not, there's nothing you can do about it.

The competition for remote positions is fierce, which is something I've mentioned before.

You seem like a talented guy if they got to the point of offering you relocation and you've also been offered senior positions, so perhaps your initial remote-work should be freelancing for mid-level projects at a decent rate (how about starting at $25-$30 dollars or something along those lines?).

If I had to run a survey asking remote applicants how many times they've applied for multiple positions, the answer (on average) will be like +10.

Take up freelancing or start your own remote agency. If you can't be the worker, be the boss.

sighype 2 days ago 1 reply      
I apply to everything as well, but don't land anything. However, historically, nothing I've gotten that's remote has come from job ad postings. I've always gotten remote work because I know somebody who knows somebody. However, the market's gotten tight in my field, so I'm in the same position you are again.

It's much harder for me, also. I'm a C++/obj-C/C/R/python/ruby guy who only dabbles in web technology. I try to pitch web people on letting me learn, even at a short-term discount, and that doesn't work either. I thought putting out some iOS work would improve my remote-ability, but no go.

Funny thing is, before reading this post, I would've guessed Rails people had it much better than me. :-)

grover_hartmann 3 days ago 2 replies      
I even tried applying to jobs that are shown in https://weworkremotely.com/ and since they post there, one would think that they accept remote work, but no.

They all reply the same fucking thing: "Are you willing to relocate", "We are looking for onsite people now", etc.

So tired of this.

jacquesm 3 days ago 1 reply      
Why do you post these companies emails to you like this?

That's probably a surefire way to get people to stop mailing you completely.

wnm 2 days ago 0 replies      
keep trying, there are companies out there looking for remote software engineers. I wrote a script to collect remote job listings from various job boards... in the last 30 days there were more then 700 of them. sign up with http://remoteworknewsletter.com, we are launching soon.
dcgoss 1 day ago 0 replies      
Have you tried any of the Who's Hiring HN threads? Command-F for "remote" once you're on the thread...
apawloski 3 days ago 1 reply      
I lucked into a remote job. Applied thinking it was an in-office position..

Anyway, have you talked to recruiters? As much hate as they get on here, they can be very useful. A great recruiter will know your needs as well as the company's, and can give you an idea of a position's flexibility. In my opinion it doesn't hurt to reach out. Worst case scenario, you end up with some extra emails in your inbox every week.

grover_hartmann 3 days ago 1 reply      
Why is it so damn hard to get a remote work? They all ask for relocation, etc. I need remote work. :(
playlist 3 days ago 1 reply      
Your approach sucks. Looks like your going around, hat in hand, looking for someone to give you a job. As if people owe you or something.

Look for ways to help people. If you got big bad skills, prove it. Make people come to you.

Ask HN: What does the funnel look like for YC?
5 points by kentf  5 days ago   discuss
sakunthala 5 days ago 0 replies      
Not affiliated, but I believe it's something like

Application => Interview 10%

Interview => Accepted 30%

Accepted => Funded 75%

Funded => IPO / Self-sustaining / Acquired 30%

I'm Half White and Half Asian Can I Be in the Media?
2 points by TheMajority  11 hours ago   5 comments top 2
smt88 11 hours ago 1 reply      
I can't tell if this is a joke, but I'm going to humor you.

I think your money would be better spent on, say, therapy to help you deal with your issues of belonging. One movie starring an Asian-looking man is not going to fix your identity issues, nor is any external event.

Asians are less than 5% of the country, so there aren't as many accusations of racism when movies are missing them as when movies are missing African Americans. Also, the "Asian American" statistic includes people from the Indian subcontinent. So if you feel like you're in a country that has very few people who look like you, you're right! If you were white in China, you'd feel the same way.

Regarding Asian actors: John Cho has had a fairly successful career, and it's only on the upswing. The Netflix show Marco Polo is absolutely full of Asians. Lucy Liu is the star of a TV show and many movies.

I find it ironic that you're crying about discrimination, but you mention several times that you want to see a male playing a lead role. Everyone wants the world to be in their image, but it never will be. Do what you can to change it, and if you can't, don't make yourself miserable.

Edit: Main characters in Silicon Valley, The Big Bang Theory, Heroes, The Last Air Bender, and probably lots of other films are Indian. Ben Kingsley is super-famous and half Indian.

nicholas73 11 hours ago 1 reply      
Keanu Reeves.

Hum, I guess you can be hapa but still need an American last name!

Ask HN: Are any of you blind programmers and what tools do you use?
10 points by kumarski  1 day ago   3 comments top
jareds 1 day ago 2 replies      
See following stackoverflow question, I'm the highest voted answer but some good info from others as well.http://stackoverflow.com/questions/118984/how-can-you-progra...It's a bit out of date because I now use windows 7 and Vagrant with a command-line for a lot of things but screen reading software is still the same.
Ask HN: Does it make sense to hold my shares in an offshore company?
5 points by chmac  1 day ago   10 comments top 6
rlucas 1 day ago 0 replies      
No. You are trading uncertain gains of tax avoidance (to cast it in the nicest possible terms) for the certain cost of complications and distraction.

You will certainly incur several thousand dollars in immediate costs for legal advice, filing fees, etc. You will have to pay a registered agent in a foreign country, etc., on an ongoing basis, which could be several hundred to a few thousand dollars per year for effectively forever.

You will also have potential issues with having to answer questions about whether you hold any financial assets offshore in the future. If you are, or become, a U.S. taxpayer, you have to disclose if you have aggregate of over $10,000 in overseas holdings. Including the holding company. You can guarantee that this makes you of much more intense interest for audit. If you lie about it, you set yourself up for penalties and possible criminal charges.

It will also just look weird to investors, company auditors, etc., if some offshore entity holds the shares instead of you. It won't be necessarily suspect, but it will be a distraction. Unless you have a substantial personal fortune already, in which case you likely already have estate-planning or tax-planning advisors and entities formed, it will just look bizzare.

In general, for a U.S. entrepreneur starting at zero and concerned about tax minimization, making sure you get long-term capital gains treatment and get your 83(b) election right is the most important. Next is trying to get Qualified Small Business Stock treatment.

chmac 6 hours ago 0 replies      
In Germany there's a very simple structure that's commonplace where a UG (a sort of German Ltd) owns shares in a GmbH (a real German Ltd). In that scenario, if both are incorporated at the same time, there's only tax of around 2% if the GmbH is sold.

Higher tax is due when a person withdraws money from the UG, and so on. But for reinvestment in other companies this system is ideal. Unfortunately Germany is also extremely hostile to bitcoin, and we're in the bitcoin space, so incorporating here seems like a bad idea on that front.

hackerboos 13 hours ago 1 reply      
If you are trading in the UK and you are a director of an offshore company then HMRC will treat your UK company as the profit making entity and apply corporation tax.

If you look at Google's and Amazon's corporate structures, they are a lot more complex than a single offshore holding company.


brd 1 day ago 1 reply      
You are tax dodging, there are ways to do so legally so I'm not pointing fingers or saying its wrong but that is what it is. Having said that, if you do choose to go down this path I'd make sure I have a really, really good accountant/lawyer to ensure that everything is legally sound and then I'd ensure that they will be available to watch international tax laws to make sure I'm not burned by the constantly shifting practices of tax sheltering.

In reality, its probably not worth the trouble. Odds are it won't matter to begin with and if it does, investors will likely not appreciate you playing games with your incorporation.

brudgers 1 day ago 1 reply      
This is the sort of thing that feels like work, but isn't. Work is harder because it requires making something of value and the risk of abject failure.

If you're really making a startup rather than a lifestyle or small business, you're tax liablity will be zero to a first approximation. And if the business is a successful startup, then you'll have fuck-you-money either way.

But tax strategies do not a successful startup make. You may not even need a corporation at this point.

Good luck.

IanDrake 1 day ago 0 replies      
Probably the place to start is with an offshore attorney on Grand Cayman that specializes in this type of setup.
Ask HN: Which (small, indep) programming blogs do you follow?
7 points by albanlv  1 day ago   4 comments top 4
garyhost 1 day ago 0 replies      
A farily new on that I just discovered (yesterday from another HN post) is http://blog.daviddworken.com/
purans 1 day ago 0 replies      
http://objc.io if you are into mobile development
dhuanco 1 day ago 0 replies      
Ask HN: How were your experiences using HAL APIs?
3 points by fold_left  1 day ago   discuss
       cached 17 January 2015 05:05:01 GMT