Programmer

Programmer

ManWithComputer

The Internet, IP

Male, 37

I've worked at multiple Internet startups of different shapes, sizes and ambitions. Now I'm the CTO (Chief Technical Officer) of another small company with big dreams. I look nothing like the picture above.

If you copy and paste your homework question in here, I will answer with something that will, at best, get you an F on your project, and at worst, will get you kicked out of school. You have been warned.

SubscribeGet emails when new questions are answered. Ask Me Anything!Show Bio +

Share:

Ask me anything!

Submit Your Question

76 Questions

Share:

Last Answer on September 07, 2015

Best Rated

What's an appropriate hourly rate for a programmer in the US?

Asked by TomTom almost 6 years ago

Depends on the specialty. If I were freelancing right now, I'd be charging $125 an hour.

Were Mark Zuckerberg and the developers who started Facebook true geniuses or did they just execute the right idea at the right time?

Asked by MMA83 almost 6 years ago

I've actually never used Facebook (though I love Twitter), so my answer may not be worth much here. However, I'll make an attempt based on what I do know. It's my understanding that Zuckerberg is indeed extremely intelligent and a highly skilled programmer. However, the common wisdom in this industry is that brilliance counts for much less than hard work, giving the market what it wants, and a lot more luck than anybody is comfortable talking about. I don't see anything that makes me think that Facebook is different in this regard.

If you had a teenage kid right now, would you advise him or her to go into programming?

Asked by JBM almost 6 years ago

Given it was something they were interested in, absolutely! It's interesting and intellectually stimulating work that pays well.

I am a Computer Science major in college right now. What would you recommend I do now to help find a job and make money when I get out into the "real world?"

Asked by Jack almost 6 years ago

Fresh out of school, your main problem getting employed will be lack of a track record. This is a double-bind that catches a lot of new graduates: can't get a job without experience, can't get experience without a job. As a programmer, though, there's one excellent way to build a portfolio that other fields don't benefit from. I'm talking about open source software. Anyone can download it, anyone can read the source, anyone can modify it--and, thanks to Github, anyone can put it up online where anyone else can see it. If you interview with any halfway-conscious organization these days, at some point they are going to ask for your Github username, and they ask because they want to see what you have there. So what kind of software exactly should you be writing? Doesn't much matter. The common recommendation here is "scratch your own itch." That is, write a program that solves a problem you have. Once it's in reasonable shape, get it up on Github, write a little blog post about it, and iterate. Definitely make a point of writing and open-sourcing different types of programs too. Apart from showing versatility, you're at an ideal point in your career to explore all the different possibilities. Good luck and welcome to the occupation!

Do you think people overestimate the difficulty of coding? Like, obviously it's not easy, but is it the rocket science non-programmers make it out to be?

Asked by Christophe almost 6 years ago

Probably! Not everybody is cut out to do this for a living but anyone of reasonable intelligence can learn to do at least a little programming. One good reason to do so is that it de-mystifies computers. There are plenty of them around, and they are here to stay, so you may as well know something about them. To a lot of people, a computer is a magic box filled with 0's and 1's that lets you look at Internets and occasionally sends your checking account number to a gentleman in Nigeria. To a programmer, a computer is a scientific box that operates according to very simple rules applied over and over and over again. Knowing a few of these rules will help you deal with these machines that make up so much of our environment these days.

When a new site with a novel UE catches fire, do you as a programmer immediately go and learn the basics of how that UE is created?

Asked by UnPinterested almost 6 years ago

Personally I don't. While you have to be a generalist to work at a company this small, I'm much more interested in the "backend," meaning roughly the things that happen behind the scenes. A novel UX like Pinterest (and looking at their UI is a reminder that "novel" isn't the same as "good") doesn't capture my interest like it does that of some of my co-workers. Of course, this doesn't mean that I don't steal from other websites' design when I see something I do like.

Any big lessons learned you can share about past and present start-ups you've worked with?

Asked by Reubenesque almost 6 years ago

I don't know how big these are, but these are the things I'd tell to someone about to join their first startup: * The emotional rollercoaster is normal. It's not like in a big organization where every success and every failure is shared with hundreds of people. Everything that happens feels very personal. * Apple computers are overrated. Buy a commodity PC and install Linux. You'll get more power for your money. * Take care of your body. Make sure you get enough exercise, sleep and water. Snack on fruit and nuts, not candy or chips. Get up and stretch regularly, or rig up a standing desk. Startups are stressful enough already without ruining your health on top of it, and your mind is _not_ separate from your body. If one is in bad shape, the other can only do so well. * The business dudes are not your enemy, but they do bear watching. Don't let them make promises you can't keep. Remember that they need you (a lot) more than you need them. * It's normal, every so often, to wake up and realize that you are in a completely different business than you originally thought. A startup that can "pivot" in a new direction at this point has a better chance of success than one that carries on with the original plan. * Don't start a company where the only plausible exit strategy is getting acquired. Build something that actually takes in revenue.