hacker news with inline top comments    .. more ..    18 Dec 2014 Ask
home   ask   best   4 years ago   
Ask HN: How to break up and delegate programming tasks
65 points by efbenson  13 hours ago   34 comments top 17
onion2k 12 hours ago 2 replies      
Stop treating your junior developers like monkeys who are only there to implement your brilliant ideas. That's not their job. Every developer should be able to solve problems; the more senior the developer the greater the impact and complexity of the problem they should be solving. Your job as a senior developer is to work out the high-level architecture that will contain the solutions to the smaller problems - eg solving the highest impact problems.

My advice would be to think in terms of black boxes. You should couch tasks in terms of what the developer can expect to receive through an API and what their code should output. What happens in the middle shouldn't be anything you concern yourself with. When the junior developer works out a solution they can run their idea past you, and if it sounds OK then they write the code. And then you can review their code. The minutia of implementation is not your problem any more.

cshipley 9 hours ago 0 replies      
Senior devs learn a better tolerance for ambiguity, and have better ability to see the big picture in both the problem space as well as the solution space.

I encourage that sort of thinking from devs I'm mentoring.

I do this by giving creating a rapport where they feel comfortable asking questions. I do by having an attitude that part of my role is to help them be more effective. When asked a question, I drop everything to help them.

I then specifically give them problems that force them to ask questions. This in turn gives me the opportunity push the envelope with their thinking by asking them to answer their own questions.

So when I get asked a question on how to do something, I will ask them if they understand the goals and constraints we need to work in. I make sure they understand that first. Then I ask them for different ways of solving their problem, the pros and cons of each and ultimately what their recommendation is considering those goals and constraints. By that time they generally end up with the "right" answer, and sometimes something I wouldn't have thought of. What I am doing with that exercise is guiding them through the process of how to think about solving the problem. Soon when they come to me, they are already giving me options, pros and cons with a recommendation.

Sometimes I'm asked to decide about a difference of opinion between two devs. Making sure both have the same view of the goals and constraints is really important and most of the time aligning these solves the dispute. If not, then I will have one or both create a minimal test/prototype, time-boxed, that explores the problem. Then we evaluate the results together against the goals and constraints.

This has worked very well for me.

As far as breaking up tasks and delegating, it all depends on their tolerance for ambiguity. I usually start more junior devs with smaller, well defined tasks that have specific acceptance criteria. I adjust the level of definition based on their ability to succeed, but always do it in such a way that it forces them to grow.

lukaslalinsky 10 hours ago 1 reply      
The most important realization I had this year is that the biggest problem in software development (from the tech perspective) is not about programming, but about getting people to talk and cooperate.

I don't think you can successfully break up programming tasks for junior devs, who can then independently implement them. It has two problems:

1) You either get a lot of code with incompatible ideas, or you do a lot of coaching.

2) The junior devs are not learning as much as they could.

So you should not try to do this on your own, but rather involve the people who will be implementing the project in the process. You can still design the system in your head in advance, but I think the best approach is to then discuss it with the people on the project and come up with the final version together. Maybe somebody will have a better idea, or just tell you something you missed. As you go deeper and deeper, you will keep discovering problems on the lower levels. Some things will remain unknown or require experimentation, but for most you can come up with a solution. I think it's very valuable if everybody on the team understands the big picture. If the application has a few completely separate modules, then you can do the lower level design in different groups, but it's still useful if the task breakdown comes from the people who will be working on the code. Doing it in a meeting, rather than a write up and review process, gives them instant feedback.

Regarding the task breakdown itself, I try to think of how I'd implement all of the code myself. That means thinking about what data comes though the system and where it can be used to set code boundaries, which parts are more important and which can wait, what would be the smallest presentable version and how can I move it further after it's done, do I have some non-code dependencies (business decisions, dealing with external services). I like to draw diagrams (mainly the data flow). Sometimes tasks are simply large and you can't do much about that, but you can at least some milestones for them.

This makes sense to me in a smaller company when building some web application, probably does not make sense in a different situation. (Sorry for a long comment.)

mc_hammer 12 hours ago 1 reply      
personally i like to write the mvc skeleton myself and decide which frameworks will be used and go from there. or a leader for the backend who assigns out small tasks as small as a "function to draw this btn or move this element" or to "find me a library that does X and is..." and then he can merge them in... then once it takes shape you can share the files and the work.

i suppose usually for me one guy (say techsupp or network admin) sets up the svn/webserver/db, one guy decides on frameworks, one guy writes the skeleton, one guy starts on the interface, art guy does art stuff, typically the lead dev is watching over all this and merging stuff and when ready gives orders and access to the repo. if theres at least some structure and one template or working file/interface the juniors will have more success imo.

meesterdude 8 hours ago 0 replies      
What's the first thing?Whats the next thing?Whats the next thing?

That's the process of thinking i usually take. First, i'm gonna need a project. Then I'm going to need to instantiate a database. Then I have to create the controlling class. then I need to create the initialization. etc.

For the juniors, it helps a lot to have things more bullet point. they should be able to fill in the more minute details on their own, but do get fairly verbose. Break the work into a small logical scope, and then bullet point what needs to happen for it to be completed. And always explain why.

For the mid-level, be more general about it and have them define the tasks that will be completed. This is to give them more say in the process, enable checks & balances, and trains them to write tasks for juniors and mid-level developers when they are one day senior devs. And that's really what your goal should be.

Everything you work on is a means to make everyone below you better. If you know how to solve a problem, let someone else take a crack at it. If they get it wrong, or need some help along the way, you've already got an answer.

And of course, code reviews are an important feedback loop. But always let them maintain ownership. Its their baby. don't fix their code for them unless its more or less an emergency. Mistakes they make can often be reflected back as a failure of process, and not of themselves.

PeterWhittaker 7 hours ago 0 replies      
There is one key point missing in this discussion, though spotman sort of alludes to it: You cannot do this because you haven't, yet. You will be very poor at this until you have done it a few times. Eventually you will be good at it.

Delegation is a skill. Matching problems to the capabilities of team members is a skill. Accurately recognizing the capabilities of team members is a skill.

These are all skills you can acquire, but they are all skills that you will do more or less poorly on unless and until you have sufficient practice.

You will also be very slow at it until you have practiced a while and gotten better. So you must recognize that at first productivity will decline, because it will take you longer to delegate than doing it yourself.

Is your work environment reasonably "safe"? (Yes, I do mean that in the "touchy-feely" emotional sense; this is important (not trying to dismiss the idea, just using glib humour to forestall inevitable negative comments - some people are uncomfortable recognizing we have emotions and are affected by them...)).

If so, take your team out to lunch, off site. Tell them what you want to do: Delegate more. Tell them why: So the team gets more done, so there isn't a single point of failure or just one person on the critical path, so that junior members can grow into senior members, to challenge people's abilities, to make better hackers.

Next, tell them that this means you need to practice chunking, delegating, managing, etc., and it will take time for you to get better at these things.

Now ask for their help. Work as a team to do these things.

Note: You may also need buy-in from your management before you proceed. They may view this as a risky change, if they like how things are. Depends how supportive they are.

tunesmith 8 hours ago 0 replies      
None of these are bulletproof, but try a couple of the following.

Try thinking in terms of strategies and tactics. The overall problem can be described in one high-level sentence of "what" to do. That's the strategy. That strategy can be described in one high-level sentence of "how" to do it. That's the tactic. Then that tactic can be broken down into 2-5 slightly lower-level sentences of "what" to do, which are strategies that are sufficient to meet that tactic. You may continue this for a few strategy/tactic levels. Eventually you have some medium-level strategies you can pass on to junior/midlevel people. But trust them to determine the tactic. If you give someone else a strategy and then tell them what their tactic is, you're micro-managing.

This is also roughly what a lot of refactoring and clean code is about. In a method, you don't want to mix levels of abstraction. Instead, a parent method should call inner methods that are named by what they do, while those inner methods in turn have the logic that is how to do what the method is named. And this can also continue on down to lower levels. When developing this way, you might even mock/facade some of these higher level methods/classes/functions/whatever so you can finish implementing and testing the higher level method/function/class/whatever that calls it.

A full-stack developer that hasn't quite made the jump to "architectural" thinking will often immediately and intuitively identify the lowest-level tasks that need to be done for a project, but like you've noticed, focusing on that implementation style doesn't really scale.

trcollinson 11 hours ago 0 replies      
This may be a very unpopular approach, but it has always worked well for me. Look at the tenets of Extreme Programming and I would imagine you will find great success.

First, how to break up tasks. I write very small user stories. I aim for things that can be accomplished in half a day. This forces me to do two things. We now have smaller tasks with tangible end goals that actually produce something for the end user. These are usually easier for everyone, from management to intern to understand and follow through to completion. We also don't overthink a task, bite sized chunks are easier to digest, after all.

Second, as a few others hand pointed out, you have to trust your junior and mid level developers to complete a task on their own. Write the story in a way that they can understand what the end goal and tangible result will be. If you keep it small and discuss these openly, this will get a lot easier in a short period of time. Don't worry about the implementation details so much, that will come more in a second.

Third, (here comes the unpopular parts!) TEST! Preferably, at least in my view, use Test Driven Development. Enforce an cultural change of moving towards testing. This will document the code as much as anything and if a refactor needs to be done after a junior or mid level developer completes a task, the tests will facilitate that. It will increase your level of trust in their work as they complete tangible user story goals.

Fourth, pair program. You don't always have to, but heck after a while you might actually like it. Pairing allows you to riff off of one another. Junior and senior level developers can get a lot out of this, far more than just the junior learning something from the senior. If you are finding that your junior developers aren't "getting your style" pair for a while. You might start to understand them as well.

Finally, all of this leads to trust. Look, code bases will need refactoring. I am quite Senior and I am sure if I sat with your code, or you with my code, we would find areas where things could have been done better. Trust that if the code works and does what it needs to do according to the small tangible goals of a user story, and that when it has accompanying tests, you and others will be able to refactor it and make it even better over time.

dylanhassinger 10 hours ago 0 replies      
When I'm outsourcing stuff, I like to use the "clean room" approach. I give the junior developer/outsourcer either a simplified version of the codebase, or some raw materials, and ask them to do the task I need. Then they hand me back the code and I integrate it into the full codebase.

This way they don't need to know the full system or even have access to version control; they just need to get their small goal completed, I can take care of the rest.

Over time, they can earn more and greater responsibility/access.

soamv 8 hours ago 0 replies      
This is a great question! I find that the act of explaining the problem itself helps a great deal in figuring out what the pieces are.

It's totally okay to just talk to a developer about the problem and start sketching out your ideas, without necessarily knowing the specific tasks that you're going to assign.

The abstraction level of the tasks that you should assign will also come out of the level of discussion you're able to have with the person. Everyone has different abilities/amounts of domain knowledge/available time/etc., so there is never "One True Task List" for implementing something; it must depend on the developer.

Finally, it is deeply motivating for the person who's going to do the work to be an involved part of the planning discussion. It's important to anyone to have a certain amount of autonomy in their work, and making them be a part of planning is a great way to do that.

spotman 10 hours ago 0 replies      
It takes experience, experimentation, and what works for one team or individual, may need to be altered to work for another team or individual.

I like to break up tasks into what I hope is achievable in 4 hours. Always assign yourself as much (or more) of these sized tasks than those your assigning others, if you don't want to appear that your only a manager.

Re-evaluate these sizes often. Especially with a new project, new team, or new person. Maybe due to something you did not foresee right out of the gate, this 4 hour task is really a 16 hour task. Or possibly the other developer is working hard, and learning fast, but you just misjudged how quickly they can complete it in. In this scenario, the next time it comes to split up work (or if you really over-shot, you can re-split up what you gave them) remember this metric, and size it a bit smaller.

Depending on distractions, and how well the above process is tuned, I only hope for 1 of these 4 hour issues to be completed per day, while at the same time, looking at it over a week or two average, not daily, as many programmers do not work in a predictable linear fashion.

Over time as engineers progress and grow at their craft, what they may have been able to do in 4 hours, might be 20 minutes. As you work with others you will get a feel for this, and become more tuned into other people's forte's. Not everyone is good at CSS for example, even if you know how it works. So its not just about skill. The longer you work with people, the better you will get at carving out tasks that work for you and for them, and for the team.

So in summary, experiment with it, give yourself as much work, and in the same manner you delegate tasks to others delegate tasks to yourself. Re-evaluate the size of these tasks often, and try to create tasks that others can get done in a reasonable amount of time, so that they get the feeling of completing something.

Not everyone can be given a big gigantic month long task and not get lost in it, and on the other hand, tasks smaller than 4 hours, really start to feel (and take the energy) of micro-managing. The more senior the developer that has proven they meet goals on time and communicate well, these can be relaxed a bit, and you might find someone really prefers 2-3 day sized tasks, but can also be reliable in this manner.

Finally, ask them. You might be surprised.

vram22 8 hours ago 0 replies      

Stepwise refinement:http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design

Both were written about by Niklaus Wirth, (co-)inventor of Pascal, Modula, Oberon, etc.:


From the above page:


Not a panacea, but useful, and can be used together with other techniques like OOP / OOAD.

valarauca1 12 hours ago 2 replies      
I'm a big fan of old fashion modules are flow charting.

Start by flow charting your program, divide the task into a group of single statements tasks that can be described without the words, "and", "or", "but", etc. If you need to use those words, you need to chain tasks or make decisions.

After several revisions (3-4) you should have a nice overview of what the program should do, and how it will do this.

Selected tightly interacting objects, and combine them into modules. This will be very apparently visually if you followed the first step correctly.

Now you have your scrum/agile modules which can be outlined and given to subordinates, and tracked.


If the whole thing is a just a big ball of spaghetti, make a another revision. If its very very small you might be glossing over the technical details.

eddie_31003 12 hours ago 0 replies      
We've tried to handle in a couple different ways depending on the Feature. We either slice up a feature into the different layers they impact, so that individual Dev's can work on a layer. This presents issues related to dependencies. But typically, you can have have two Dev's start at the bitter ends, i.e. Presentation and Data then one of them will tie it up in the middle.

For smaller features, we'll have a Dev just implement it full stack. This takes for granted that a lot of the plumbing is there, i.e. Service Layers

It helps to have these conversation during Planning Meetings. This will help the Dev's involved to get a better understanding of the Stories and Tasks needed to implement.

gregthompsonjr 12 hours ago 0 replies      
Draw flow charts, identifying the smallest components along the way. Figure out which components depend on each other. Delegate tasks depending on what's already built, your deadline and each team member's specialty/ability.
petervandijck 3 hours ago 0 replies      
1. Have them pair program with seniors half of their time.

2. Review EVERY piece of code their write. Code reviews daily.

keithba 12 hours ago 0 replies      
I wrote something recently on how to create small tasks for estimating (http://keithba.net/estimate-like-a-boss), which includes an example design doc and spreadsheet of the breakdown. You may find that example useful.

Generally speaking, finding a way to communicate this will depend on the engineer. Someone very junior may require much more detail both in the technical design and the feature itself. Someone more senior needs less of that.

Ask HN: I am building an alternative to HN
2 points by yuashizuki  2 hours ago   8 comments top 3
bikamonki 53 minutes ago 0 replies      
Substitute popularity (karma bubbling) for relevance (tags+search). I open HN home page 2-3 times per day (seldom I need to click on more). Of all the results, 3-4 are relevant to me but I still need to quickly read all the titles to find them. Build something smart that lists only what is relevant to me and you have a killer app.
eibrahim 1 hour ago 1 reply      
Please do. I am tired of HN BS but keep coming back because it has great links. But some of the commenters are just assholes :)
webkike 1 hour ago 1 reply      
the popularity of HN
Should I build a personal finance site for engineers?
2 points by rhopen  2 hours ago   1 comment top
yen223 33 minutes ago 0 replies      
I'd certainly like a good personal finance site, but there's one challenging aspect: personal finance works differently depending on which country you are located. Example: Where I'm from, we don't have 401k's, we have something called the EPF. Overcome this, and the world is your oyster.

Also, why limit this to engineers? Is there something about the way we engineers handle our finances that's different from the general population?

Ask HN: How Relevant Is a Technical Degree/Exp to Get a Job as a Software Engg?
4 points by fk06  3 hours ago   2 comments top 2
yen223 22 minutes ago 0 replies      
Experience beats certification when it comes to job-hunting hands-down. The trick is being able to demonstrate that you actually do understand the technologies you listed. Set up a Github account and put code in there. I've literally gotten job offers on that alone.

Another tip is that you should avoid applying through the company website - hundreds of people do that. They have software which will automatically filter out people without the correct keyword.

Instead, meetups and user groups have been more fruitful for me. You want to work in Java? Chances are, there's a Java User Group happening in your area, and chances are, there are people attending those meetups to source local talent. Attend them, network, collect contact cards, and bypass the HR process altogether.

frostmatthew 3 hours ago 0 replies      
I went back to school when I decided to switch careers (I was a banquet manager at the time) and my experience was that a relevant degree will make it easier to land interviews, but doesn't matter much beyond that. Interviewers were far more interested in things like side projects I did for fun or how well I whiteboarded than my education.

So your real hurdle (assuming you're at the skill level of an entry-level/junior developer) is landing interviews. If you're not interested in going back to school I'd suggest reaching out to recruiters. Work with several, try not to be too picky, and most importantly, be patient. With an unconventional background getting your first offer will not be easy - but after that you're set. [Or at least, that was my experience, your mileage may vary].

Lastly, you mentioned you picked up PHP & SQL for a personal project - make sure that's on your resume and make sure to bring it up in every interview you have. It shows a genuine interest both in writing software and in learning as well as demonstrate you're capable of learning outside of a classroom.

Ask HN: Please review my intelligent gift search startup
13 points by crisen  8 hours ago   17 comments top 9
jjp 8 hours ago 1 reply      
As you ask quite a few questions it would be good to know how many gifts you currently think you are going to recommend. I got about half way through and started to think am I going to be wasting my time. Perhaps even an option of view suggestions now.

If you don't select a name for the person you are buying the gift for many of the questions don't scan that well. Also you use he/she as the generic but one of the follow on questions is sex to which I answered and relationship to which I also answered so would have made more sense to personalise the question a little more.

Some of the questions should allow multiple response answers , e.g. does person play an instrument, dance, play in drama, none/I don't know. The person I was thinking of does all 3!

Not sure whether it's important but I would have thought that for some questions there is a big difference between none (or in some cases it should no) and I don't know.

bbcbasic 6 hours ago 0 replies      
I just had a play.

I think it is a great idea. Always struggling to pick a gift. I like the phone charger suggestion. I like how you ask for feedback presumably to make the results better next time.

Will it be a success? I guess it depends on how the word will be spread? Do people want to admit they used something like this to buy a gift for someone?

Another idea for you - can you scan a Facebook account to gather a lot of the information you ask? Would save a lot of typing. It could also send you an email when it is someone's birthday with a recommendation of the present.

A common theme in the how to start a start-up is to do things that don't scale. What if you had a phone line that you answer, people can phone and give the information and you suggest a present. What if you order it for them? You will get a lot of information about the nuances of choosing a present, which can be fed into your algorithm.

In my example the person hates to read books on self development, but likes trashy novels, but on the other hand is very ambitious. It suggest all kinds of self improvement books but I had to keep saying no.

dchuk 7 hours ago 0 replies      
I'm actually working on a gift recommendation app as well, so I'm in this same space with you. I went through all of your questions in the wizard (There are quite a few, you should think about asking only the essentials at first and then allowing me to answer more once I'm in the app).

I filled out the wizard about my girlfriend who likes the Steelers, and you showed me a men's Seattle Seahawks shirt: https://dl.dropboxusercontent.com/spa/jacwd2ulo9hdl9o/q_gxfb...

There are ways to automate the process of gender classification, you should look into them for situations like this considering I explicitly filled in "female" and "Steelers" into your wizard.

jtfairbank 5 hours ago 0 replies      
Great idea! Where's the privacy policy? I don't want the very specific info I enter about my dad showing up in ads he sees.

It'd be helpful to have a back n forth between items, or even better show them as a list (maybe paginate and generate more ideas on each page?). I want to see the options before settling on one.

What I liked best was it gave me a category that works (smartwatch) which spurred an idea for an actual gift- a Fitbit.

sjcsjc 7 hours ago 0 replies      
Hi there Adam.

Firstly well done on having the guts to show this to people. Doing that scares the hell out of me.

I think you've picked a problem worth solving, at least for some people - me included. I'm crap at choosing gifts, and always have been. Nowadays I choose my wife's presents by asking her what she'd like ;-). If someone could actually build a system that would consistently recommend appropriate gifts I think I'd pay to use it.

In my unqualified opinion, this is a hard problem, and I think you have a lot of work in front of you. But you have to start somewhere. I won't comment on the ui because that's irrelevant at this point. But you might find it useful if I go through my answers and your suggestions. I was answering about my wife who is in her 40s.

The most relevant answers to your questions were a) Kasabian (favourite band), b) One hundred years of solitude (favourite book) and c) spirits (re the choice of wine/beer/spirits).

The suggestions I got were below, with my comments:

1) This is all yours, an Alt J album - [Good suggestion, she already has it]

2) Velociraptor - a Kasabian album - [Again she already has this, but then they're her favourite band]

3) A summary of Love in the time of cholera [Not sure why the summary as opposed to the book. In any case she's already read it, but if she hadn't it would have been a good choice.]

4) Diary of a wimpy kid - the long haul [an odd suggestion given her age, unless I'm missing something. My son says it's a kids' book]

5) The complete book of spirits [ presumably based on the wine/beer/spirits question. I asked her about this and she wasn't keen]

6) A book about Kasabian - [ good suggestion ]

7) KATGI Heart Shape Pendant Necklace [ interesting - I asked my daughter, who thought her mum would like it. I then asked my wife, who frowned and said no ;-) ]

Anyway, not sure if that's helpful. Feel free to ask me anything.

BTW, an idea for you. Some of my friends are extremely good at choosing gifts. Maybe talking to people with that talent would help you work out what makes them good at it.

Good luck.

fapi1974 4 hours ago 1 reply      
I just used this and bought something - so that's the best feedback I can give, isn't it? Good luck with it! Also if you have a newsletter for potential investors please put me on it. Details in my profile.
Someone1234 7 hours ago 1 reply      
Too many questions!

I've actually looked for this type of site before. Useful concept if it works.

I'd like to see a list of suggestions right after question #1 that change as you answer more and more questions. That gives me the option of either continuing or not without investing a lot of energy.

You could have the questions be "never ending" with that design.

velocitypsycho 8 hours ago 0 replies      
I would really like to see a list of gifts at the end instead of clicking no a bunch of times to see my options and ending up at a blank page.
mod 8 hours ago 3 replies      
You have a big age gap missing.

I'm dating a twenty-two yo female and I can choose 13-16 or 27-35.

Not sure if it's intentional.

Ask HN: Is Yahoo Relevant?
3 points by ashleyreddy  4 hours ago   5 comments top 2
xrange 4 hours ago 1 reply      
I just visited Walmart after about 2 years, just to see what they're all about. What I found was a bunch of cheap stuff, none of which I would ever buy. I tried their fountain drinks and the results were reasonable, but not superior to Target. They also had lots of rack space devoted to tampons and other "feminine hygiene" products, which being a man, I never use. What am I not seeing here?
dennisnedry 4 hours ago 1 reply      
According to QuantCast (https://www.quantcast.com/yahoo.com?country=US), Yahoo still has 74 million users monthly. That's a pretty big number and puts them in the top 10 of US Internet Traffic. People still use them for news, search, and other web properties such as Flickr. Rest assured, there is money to be made from this kind of traffic, and Marissa Mayer is "trimming the fat", aka reducing costs, which generates more profits.
Ask HN: What is your experience with working remotely?
9 points by mavsman  3 days ago   17 comments top 11
palmaec 2 days ago 0 replies      
I've been working remotely from home since 2004, as a contractor/freelancer developer. Before, I had worked in a big consulting company (that one). Since 2008, I've been living so far way from big cities that since then I haven't seen the face of my clients.

Working from home, at least for me, means to be more productive, even with kids at home. It also means eventually I work more hours to accomplish my daily goals, and that can become a problem some time (the oldest son already told me "you don't know anything else?")

Depending on the client, there may be some resistance from the in-office workers that have to stay there every day. The key is to do a good work and win confidence from management.

On socializing, in the last two years I started missing more. Probably less because of working and more because of staying too much time at home.

apawloski 2 days ago 1 reply      
I'm on a fully remote team, though I happen to live two subway stops from our product's HQ. A few times a year I will go in to work alongside people from other teams, or when someone from my team is in town for one reason or another.

My experience working remotely has been overwhelmingly positive. A notable advantage is avoidance of certain office dogmas -- particularly, the expectation of 8 contiguous work hours.

When it comes to coding, I don't have the mental stamina to produce meaningful technical thoughts for longer than 4 or 5 straight hours. 8 hour shifts are inefficient for me personally, because I get drained and "waste" 25-35% of those working hours with lower quality output.

Working from home lets me work in multiple 2-4 hour spurts a day with time to mentally refresh inbetween. I'm still available to my team during the 9-5 block(computer nearby, phone always on if I'm out), but if I were in an office, I think coming in and out for 2-5 "micro shifts" a day would be frowned upon.

The major downside is that at times it is difficult to turn off. My manager's (tongue in cheek) claim is that WFH is a trick to make employees work longer. I'd say that's true. The lack of effort it takes to start working when you're at home makes it easy to justify "oh, I'm here; I'll just hit this now." At it's worst -- this August -- there was so much work that I'd work straight into the night, fall asleep, wake up, and pick up my laptop. If I was working from an office I imagine the 9-5 rhythm might have been easier.

One other thing worth mentioning is that I lucked out with a great team. They are great technologists from a wide variety of backgrounds and I'm humbled and impressed by my teammates frequently. Sometimes I think learning little things from them has been more valuable to me than the experience I've gained in our "hot" technologies..

daly 2 days ago 1 reply      
I've worked remotely for the last 10 years. My largest coding effort lasted 6 years, generated 60k lines of code,and 6k pages of documentation. The same averages (10k loc,1k docs, per year) seem to hold for all projects. In generalI find I'm very productive working from home.

The hard part is that I discovered that I have a "natural"27 hour day so I tend to be out of phase with the group.In order to communicate I end each "day" (aka bedtime) witha 1-3 line email stating progress (or at least effort).

"Work" is also a 7 day per week activity as there are nonatural boundaries. It helps that I really love to writeprograms. Calling saturday morning is fine but I might beasleep on tuesday at 3pm.

Also, I write "literate programs" so the work product isa book containing the explanation and the source code.That way the boss can read everything up to the lastestovernight checkin. The book contains all work done to dateso there is never a question about "the state of the work"or whether there is "progress".

On the other hand, if you don't like weeks of dead silence,a lack of extra eyes to find bugs, a river of badly brewedhomemade coffee, and hotdogs for breakfast ... get anoffice job. Working from home is not for everyone.

saluki 3 days ago 1 reply      
Working remote is great, most of the time. The biggest benefit is not having to commute . . . saving on gas, mileage and most importantly TIME. I would recommend at least trying it out.

The only lacking part is office banter . . . socializing . . . but that is good and bad to miss out on. With skype and conference calls it's easy to stay connected with team members.

Jeremy1026 3 days ago 0 replies      
I dislike people, specifically, stupid people. I loved my last year working remotely. No dealing with stupid people is an amazing plus.

If you are a talker, you might it harder seeing only a handful of people each week. (Family, friends, service industry workers.)

Jayd2014 2 days ago 0 replies      
I work from home. I have to convince my wife all the time that I'm actually working and can't just run to the store and get groceries. I like working from home, but from time to time it's good to go see people in the office. If you are keen on making a career you have to show up and socialize a bit. You will not be promoted if you always work from home.
jpetersonmn 2 days ago 0 replies      
I work from home in the afternoons during the school year, and then full time during the summers. It's real nice to be able to have the option to work from home whenever I'm sick or there's a blizzard, etc... But for the most part by the end of the summer I'm really ready to get back into the office.
wannano 2 days ago 0 replies      
I like people, but not particularly stressed out adults at the office. I work half a day from home on engineering projects and the rest of the day I tutor kids at a high school which allows me to have some human interaction in my day. It's been a good balance for me.
hkarthik 2 days ago 0 replies      
Where do you live?

My suggestion would be to find a company with a local contingency in your city. Like 3-4 developers that are local to you and can meet up to cowork occasionally or a few times per week.

It works best if you have some nice coworking spots locally within a reasonable commute.

canterburry 2 days ago 0 replies      
When I worked remotely I'd get my work done and with the additional spare time I had, since I didn't have to commute waste time in meetings, I went to as many meetups as I could to make up for the lack of social interaction at work. Working out of a coffee shop or co-working space can also alleviate some loneliness.
mackraken 2 days ago 0 replies      
Can anyone share how/if Health Insurance benefits are provided?
Ask HN: How do you decide when to use a library?
3 points by niels_olson  6 hours ago   2 comments top 2
jimnutt 3 hours ago 0 replies      
I try to balance development time versus research and learning time. When you go to use a library, you have to consider the time it takes to determine which libraries exists to solve your problem and evaluate them to determine which matches your project best. Then, you have to decide whether the additional dependenc(y|ies)is worth the development time saved. Like everything else in software development, it's a balancing act. Having said that, as you get older, and have worked in the field longer, you find yourself less and less willing to reinvent the wheel and more willing to just use someone else's code.
inigoesdr 6 hours ago 0 replies      
In general libraries are there to make your life easier and help speed up development so you don't reinvent the wheel. The issue is then that you have a dependency, so you have to be able to manage that going forward(including testing other versions usually). In my experience, people normally use libraries pretty heavily and don't rewrite the functionality using primitives unless there is a real reason that everything needs to be standalone(such as writing embedded software where there are space or other limitations).
Ask HN: How long to wait after an interview with YC, TechStars and 500 Startups?
2 points by magsafe  5 hours ago   discuss
Ask HN: Advice Re: Google Cloud Platform Startup Program?
4 points by relaunched  5 hours ago   2 comments top 2
nachivpn 2 hours ago 0 replies      
We moved from Azure to Gcloud. We are currently using Gcloud's compute engine as we didn't want to get too dependent on the App engine. In comparison to Azure, gcloud VMs are much faster in terms of performance. Managing google VMs are much more easier. For example, migrating a gcloud VM would take only a few seconds even across data centers. Google's support team in India didn't really help, so we designed our own architecture. While google has many interesting features like autoscaling API, global load balancer, cloud storage etc, of which most of the services are in beta stage. We use it anyway, and haven't faced too many issues.

The only place where we had to look for an alternative cloud service was when we attempted to set up our own CDN on https. Google currently supports it's global load balancer only for port 80 and 8080 and they suggested we use DNS load balancer which we didn't like the idea of.P.s. we have not worked a lot with AWS. So I do not know much about AWS. From what I hear, AWS is currently much better and gcloud is good upcoming competitor. Overall, we serve 20 million API requests per day on google cloud without any infrstructure issues so far.

Ask HN: I'm a solo junior dev, what should i focus on?
11 points by basdevries  9 hours ago   21 comments top 6
valarauca1 9 hours ago 1 reply      
If you want to grow as a developer the best thing to learn is normally always the same.

Data Structures.

Nothing will help you more in interviews, day-to-day dev work, general problem solving, and even application planning. The goal is eventually to transition your mindset into thinking about structures holding your data, and how they act, and interact. Once you do this the optimal architecture, and what you need to write as code becomes clear as day (really regardless of the language).

lukaslalinsky 6 hours ago 1 reply      
I think the best way to learn to be a better programmer in your position is to find a more stable job with a good team of people. Learn from other people's experiences and mistakes. Working as a freelancer early doesn't have many advantages if you want to build a career, in my opinion.

Other than that - Keep trying different things. Go deeper with the frameworks and libraries you use to understand why do they work the way they do. Read about things that are interesting to you and you have some use for. When you have a problem, don't just "fix" it, understand exactly where, why and when it's happening.

JSeymourATL 8 hours ago 0 replies      
> I'm a solo junior dev, what should i focus on?

Beyond technologies-- Focus on building a solid consulting practice, client management, how to prospect & pitch new business. Recommend reading Alan Weiss, http://www.goodreads.com/book/show/260218.Million_Dollar_Con...

hackerboos 4 hours ago 1 reply      
You need a mentor.

Freelancing as a junior dev is not a good move. Find a full time position somewhere that will train you and give you access to more experienced developers.

pil4rin 7 hours ago 2 replies      
Depends on your planned career path- do you want to run a business, or be a developing badass? Few can do both extremely well-If its development, move towards learning more about Software architecture, including SOLID principles, Patterns, best practices(as it pertains to Computer Science as a whole, not a particular technology or framework). While doing this, blog about it so your current and future clients can see your humble nature (rare for up-and-coming- to experienced developers) and progress.More importantly, if you think about doing a personal project or have an idea for an app- don't focus on making money, focus on the knowledge and experience gained through the work itself.
niche 9 hours ago 1 reply      
Keep reading Hacker News, cross your fingers and learn Haskell
Ask HN: Good advertising network for a site with 4M views per month?
8 points by LookingForHelp  11 hours ago   5 comments top 4
petercooper 10 hours ago 0 replies      
I sell six figures of sponsorships each year on programmer-oriented properties and have been through a similar situation to you in the past. My email is in my HN profile so I'm happy to give you some context specific pointers over email, including things I'd rather not say here.

In terms of general advice I can give here:

- I've always found Adsense to perform poorly the more intelligent or technical the audience is. Adblocking is one issue, but essentially sophisticated audience == less likely to engage with weakly targeted ads (except retargeted ads, but that's another story).

- A community site that's so popular has great potential to get a small subset of the audience to pay for some sort of status symbol or internal advertising. See Reddit.

- Depending on what the topics are, job advertising could be lucrative if done right and promoted internally in the right way.

- If you want to take baby steps, consider introducing some BuySellAds units and selling your own ad space through them. You get control over your pricing and if you have an audience an advertiser is interested in, things can work well, especially if you can sell a site wide sponsorship type thing on a monthly basis.

- Do you have e-mail access to your community's members? There could be a goldmine there if it's treated properly. Email CPMs are way higher than the Web.

- Ditto but for having a podcast the community listens to. Podcast CPMs are even higher, but this is an entire project in its own right.

- If you're in the right topic area, boutique networks like http://adpacks.com/ might work well for you. In my experience the CPM isn't particularly mindblowing, but it should be better than Adsense and little work for you.

davismwfl 10 hours ago 0 replies      
Sounds like petercooper would be a great contact to reach out to.

There was also a thread the other week https://news.ycombinator.com/item?id=8709438 that was how to monetize a smaller site, but the basics are still the same to a certain point. But without knowing the content its kinda tough to give specifics.

Some ideas, you can collect data/posts from the site into ebooks and sell those, or provide training from the site on specific topic etc. And if you haven't already I would be building the email list for a newsletter, cross promotions etc, all of which convert at a much higher rate and do really well.

I would think that out of 4M views per month you should be able to monetize it in multiple ways, so you do not put all your eggs in one basket as well.

jaddison 10 hours ago 0 replies      
You should check out Google's Doubleclick service: http://www.google.ca/doubleclick/publishers/small-business/

Instead of just serving Adsense ads, you can set up various kinds of bidding (or manually create ads to start with) falling back on Adsense when inventory 'runs out'.

Basically, it will end up being a manageable/overridable layer between your site and Adsense, which you currently use.

fjabre 11 hours ago 1 reply      
At 4 million page views per month you have to ask yourself if ads are the only way to generate revenue from your site.
Ask HN: Elevator Pitch: Your Setup and Workflow
2 points by rbsn  7 hours ago   2 comments top 2
MalcolmDiggs 6 hours ago 0 replies      
I try to think of those things as nice-to-haves. My pitch is just me, looking right into your eyes, being persuasive for about 30 seconds. When I was pitching a consumer app I'd have a prototype running on my phone, and I'd just hand it to the person after I stopped talking.

I have a powerpoint and pdf of my deck on a thumb-drive, but I almost never use them (if anything, I'll email them to the person as a followup after we speak). I once met a guy who had a QR-code on his business card which linked directly to a zip file with his business-plan, pitch deck, etc. I thought that was pretty cool.

taf2 4 hours ago 0 replies      
hands on keys
Ask HN: What are the most beautifully written tutorials for beginners?
19 points by mrtimo  1 day ago   15 comments top 15
hansy 2 hours ago 0 replies      
[Ruby on Rails] https://www.railstutorial.org/

Without question this is the single best beginner resource for learning Ruby on Rails I have ever come across. I tried CodeAcademy and a few other similar websites, but just couldn't connect the dots. Michael Hartl does an unbelievable job explaining web concepts in a simple, concise manner.

I can't recommend this resource enough.

thesilverbanger 1 day ago 0 replies      
As an absolute beginner, I actually feel qualified to contribute to a Hacker News thread. Pardon my excitement! As to the question at hand, I have found Zed A. Shaw's "Learn Python the Hard Way" e-book to be extremely helpful. As far as I remember, it assumes no prior knowledge of programming and gets you started right away on tutorials, opting to explain everything after you have the given code up and running. It certainly helps to burn the syntax of a given language into your brain through repetition and has ample amounts of humor peppered throughout.

You'll find this book, as well as a number of other books in the series, all freely available at the site: http://learnpythonthehardway.org/book/

swatow 22 hours ago 0 replies      
Probably because the tutorials for beginners reach the most number of people (because advanced users are more likely to self-learn or use documentation, and because advanced topics are often specialized). Therefore there is the most value in making a good beginners tutorial.

Also, a tutorial for beginners can be written by someone who isn't an expert, but is a full or part-time professional writer or communicator. A tutorial for experts must be written by other experts, who don't have the time to learn and practice communications skills as much.

mrtimo 11 hours ago 0 replies      
OP here. Thanks for all the great comments. This is becoming a good resource. Here is a list of tutorials that I had my undergrad students do. Some are from MSDNA... https://docs.google.com/document/d/1hNliZd6kp1YBfDKQucnK8cV0...
hds 9 hours ago 0 replies      
Learn You a Haskell for Great Good is a fantastic introduction to Haskell in particular and functional programming in general. Definitely a great place to start:


dfwf23rw 22 hours ago 0 replies      
Why's (Poignant) Guide to Ruby


codewritinfool 12 hours ago 0 replies      
The "Aviation Formulary" isn't really a tutorial, but it covers a ton of groovy GIS stuff in a way I haven't seen collected anywhere else, with worked examples.


A bit domain-specific, but fantastic.

avni000 1 day ago 0 replies      
I'm really enjoying Canva's Design School tutorials that simply and elegantly take complete beginners through the basics of good design with a series of hands-on exercises.


partisan 1 day ago 0 replies      
Not sure about consolidated collections, but I found the Arc language tutorial to be exactly what I want in a tutorial: concise yet providing good coverage of the topic.


gargarplex 12 hours ago 0 replies      
stephenbez 1 day ago 0 replies      
I thought the Knockout tutorials were great:http://learn.knockoutjs.com/
selbyk 21 hours ago 0 replies      
Arch's Beginner Guide will introduce you to the Arch way step by step, regardless of how familiar you are with Linux.


jarcane 16 hours ago 0 replies      
Hands down my favorite on this front is probably the Clojurescript Koans site: http://clojurescriptkoans.com/
kgen 21 hours ago 0 replies      
Shameless plug, wrote this interactive tutorial for regular expressions for a friend who was new to them. Seems to have helped a few other people along the way too.


subsection1h 12 hours ago 0 replies      
K&R and the comp.lang.c FAQ.
Ask HN: Why do real estate brokers in NYC make $1,000+ / hr?
7 points by rabbimarshak  8 hours ago   17 comments top 5
neuen 3 hours ago 1 reply      
As a quick note, I don't know much about the industry or claim to do so but I do feel I have a better grasp on it that how you've broken it down.

You've taken a job that you know very little about, that thousands of people try every year and fail and broken it down to simple 6 hours to rent an apartment and make a cool 1k an hour - seems like you've been watching alot of HGTV.

Thousands and I mean thousands of people try to make it in the NYC Real Estate world every year and come out broke and jobless. Most of these people probably came in thinking along the same lines you are.

Is the fee unfortunate? Yes, do people understand exactly how much their paying - maybe not. Does it take someone six hours all by themselves to rent an apartment? Nope.

I'm not sure if you're a programer or not but what you've done here is basically the equivalent of me saying "Eh, that's one page of code? And he types at 60wpm? That only took him 4 minutes. Why am I paying him more than $2.44".

dreamweapon 7 hours ago 1 reply      
Make sense? Is there something I am missing?

Well, you're way off on your math. Just the communications and scheduling of those 9 prospects (and dealing with no-shows, late-shows -- not to mention getting there and back, because it's not like you can get them all to show up in the same time window, back-to-back) involves a very significant multiplier on the 20 minutes per actual showing (1.5 hours per actual, physically appearing prospect) would be a better estimate).

And ditto with the overhead on everything else you're mentioning. Plus they have side costs, and (significant) downtime between clients, etc. I'm not saying these are wonderful people that deserve every penny they're paid. But there's no way the "average" broker is taking in around $7k a week (or $350k a year) as your math would seem to imply.

My argument is that a better model is to compensate the agent hourly vs. commission.

If that was in any way viable it would have happened along time ago. There are reasons the compensation is commission-based; it's because it's basically a sales job, and the same remuneration logic applies: you get paid for closing a sale -- not for posting ads on Craigslist, or for talking up the parquet floors and fireplace and how great the restaurants are.

bbcbasic 8 hours ago 1 reply      
On the one hand - you are right that the hourly figure is high. It just wont be THAT high.

For example 20 mins per showing assumes they teleported to the apartment, right?

You didn't include all of the fixed costs, like the broker's rent, staff, insurances, cars etc. You didn't include the time spent haggling with the property owners.

So lets assume the pay is lower but still high - say $200 an hour. That is still alot. Why aren't people advertising on craiglist themselves.

On to my second point:

I don't live in the US. Buy my wife sold her apartment herself without an agent (broker) for a good price. She tried an agent first but they were not interested in putting in that much effort. So I agree that these overpaid agents are not always needed.

So why do we need brokers/agents in 2014 when most of the work is marketing, which the internet takes care of (and isn't a lot of work)?

Premium properties and fixer-uppers excepted!

uptown 8 hours ago 1 reply      
I don't disagree that it's ridiculous - same could be said for the 6% commission on an apartment/property sale. But they do it because there's enough supply to continue the practice. If a building were to propose paying them hourly, they'd likely balk, and choose to focus on different listings with a higher commission.

There's plenty of room for disruption - many companies are tackling it, basically growing the concept of "pocket listings" for rentals - but NYC has a high volume of renters and it's a difficult market to convert to a new business model for something as entrenched as real-estate.

old_chestnut 8 hours ago 1 reply      
Flaw in your plan: what if the deal doesnt work out? who compensates the agent? The 6% fee is amortized over the 9 clients that didn't work out - each has phone calls, paperwork, organizing, travelling.

From the agents perspective: Its a much harder job than you imagine. You have no control over the quality of your product, or its pricing. Also you can do just a few visits per day.

From the landlords perspective: When you own several properties you will have better things to do with your time than do a real estate agents job.

Anyhow the issue isn't with real estate agents. Its with asset inflation vs wage stagnation. Start complaining about that instead !

Ask HN: What could be done to create low maintenance, sustainable living?
2 points by andrewtbham  7 hours ago   1 comment top
brudgers 4 hours ago 0 replies      
All the material aspects of the envisioned 'sustainable life style' depend on the current style of industrial infrastructure for their creation and distribution...heavy duty 3d printers and solar panels and components for agricultural robots don't grow from seeds and soil. They depend on materials made in factories with tooling and loading docks and forklifts.

Pastoral utopias based on technology depend on industrial dystopia.

Ask HN: I have an idea how to become a competitor to Amazon. What should I do?
6 points by atrust  11 hours ago   17 comments top 10
brudgers 6 hours ago 0 replies      
To be frank, describing Amazon as an "online store" suggests a gross simplification of their business model. Amazon's business is built on traditional pillars of retailing: customer service, B2B relations and owning the best real-estate.

No competitor is going to get better deals with UPS, Fedex and USPS. Partially because Amazon has located warehouses such that they help negotiate better shipping contracts and thus provide better customer service.

It has dumped everything that could be a profit into expansion for twenty years. A newcomer would be hard pressed to sell me a Kindle, a movie download, a used book and bearings for my clothes dryer all on the same order at an attractive price and with an aggressive delivery schedule.

If your idea might have legs, some VC will back it.

Good luck.

dmac0415 8 hours ago 0 replies      
If you're serious about this idea, you should run it by some of your friends/ co-workers that you respect. If they seem excited by it, continue to develop the idea with them and bounce ideas off them. Once you gather a group of people that work well together and have a general understanding of the problem/solution, start building an MVP. Competing with Amazon, Ebay, Craigslist, etc is extremely difficult because of positive network effects. Building a product to compete with the bigs guys is going to require an enormous amount of effort and a team that seriously believes in the product. If this is something you're set on gather a small team and get to building and tweaking. You may find that your competitive advantage doesn't exist, but you may also find that you can deliver in a way/space that the big guys can't. The key, however, is to get to building and chasing down users like there's nothing else that matters. Like others on here have said ideas are a dime a dozen, so just get to building.
taprun 10 hours ago 0 replies      
The way to think big is to think small. You can't go head to head against Amazon all at once. You need to pick a very small area and specialize.

Can you be the best site for selling pewter figurines, plumbing supplies or bowling equipment? I think you can!

By niching down you can develop a reputation, have a custom-tailored search and navigation setup, etc. As you start getting more customers and income, you can broaden your offerings.

For instance pewter figures -> fantasy art -> fantasy books -> board games.

Amazon started with books before it started selling everything else. You could try the exact same strategy.

YoAdrian 10 hours ago 1 reply      
There's a professor I know that claims he can get you back to 1994, but beware: he keeps calling everyone Marty and thinks there are people out to get him.
tlb 11 hours ago 0 replies      
You should recruit the rest of a founding team that can get a working version built without hiring.

Y Combinator funds that sort of thing, and can help a lot with turning an idea into a growing business. You can still apply late for the Winter cycle, though if you don't have the complete team yet the Summer cycle might be better. http://www.ycombinator.com/apply

saluki 8 hours ago 0 replies      
You are an engineer . . . start building a basic MVP . . . don't worry about automating behind the scenes stuff . . . do all that stuff manually in the beginning if it's faster to get up and running. Think launch fast, like in 7 days or 30 days. Get the idea out there fast where people can use it and validate it.

You are going to need investments to roll out an idea on this scale. But work up an initial version to prove the concept. The farther you can bootstrap it the more equity you'll retain.

tpae 10 hours ago 1 reply      
Ideas are dime a dozen, if you are an engineer, you don't need to hire anybody. Go out there and build a prototype. Find users that will use your prototype. If it has a positive growth, you can easily find funding for it. If you are already thinking about hiring another engineer, then I suggest you read more books on startups.
YesThatTom2 8 hours ago 1 reply      
Amazon's prices are subsidized by EC2/AWS services. (For example, bulk purchasing of internet bandwidth for AWS results in a discount that greatly benefits Amazon's e-commerce need of bandwidth.)

Therefore, your first step is to spend a few billion dollars building datacenters, hiring programmers and product people, and create a competitor to AWS that has approximately equal market share. That should take 5-10 years.

When you are done, you can start your e-commerce system that competes with Amazon's. You'll have the infrastructure that costs about the same (i.e. is similarly subsidized) and you'll have a fair fight.

valarauca1 11 hours ago 0 replies      
Network, find people who can work with. Develop the idea more.
pizza 9 hours ago 1 reply      
p2p Amazon?
By far the best business plan template you'll find
2 points by shalbert  9 hours ago   discuss
Ask HN: How much traffic does a job board site need for paid listings?
33 points by m52go  1 day ago   29 comments top 9
awwstn 1 day ago 1 reply      
I work at Assembly and have paid pretty close attention to Coderwall, which might have some lessons for you.

Coderwall has around 500,000 unique user sessions per month, and it's all software developers. They monetize in a few different ways.

(all the revenue is listed transparently at https://assembly.com/coderwall/financials and more detailed breakdown for October is here: https://assembly.com/coderwall/posts/coderwall-s-october-fin...)

1. Job postings: companies pay to list jobs to the community. ($99 for a 30 day posting)

2. Ad partnerships. One is a retargeting partnership with Perfect Audience that pays about $15,000/month and another is partnership with New Relic where users can deploy New Relic and get a coderwall t-shirt (and NR pays Coderwall per deploy)

I actually think Coderwall could be a much larger business than it is given the strong, active userbase, and the community is working on that. If you have questions about this, ping me at austin@assembly.com

MichaelCrawford 1 day ago 1 reply      
Have a look at which cities craigslist charges for, how much it charges, and for which specific kinds of jobs.

For example, http://portland.craigslist.org/ charges $25.00 to run a "software / qa / dba" ad for a month, but nothing at all to run such an ad at http://spokane.craigslist.org/

It's not really the traffic that counts, but conversions. How much money do _you_ really need? Are you working full-time on this? If not you might be better off to charge little or nothing, so as to build market share.

Most job boards don't do much to market themselves, other than maybe send some spam. There's a lot you could do yourself. Suppose you have a local job board, you could show up to MeetUp groups and the like to promote your board, pass out handbills in public places, send flyers around to student employment offices at universities.

You won't need much traffic at all, if the people doing the hiring are able to find lots of qualified candidates through your board.

This is a highly competitive area. There are bazillions of job boards, however most of them totally suck, so you have the opportunity to do well by doing good.

mattgibson 1 day ago 0 replies      
Not easy to answer without more detail. Monetisation depends on the type of people you have visiting. StackOverflow had a lot of difficulty monetising with adverts for books from Amazon, which they concluded was because people come there looking for free stuff, rather than to buy things (http://blog.stackoverflow.com/2009/11/our-amazon-advertising...). Other sites find this works well.

Who are your main users and why would they come to the site? Teachers? If so, what level - school, college, postgrad? Managers who purchase stuff for the teachers, maybe?

I would imagine you will also have to take into account the skills being demonstrated on the site and the value they have to employers. If your site will attract the best and brightest (e.g. top coders on StackOverflow) whom employers want to recruit, then I think the job listings would be more valuable than if it's mostly made up of people looking for free stuff to save themselves the hassle of making it themselves.

cmalpeli 1 day ago 1 reply      
Founder of JobBoard.io here. Job boards can be a great way to supplement monetization of a niche audience. Expect it to take a while to build traction, but when you do it can be quite valuable. I agree you should start by not charging for posting.

Once the audience is built up, by specializing and being in a niche you should be able to charge MORE for postings than a more generic job board.

We put together a pretty comprehensive blog post a while back on the topic of job board marketing and promotion, you may find it useful:


It covers things like email marketing, social and using backfill to beef up your inventory....hope this helps!

petercooper 1 day ago 0 replies      
It's not really about traffic, it's more about the quality of the audience. People posting job listings (really just a special type of ad, BTW..) at a premium cost are very keen to know demographic information about who's looking at those listings. Are they in the right regions/locations? Are they the right level? Are they a group that even engages with job ads? That audience could be as small as 1000 or as large as a million to be worthwhile paying for.

Your best bet if you don't have a strong feel for things is to allow free listings initially and then offer upsells (for example, a fee to have the listing mentioned on the site's Twitter account or in a single, tasteful link on the homepage).

mischanix 1 day ago 1 reply      
There's really nothing wrong with just offering paid slots and letting the buyers decide if they're worth it.
redmattred 1 day ago 1 reply      
You can create an out of the box job board with SimplyHired if you want to test without building anything: http://www.simplyhired.com/partners-overview
jblesage 1 day ago 1 reply      
Depends on your niche.

If you are catering to a very select, focused audience then you don't need volume, because the specificity is your selling point.

There is a lot more than traffic that companies look for in a job board. Since your site is based around educational content, try to find profitable, untapped markets related to this and focus on only those markets at the beginning.

You can be creative with this: for example, hedge funds routinely pay top dollar to find the best PhD students in math-related subjects, so maybe there is a way to bring both together.

marketingadvice 1 day ago 0 replies      
Minimum traffic, maybe 1 hit/month. Honestly I've seen people go to paid listings off the bat and then they aggregate from other places to get the ball rolling.

It works but you have to put in effort, it's a massively saturated market.

Ask HN: What is the best way to get started in Deep Learning?
12 points by rayalez  1 day ago   4 comments top 4
matt1 4 hours ago 0 replies      
This is a timely post for me because I also want to study deep learning and have been researching the best way to do that without going back to school and getting a graduate degree in CS.

My tentative plan is to start with Coursera's Neural Network course and implement as many things as possible (probably in Python) along the way. By the end of 2015, I'd like to build a deep learning application from scratch that does something interesting.

While online resources will likely be my primary source of information, I'd love to have a study partner (or partners) to discuss concepts and bounce ideas off of. If OP or anyone else is interested, drop me a note at matthew.h.mazur@gmail.com and we'll figure out the best way to do that.

As a side note, I built a few a-life/AI visualizations in JavaScript over the past year, including a simple neural network which might interest anyone reading this: http://www.emergentmind.com/.

srinathsmn 23 hours ago 0 replies      
I think you should start working on your Math (Khan academy courses) and ML foundations (Andrew Ng's coursera course). Then Geoffrey Hinton's coursera course on Neural networks could be a gentle introduction to Neural networks, deep learning and their applications. Last but not least, do a small project on Deep learning or try out few kaggle competitions to deepen your understanding.








Houshalter 21 hours ago 0 replies      
Metacademy (http://www.metacademy.org/) is a wonderful resource for learning anything machine learning. Especially if you don't know what you want to know, or what you need to learn first. I also really like this coursera course: https://www.coursera.org/course/neuralnets
fhadley 12 hours ago 0 replies      
deeplearning.net and the ufldl tutorial are excellent places to start. I've also perused this ebook recently and found it to be pretty solid in terms of giving mathematically solid but still intuitive.last but not least, absolutely do no whatsoever "do a small project on deep learning or try out [a] few kaggle competitions." instead, pick up a paper that interests you and implement the methods they describe therein.

edit: here's the ebook link neuralnetworksanddeeplearning.com

Ask HN: How to politely decline an NDA?
18 points by pzxc  1 day ago   16 comments top 10
MalcolmDiggs 1 day ago 2 replies      
I've started charging for them. I don't decline, ever, I just make it really expensive...and I make it slow down the process. (Get up from the table, "okay I'll take this to my lawyer and get back to you in the next few weeks").

Almost everyone will say "oh, I didn't want to derail the project, let's just move on without it". Some people would rather pay, and I'll gladly take their money.

akg_67 23 hours ago 0 replies      
Have you received a copy of NDA for review? Instead of outright declining NDA, I will suggest you review the NDA, identify the clauses that you have concerns about, let the client know your concerns and request to modify/remove the relevant clauses. Most of the time client will either modify the clauses or let you know the reasons for having those clauses in NDA.

Recently, I requested a client to sign an Indemnification and hold harmless agreement. The client came back expressing their concerns about couple of clauses and requested to remove them. I replied with details on what is the purpose of those clauses and how they protect both parties. I also suggested to the client that they are welcome to suggest modifications that achieve similar objective and situations as original clauses and also address their concerns.

Once client understood the reasons for those clauses, they signed the agreement without requesting any changes or removal of those clauses.

davismwfl 16 hours ago 1 reply      
I don't understand the issues with executing a basic NDA. Assuming it is a basic NDA, where it is just saying you will not disclose copyrighted, or otherwise protected data from the client to third parties. We will sign NDA's (we also have one we provide for that purpose) if someone is serious, but not just for a basic conversation, and our MSA/RSA once signed states that it replaces all prior signed instruments and has its own NDA terms in there. It also allows us to disclose client name, basic work we did etc, just we can't share code, trade secrets etc. Also, we limit the time period in which we will agree to any NDA, e.g. 12 months is about the max.

If the NDA is also a non-compete then no way in hell, but if it is a simple don't disclose my information to third parties, I don't see the harm. No one can prevent you from using knowledge, hence an NDA doesn't stop you from telling your next client hey I know how to do X because I have done it on 3 projects now.

What is the concern? Am I misunderstanding or missing something?

thejteam 16 hours ago 0 replies      
Find out why he wants the NDA. Sometimes it is because they don't want it publicly known that they hired a freelancer to do the work. He might not want you shouting from the rooftops, "hey, I was the one who built this!"

If that's the case you can word the NDA so that it gives them what they want and you don't give up anything you don't want to give up.

It could also be that in order to implement the game (or whatever) you could require access to business strategy information (like pricing, upgrade dates...) that they want to keep secret. You can word the NDA to cover this but not the technical stuff.

Or if none of this applies then you can point out that NDAs don't cover information that is available publicly so any "ideas" typically won't be covered once they are publicly available.

And as others have pointed out always have your own template to start from.

dorfuss 10 hours ago 0 replies      
Adding to what was already stated by others I have to share with you my strong disbelief in client's attorneys and any documents that are produced or approved by the lawyers.

My opinion and experience is that attorneys and law firms are there just in order to prove their usefulness - nothing more. And they are not useful at all. It happend SO many times that an agreement (not necessarily NDA) was kept by the "lawyers" for 3 weeks and then returned with some realy idiotic comments, exposing genuine iqnorane of the project we were working on.

Often, after the lawyer's review, they don't even put project leader's names, dates, bank account numbers, payment time, currency, phone numbers or other details in the agreement and such papers are later signed by CEOs (I wish I could one day show you these documents).

It seems to me that very often clients keep the documents for weeks, delaying the project launch, supposedly scrutinising and reviewing the paperwork, but are returned without being read at all.

We are now trying to sell our product to a minor supermarket chain and they asked us to give them source code to our software platform. When we told them it was impossible, they said that they get the source for every piece of software they use. That's nonsense, we replied and asked if Microsoft gave them the source code for Windows.

The same goes with NDAs - they think that their systems or business processes are so important and require special protection as if it was some kind of serious secret although it's just some simple intranet or knowledge base portal that we build for them.

Clients, negotiators, buyers, lawyers are incredibly ignorant when it comes to technical stuff.

* - (I'm not saying that agreements or legal advisors are wrong in general, just that very often the protection measures and suspiciousness are blown out of proportion)

gesman 5 hours ago 0 replies      
I think the solution would be to request to modify NDA to be very specific to exact project (include project name + exact precise description + server stack + anything, etc. - as as whole), so that it would be literally impossible to violate NDA working on a very similar project with minor differences.

If potential client will continue insisting on vague language - scrap him.

sintaxi 3 hours ago 0 replies      
I prefer to agree to NDA's but insist that it be mutual. Both sides get equal protection/risk.
CyberFonic 23 hours ago 0 replies      
Why not just have your own NDA? You need to protect your intellectual property which is embodied in the work that you perform for them. Your NDA can effectively claim protection for your methodology, coding conventions, documentation, etc. In many jurisdictions you own the copyright unless you explicitly assign it to the client.

Then you say: "Fine, and you will need to sign my NDA".

acosmism 22 hours ago 0 replies      
just a note - NDAs are not enforceable. trade secrets are. sign the nda if it gets you payed. im seeing a lot of "ideas" being wrapped up into an nda and thus a development contract - when none of the trade secrets, working knowledge, or prototypes have been developed yet. your in the green, just do it.
ddingus 1 day ago 1 reply      
Last time I declined, I simply cited the impact on job searches and offered to sign for a much shorter term, or keep the discussion relevant enough to qualify whatever business was on the table.

There are perfectly honest reasons to decline and or modify an agreement. Simply state them and offer your earnest intent to make it work for everybody.

Ask HN: How do you balance privacy with running a startup?
11 points by pseudonyms  1 day ago   11 comments top 5
patio11 1 day ago 3 replies      
I was fortunate in that someone once threw my real identity in my face during a discussion "patio11" was having, and I realized that compartmentalization was already compromised and thus a determined adversary was always going to win. Having accepted this, and adjusting my online behavior to be more reflective of my desired public self, defangs most of the problems associated with people knowing who you are.

To quote Tyrion Lannister: "Let me give you some advice, bastard: Never forget what you are. The rest of the world will not. Wear it like armor, and it can never be used to hurt you."

I tend to think that Internet folks have overly exaggerated impressions of the risk profile associated with having basic biographical information available, by the way. This is not a unique cross we have to bear -- every dentist, lawyer, McDonalds franchisee, etc has the same "problem." The vast majority are never targeted by the Internet hate machine.

The most annoying thing to have happen to me from having my identity public in ~8 years, aside from online criticism, was having someone find my cell phone number on WHOIS and ask for advice at 4 AM in the morning. My advice was to send me an email and schedule a call, like a considerate person.

wglb 23 hours ago 0 replies      
Growing up as an Amateur Radio Operator in which a) you must disclose your real physical station address as well as your mailing address and b) all radio communications are by nature public and may not be encrypted, I have a different intensity level than most of the modern commentators about privacy.

And if you are in a business, you are likely to want the opposite of anonymity.

If your state of well-being depends upon absolute and total privacy, you will need to take rather extreme measures. Probably starting back in 1992.

aswerty 19 hours ago 1 reply      
I recently created a personal blog and have just bumped into issues surrounding anonymity with regards linking to accounts I use on different sites. Some sites like Stack Overflow are fine to link to but I'm not too happy linking to certain sites where I've expressed controversial opinions and/or goofed around on. This is disappointing because on these sites I've spent considerable time discussing aspects of software development.

So I think I'm just going to keep these accounts anonymous and just use my blog, GitHub, and Stack Overflow as my professional public persona. I don't have a problem putting my name out there as long as I know what I'm writing can be directly tied back to me (not that anything on the other sites are particularly bad I just wouldn't want employers and such having direct access).

davismwfl 16 hours ago 0 replies      
patio11 already gave you awesome points, as usual. Below are some of my personal points/experience.

I have helped a lot of small businesses with their technology, positioning and marketing and this is one of the most common issues owners bring up. Typically they will say they don't want to be "known" or be out if front because they worry about their identity and the issues around it. Sometimes they say they want their brand to be known not them, but in the early days their brand and themselves are the same which people don't understand a lot of times.

However, it is the #1 mistake I think people make if they want their business, or personal brand to grow. You cannot hide, you cannot turn down press, you must be out there and be genuine. I do advise clients though, that if you are posting what you know to be controversial content on a forum, blog etc and you feel it would be damaging to your brand then first, don't; but if you must, do it anonymously. The problem I see is that rarely is anything ever anonymous, even when you think you are, so its easier just to be you. On the controversial comments, I don't mean that you simply disagree with another view point i.e. you think Ruby rocks and node sucks. I mean when someone has a view that is anti-pattern to common polite society, e.g. racist comments, sexist comments etc.

yuhong 18 hours ago 0 replies      
This also reminds me of startupsanonymous.com and the Ask HNs that uses throwaway accounts. I can understand why they are sometimes needed, but I'd prefer that these problems be fixed if possible.
Ask HN: What's your favorite startup logo?
10 points by tburger  1 day ago   2 comments top 2
avni000 11 hours ago 0 replies      
I think the best ones manage to have a simple, clean aesthetic but are representative of their brand and offering.

A couple of my favourites: Birchbox (birchbox.com), Treehouse(teamtreehouse.com), Intercom (intercom.io)

vinayp10 1 day ago 0 replies      
Hipmunk has an awesome logo/mascot.

The Github Octocat is also awesome :)


Ask HN: Did anyone get their myo and what do they think of it?
6 points by palidanx  1 day ago   discuss
Ask HN: Blackberry Classic and Blackberry Passport, Fly or Die?
3 points by chirau  9 hours ago   1 comment top
slater 9 hours ago 0 replies      
Ask HN: I signed a NDA non-compete, but declined the job
6 points by jimkri  12 hours ago   14 comments top 6
mchannon 12 hours ago 1 reply      
Depends on where you signed the papers.

In practice, the state of California makes it next to impossible to enforce non-competition agreements. You are legally allowed to earn a living without indenturing yourself to one employer.

Put this out of your mind. NCA's are routinely signed and ignored by nearly the entirety of the bay area. Even the high-profile cases involving executives/founders jumping ship and joining the competition tend to focus more on nondisclosure rather than noncompetition.

If this is another state just let us know.

HeyLaughingBoy 11 hours ago 1 reply      
Did they disclose anything to you that's covered by the NDA? If not, then you don't have anything to worry about. Since you didn't actually work for them, the odds of there being something you learned from them accidentally are slim to none.

I'd say forget it and get on with life. And yeah, think hard before signing anything: there's always time to think about it.

petervandijck 5 hours ago 0 replies      
Don't worry about it.

* Unless you are starting a company in the exact same business right now.

icedchai 11 hours ago 0 replies      
Practically speaking, don't worry about it, especially since you've never done any work for them.

Don't waste your money on a lawyer. (Many people here are overly paranoid and will tell you otherwise.)

debacle 11 hours ago 1 reply      
Were you privy to any critical proprietary information?

If so, then you may be in a bind.

If not, I would email them letting them know you plan on ignoring the non-compete. Explain your reasoning.

SEJeff 12 hours ago 2 replies      
You signed the Non-Compete, which makes it legally enforceable. Most NCAs (non-compete agreements) have clauses allowing the firm to not enforce them if they so choose.

I would send an email to the firm asking them if you're still bound by it. I would also seek a lawyer to read the agreement you signed and advise you of your rights first.

Looking for Node.js+neo4j API engineer (contract, remote)
2 points by brian-g-gates  10 hours ago   discuss
Ask HN: Why hasn't their been as much ebook piracy vs. music, tv, movies?
6 points by coralreef  23 hours ago   8 comments top 4
dorfuss 9 hours ago 0 replies      
Two views on this issue.

Books, with rare exceptions such as that of K.J. Rowling's and Dan Brown's, are not a global phenomenon, draw less attention, making the crime of piracy less tempting or less lucrative. Books are more elitist and TV series more vulgar. That's also the reason why it's more profitable to harvest clicks on porn or pirated music than on metaphisical poets such as John Donne.

Since there are fewer book pirates it's also easier to track them vs. millions engaged in pirating movies on P2P networks.

My second guess would be that e-books are quite a new phenomenon (in terms of the recent surge in popularity of e-paper readers and tablets) compared with optical drives and tapes that were around for a couple of decades. DRM techniques were much less advanced and so piracy could flourish. The market and the music or film industries were so badly hit that they had to find a different business model to make ends meet.

Kindles and iPads are made with DRM in mind, the techniques are more advanced today, and the publishers have not been threatened by piracy so much as by the shrinking readership. Also scanning entire books could not have been done so massively and easily as copying music or films.

Finally - a word in favour of piracy - I can imagine, although it's just a guess, that it was exactly the piracy that drove evolution and innovation in film and music towards more spectacular entertainment, 3D, iMAX, 4D, live performance, stand-up shows, HD tv screens, VR goggles, 5.1 stereo, group gaming, motion sensors etc. etc., because watching flat, low res. series or films is not considered a proper fun anymore (even The X-files seems boring today, not engaging enough, from a different epoch, like ballet).

sireat 17 hours ago 0 replies      
There is not much ebook piracy within Kindle ecosystem similarly as there is not much app piracy within iPhone ecosystem.

The piracy exists on both and is trivial for most readers of HN to perform, but for casual users of Kindle and iPhone it is a bit of pain.

Bezo is giving a particular viewpoint looking at the issue from Amazon Kindle window. That is, if you are a regular user of Amazon Kindle it will be very convenient for you to buy a licence to use e-books within Amazon ecosystem and relatively painful to pirate books.

If you are just a tiny bit technical you can easily strip Amazon DRM (used to be a simple Python script) for backup, in case Amazon decides to recall a particular book.

You can also pirate books on Kindle, but you will most likely need to convert books to Kindle format .mobi using Calibre unless you like reading misformatted pdfs. Again simple but for someone who is not actively searching and is happy paying Amazon, not something they would do.

On the other hand if you are using a competitor's device, it is relatively easy to find books to pirate in .epub format but the market share is much too small to matter.

I do not go out looking aggressively for pirate sites, but there are a few Russian based places(hint: library of biblical creation) where you can find pretty much any book released in the past 10 years, most books released in the past 10-20 years and some books released earlier. If you can't find it on that Russian site you can find it in Indian or Chinese forums. I am sure there is American ebook pirate scene too but I did not pursue the matter.

So it is a combination of factors: Amazon being the market leader with its closed eco-system and ease of purchasing, the lack of clear poster child for e-book piracy since the demise of library.nu 2 years ago, the fragmentation of ebook pirate market.

Disclaimer: I own multiple e-readers including a Amazon Kindle DX demo model that I reflashed into a regular one.

pedalpete 21 hours ago 0 replies      
I think it's a combination of availability and experience, and motive. Let's take each in turn.

It seems (I've never done it) that it's fairly easy to copy music or movies into mp4 or mp3 format and strip the DRM. How would you do that with an e-book? What format would it be coming from? What would you copy it to? Is kindle the standard?

The lack of availability, means that you're more likely to find the book you want in the digital book store, and not have to hunt around for it on a torrent site or something. You also don't have to worry about the format of the book working well with the format of your device. Though this may have been an issue for music and movies at one time, I don't think it is anymore.

Lastly, what is the motive of a person who is going to copy or steal a book. First off, I've got friends in digital publishing at a major publishing house, and I've never heard of a time they are not concerned about keeping their jobs. They get paid nothing, and the idea that 'Publishers are having unparalleled profitablilty' is questionable. They have lower revenues per book, and lower costs per sale, but overall, they haven't been able to cut the overhead of editors, marketing, etc. to make the businesses more profitable. I don't think we look at stealing a book and think "the publisher and the author are making squilions of dollars, what's the difference if I get a free copy". It also appears that book publishers don't play the games that other media publishers play with respect to having the correct viewer rights in this region, delayed release dates, etc. etc.

We also spend much more time with a book than a movie, and though music may stick with us for a longer period of time, we are probably less inclined to consider an 'amortization' of the number of times a song is played version the amount of time we spend with a book.

If I'm going to dedicate time over the next 3 weeks to reading a book, I'm more willing to pay $10 for it, and I can always go back to it, vs paying $7 to rent a movie which is only available to me for the next few hours.

informatimago 23 hours ago 1 reply      
because reading a book takes much more time than listening to a song or watching a movie.
Ask HN: Is there an audit tool to check for Copyrighted images on my sites?
4 points by Killah911  23 hours ago   3 comments top 2
ggchappell 22 hours ago 1 reply      
A clarification: all the images on your sites are copyrighted, with the exceptions -- in the U.S. -- of images created by the U.S. federal government, and digitizations of very old images -- e.g., a photograph of the Mona Lisa.

Your problem does not stem from the fact that images are covered by copyright, but from violations of license terms.

(A bit nitpicky, perhaps, but I figure if we're going to solve a problem, then we first ought to know what the problem is.)

MichaelCrawford 22 hours ago 0 replies      
I don't know of an existing tool, but I have lots of experience with 2-D image processing. I have some ideas as to how it could be done somewhat more efficiently than brute-force.

If you're really freaking, perhaps I could flog my consulting service, and write the program for you under contract?

Dev Jobs in Germany
3 points by hytch  11 hours ago   2 comments top 2
czbond 11 hours ago 0 replies      
Do you do international transfers? I'm in the US - and could be persuaded to sign up as a VP Engneering / CTO role.
NonEUCitizen 8 hours ago 0 replies      
How do the salaries compare to Silicon Valley?
       cached 18 December 2014 05:05:01 GMT