hacker news with inline top comments    .. more ..    30 Dec 2014 Ask
home   ask   best   4 years ago   
Ask HN: Server Monitor for LEMP Stack
2 points by Prefinem  33 minutes ago   2 comments top
ramtatatam 29 minutes ago 1 reply      
Hi, what is the platform you are running your stack on? I'm running mine on Linux Arch and most of the stuff you mention is being monitored by my VPS provider.
If you're using YYYY in your JVM service or %G in anything, fix it now
217 points by pinaceae  1 day ago   72 comments top 18
reverend_gonzo 1 day ago 3 replies      
Here's some more information:

The year number of the ISO week very often differs from the Gregorian year number for dates close to 1 January. For example, 29 December 2014 is ISO 2015-W1-1, i.e., it is in year 2015 instead of 2014.


Specifically, you should be using +%Y instead of +%G when passed into date, and 'yyyy' instead of 'YYYY' when used in Java.

claar 1 day ago 2 replies      

  Unix date command: Use +%Y instead of +%G  Java: Use yyyy instead of YYYY  Python: Use %Y (ISO-8601 year number is not available)  PHP: Use Y instead of o
Please contribute other languages in replies and I will add them.

(edit: This post had originally suggested the post's title be changed to mention Java, thus vitno's reply below)

ddlatham 1 day ago 1 reply      
Unless you're using Joda Time, where YYYY means "year of era" and will be the same as yyyy for years since 1 CE.



protomyth 1 day ago 1 reply      
Unless of course you read the docs and are using YYYY or %G for a proper use. Gave me a bit of a scare with that headline given one of our scripts uses %G for reporting purposes. I thought there was an error in %G for this year.
jontas 1 day ago 1 reply      
This also seems to affect PHP when using the formatting character 'o', which is PHP's version of the ISO-8601 year number. Using 'Y' instead is returning 2014.

    php > echo date('Y');    2014    php > echo date('o');    2015

K0nserv 1 day ago 0 replies      
This affects Objective-C too as we discovered when a test "randomly" started failing today. Luckily I procrastinated some on HN and found this post.


pyre 1 day ago 1 reply      
From strftime(3):

       %G is replaced by a year as a decimal number          with century. This year is the one that          contains the greater part of the week (          Monday as the first day of the week).

NelsonMinar 1 day ago 0 replies      
This same bug is probably what broke iPhones coming out of Do Not Disturb mode in January 2013. http://arstechnica.com/apple/2013/01/ask-ars-why-will-apples...
valevk 1 day ago 1 reply      
So, how do I fix it?
gred 1 day ago 0 replies      
We ran into this bug in production today (I don't work at Twitter).
fdsfsdaffdsa 1 day ago 3 replies      
yoda time seems not to be affected:

  * Y       year of era (>=0)            year          1996  * x       weekyear                     year          1996  * y       year                         year          1996

warrenm 1 day ago 1 reply      
source for this statement?
Tharkun 11 hours ago 0 replies      
Thank you, kind stranger, you just saved my job.
quicksilver03 1 day ago 0 replies      
Just to reformat your commands:

    date    Mon Dec 29 00:44:45 EST 2014    date -u "+%G"    2015

artenix 18 hours ago 0 replies      
Any confirmation if that was the error which took Twitter down yesterday?
fredgrott 23 hours ago 0 replies      
interesting little bug...data formats are always fun for interesting bugs like this
sirwolfgang 1 day ago 0 replies      
starwarsrebles 23 hours ago 1 reply      
umm that is weird all I did was put in g for googleand it brought up this website saying that there was hacking going on I did not want all of this
GitHub, Pastebin, Imgur blocked in India
3 points by athyuttamre  1 hour ago   discuss
Ask HN: Advice for 14yo who wants to learn to code
4 points by robdoherty2  4 hours ago   8 comments top 7
saluki 20 minutes ago 0 replies      
I would introduce him to coding by starting with the basics of HTML and progress through the following:

(install MAMP or WAMP for him to get him started, then get him a domain name and hosting for his own simple website)


I recommend Head First HTML and CSS to get started. The other books in the series are good as well all the way up to Head First PHP and MySQL.

TeamTreehouse.com is a good place to start as well or pick up with once you make it through a few of these books.

Once he gets through those I would point him to learning Rails and/or Laravel frameworks creating a few web applications.

Apps are fun too if he has an iPad and/or iPhone go through the iOS App tutorials on TeamTreehouse.

Good luck in 2015.

trcollinson 1 hour ago 0 replies      
My son, who is a little younger than your brother, wanted to learn to code and I tried a number of things but they didn't really stick. He kept "wanting to" but never really learned past regurgitating the tutorial. Finally, he picked up my TI NSpire CX CAS and started playing with it. For us really old guys it's like the next, next, next gem TI 82 graphing calculator.

The TI has always included a programming language and interpreter in their calculators. It used to be "TI Basic" but now it is full Lua. They have hundreds of example programs to look and and learn from and tutorials galore.

The thing that finally made it click for him was, he could take this little handheld machine anywhere and whenever a programming thought struck him he could try it. Soon he was building reusable functions and libraries of reusable functions and everything clicked.

Now he's transferring a lot of that knowledge to other languages, most recently Python, without any trouble at all. I would recommend it to anyone with a kid who is interested in learning.

zachlatta 56 minutes ago 0 replies      
If he's interested in games, buy him a book about game programming in a language that you know and would recommend for beginners. I got started programming because I wanted to build games and made the mistake of starting with web development.

Chances are that moment he makes a shape move on his computer, he'll be hooked. At least that's what happened to me.

If there's a CodeDay (https://codeday.org/) near you, bring him to it. It's a nonprofit 24 hour hackathon for high schoolers. He'll meet a bunch of other people his age who are also into programming and will build and present a project by the end of the weekend. In the past we've had participants build everything from a breakout clone to a bootable OS in pure x86 assembly, so there'll be a wide range of skill levels and he'll see his peers building incredible things. Disclaimer: I'm one of the organizers of CodeDay LA.

There's also a Facebook group filled with other high schoolers who are into programming (https://www.facebook.com/groups/PennAppsHS/). If he has a Facebook, send me a link to his profile to my email (in my profile), and I'll add him to the group.

I'm also high school-aged and, if appropriate, would be more than happy to talk with him. Feel free to reach out to me through my email (again, in my profile).

Also see http://www.paulgraham.com/pfaq.html.

johnfc2014 3 hours ago 1 reply      
I would say something like Swift, which would empower him to make apps that could make money too.


Also a Virtual Machine, such as VirtualBox would help him learn how other operating systems work without breaking his own computer.

Jeremy1026 3 hours ago 0 replies      
I like Codecademy[1]. They have courses in a few different languages ranging from HTML to Python. I went through the PHP course once to pass time and to evaluate their product as I had friends ask me a similar question. (I am very comfortable with PHP, which is why I choose that course.)


_RPM 54 minutes ago 0 replies      
Give him a browser, and teach him to manipulate the DOM using JavaScript. It is very rewarding when just starting.
mtmail 3 hours ago 0 replies      
I did http://tryruby.org/ with a friend. She understands better now what I do and what I mean by 'variables' but never touched code again.
Ask HN: How to find out who your customers are as a consultant?
4 points by dublinclontarf  6 hours ago   8 comments top 4
taprun 2 hours ago 0 replies      
The defining characteristics of your ideal customers doesn't have to include size. Think about an expert in embedded programming. A big company like Intel could use his skills, but so could a small electronics startup. Yet neither a big office supply store nor a tiny supermarket would be interested in his skills at all.

I'd suggest thinking about the types of problems that you can solve. The closer to profit streams the better. Is there a common thread that you like to address? The narrower your focus, the more you can charge and the easier it will be to figure out how to market yourself.

Maybe your tagline is "I rescue software development projects that are failing." Maybe you could be even more specific "I rescue software projects that involve financials and are failing due to uncertain requirements."

Focus on what pain you solve first, then look to see who has that pain.

gk1 5 hours ago 1 reply      
Dropping the "freelance" tag was a good decision.

Freelancer = I can be hired to do one of X, Y, or Z at a rate of $A per hour.

Consultant = I can be hired to solve business problems within areas of X, at a weekly or monthly rate that's based on the worth of solving that problem.

Dropping the "freelance" tag was a good decision.

Freelancer = I can be hired to do one of X, Y, or Z at a rate of $A per hour.

For finding out who are the clients, starting out with the industry you're familiar with is a good decision. If you "speak startup" and are familiar with the problems they have, then you're more likely to be able to be valuable to them.

But even within the startup ecosystem there are different types of clients. On one end there's the bootstrapped "company" that's not even a company yet and doesn't have a product, and on the other there's the startup with thousands of users and millions in funding. ... The value you can provide (and, by extension, the amount you can charge) is going to vary between the two.

rubiquity 5 hours ago 1 reply      
> "I've been CTO of two startups"

Congrats on being a developer!

Joking aside, I'm in a similar situation as you but my experiences have been much different. Here's what I've experienced:

I moved from California to Calgary, Canada in April of this year. In California I called myself a consultant and everything was cool. Moving to Calgary, where Oil and Gas dominates the marketplace and so do the scummy Entperise Consultants it seems the title of consultant rubbed people the wrong way, given I'm trying to do work in Ruby.

I recently went back from referring to myself as a Consultant to Freelancer in my conversations and I've had much better conversations with people. I also can speak more confidently in myself calling myself a freelancer. Consultant has always felt really cheesy and if I don't feel comfortable saying it, then I won't sell it very well.

Long story shory: Go with what you truly believe in and your ideal clients are receptive to. In my experience, small to medium sized clients are far more receptive to "Freelancer" than "Consultant." YMMV.

JSeymourATL 3 hours ago 1 reply      
I have no idea on who I should be targeting as my customers>

Typically, your customer would be a senior executive type, an individual who, you have the expertise to help. Given your start-up background, it could be a founder, managing partner, or investor. Ultimately, the economic buyer is someone able to pay your fee.

Recommend reading Alan Weiss on the subject > http://www.goodreads.com/book/show/142757.How_to_Acquire_Cli...

Ask HN: How to properly negotiate employee equity
9 points by KokoLoco  7 hours ago   6 comments top 6
dpeck 4 hours ago 0 replies      
I just did a lot of research into this sort of thing, and thats fairly in line with what you're going to see these days.

Being first engineer is going to pretty much sucks. You don't get founder equity, but you'll deal with most of the same problems. Getting market rate cushions that quite a bit though. In todays environment there is very little risk for a developer doing a startup, if it goes down in flames another job can be picked up the next day.

https://www.wealthfront.com/tools/startup-salary-equity-comp... is a nice visualization for funded tech startup equity percentage.

Realize that equity is very much a lottery ticket, and with 1% best case scenerio is that you end up making baseball player money for a couple of years when you look back at option value and have some nice incentives to stay on if acquired.

Things to ask for:

Stock grant, not options. Being first engineer this should be doable and not cost you much in the way of taxes since the company should have almost no value from the IRS point of view. On the chance that you get a good outcome you cut your tax liability roughly in half (US).

Single trigger vesting. Usually more for people who will be fired during a sale like marketing, but I see no reason for technical people not to request it. After a change of control you'll be fully vested and free to move on and do something else or free to stay on for proper incentives.

brudgers 5 hours ago 0 replies      
If the average company was a well funded biotech startup, then there would be some basis for "above/below" average. But it's a one-off both in terms of the company and your position and your other options.

Generally speaking, my opinion is that 1% equity is entirely worthless: not in the sense that to a first approximation all startup equity is worthless, but that it signals an unwillingness to share the value your employment adds to the company. A first employee, even a receptionist adds more than 2% to the value of the company, otherwise the person wouldn't be hired.

To me, 1% equity is a symptom of finite-pie thinking; a symptom of Owners who believe that employees are costing them money. Don't get me wrong, it's ok to work for someone who doesn't want to make you rich. Just be aware that they are actively going about not making you rich.

To put it another way, the difference between 1% and 7% is nickels not 100 dollar bills. If the company exits at $100 million or more the large shareholders get rich either way. But until the exit approaches $1 billion, 1% doesn't let you walk away with "Fuck You" money while 7% gets you close at the lower number.

Of course, 1% of $100 million is a nice payday. But 1% means that you don't really have a seat at the table, and deliberately so. You will always be the hired help and less equity means you are cheaper to replace and it is easier to reduce the value of your equity to zero if the company is successful.

Good luck.

rahimnathwani 6 hours ago 0 replies      
Where do you need help?

- Valuing stock options? (http://www.payne.org/index.php/Startup_Equity_For_Employees)

- Negotiating compensation? (http://www.amazon.com/Negotiating-Your-Salary-Make-Minute/dp...)

- Establishing a benchmark? (check AngelList)

What are the stock options worth? If you have not tried to value them, then that's step 1. If you haven't done any research into how to think about valuing stock options, that's step 0.

This vague question is asked every few months on HN. Search hn.algolia.com to see answers provided by others. A few of them are worth reading.

Mine aren't the best, but might be worth skimming:



chasb 6 hours ago 0 replies      
Fred Wilson's posts on this are still excellent, and relevant.[0] At Aptible (S14), we convert equity stakes and benefits to dollar values and offer a few different equity/salary options to each prospect.

One big question is what your expected role is going to be in the future. 1% is far too low for a VP- or C-level prospect with experience managing a team. If the company is already well-funded (i.e. somewhat de-risked), 1% may be appropriate for a line engineer.

[0] http://avc.com/2010/11/employee-equity-how-much/

gregonicus 6 hours ago 0 replies      
Here is a great overview of things to consider:http://searchquant.blogspot.com/2011/11/startup-equity-surve...
Jeremy1026 6 hours ago 0 replies      
Too many variables to give a good answer here.
Ask HN: What are good sources of information concerning new E.U tax laws?
4 points by ericthegoodking  6 hours ago   4 comments top 2
rachelandrew 57 minutes ago 0 replies      
I've been collecting resources over at http://rachelandrew.github.io/eu-vat/

If you have others please submit a pull request. I've been writing about the issue since October http://rachelandrew.co.uk/archives/tag/vat

Ask HN: What's the best way to spend 10k on a startup?
2 points by tristanisfeld  4 hours ago   2 comments top 2
penguinlinux 3 hours ago 0 replies      
Why do you need to spend it. Keep doing what you are doing. Be tight with that money and just keep working and being resourceful. Why do you feel a need to invest it?

ONLY use that money as the last resource.

adventured 1 hour ago 0 replies      
Spend as little of it as possible.

Continue building your product. Focus on sales. With sales you'll never need to touch that $10k. The $10k is end of the world money, for either yourself or your new business.

Do not create the sharespace office. At best it's a ridiculous distraction from focusing on your product. At worst it'll wipe you out.

Get yourself a phone.

Ask HN: How do you manage/organize information and knowledge in your life?
115 points by ay1n  2 days ago   82 comments top 42
thaumaturgy 2 days ago 6 replies      
1. Live simply. As I've gotten older I've found more and more value in not having too many things going on. Gradually I'm sleeping better, eating better, reducing stress, and getting more exercise, all of which is important for the next thing:

2. Memorize as much as I can. It's an exercise; I memorize phone numbers, schedules, people's names, trivia, all kinds of stuff. I've never found anything that matches the flexibility and utility of my own brain. I should use the best tool I have, and that's in my head. Technology is unreliable and constantly changing and difficult to organize and search. I've been practicing this for long enough that now I'm pretty good at it.

3. For everything else, I use a few simple systems: a few sheets of paper to the right side of my desk for scribbling and note-taking (meant to be discarded after a day or two), a pile of to-do to my left, a tab open in my text editor labeled "notepad" for longer-term stuff, and a well-organized directory of documents on my laptop with subfolders like "projects", "writing", "sysadmin", etc. -- I try to keep this directory as small as possible by dedicating time here and there to either finishing or pruning projects.

I disagree that keeping knowledge in your head isn't efficient. I think a lot of people just don't practice it enough. Smartphones and computers and everything else make it really easy to not bother. But, my brain is always with me, doesn't require batteries (well...), can store any type of information I want, and can instantly recall it without having to craft some kind of search query or organize the information in a rigorous way. It is exactly the kind of database storage we all wish we had. It never changes data formats, it never tries to get acquired by a bigger company and then shut down, and it gets reception everywhere I go. If my brain were an electronic tool, I would want to use it all the time. And, the more I use it, the better it works.

(edit: oh yeah, and pinboard. Looove pinboard.)

ay1n 2 days ago 1 reply      
There is a 2000 character limit in the question box, so here is what I'm using now:

- pinboard for managing bookmarks (database of things that may be useful sometime; probably never) & reading list for articles

- I'm testing tagspaces (http://www.tagspaces.org/) for local files organization (mostly tagging research papers and books; didn't like Mendeley)

- cardav & caldav from owncloud for contacts and events

- anki as a memorization tool (spaced repetition) - from languages to my own mistakes (i.e. "lessons learned", so I won't repeat them)

- for insights, notes, ideas, things I've learned & everything else I use personal wiki (media wiki) on localhost. This is the biggest part of my "system", I have there entries like things to buy someday, current project's notes/resources, useful scripts, configuration snippets, notes from books, journeys, analysis of my own behaviour, personal journal, ideas for startups etc. But it's hard to organize, it becomes a mess very easly after some time. Also, I can't use it on mobile (I don't want to put all this on the web, there is a lot of personal info), it takes time to add new thing/entry (I need to think to which page new piece of information belongs etc.).

- simplified version of gtd as a meta-system managing this system and for projects/things to do

ivan_ah 2 days ago 1 reply      
I have totally given up hope on classifying all the interesting things I find on the web each day, so I use an uncategorized save all strategy. I save all opened and downloaded files (mostly PDFs) to ~/Desktop/ and I also bookmark things there (by dragging the URL icon onto the desktop). After a few weeks the desktop becomes a complete mess, so I use a script[1] that puts files into subfolders (by extension), and then I put away this "complete week of research" archive and start from a clean slate (except for one or two active projects dirs).

It's a bit time-intensive to find things, but it's not impossible: let's just say the system is optimized for write efficiency and not read efficiency ;)

[1] https://gist.github.com/ivanistheone/9daa23ae2a7abb472cb2

markbao 2 days ago 3 replies      
I mostly use Simplenote for ideas and loose notes, and Quip/Evernote for more structured notes. All three sync to all my devices, and while neither are perfect for my needs, they are OK.

The problem comes from keeping everything organized (impossible with Evernote and Simplenote with their lack of structure, impossible with Quip since it's docs/spreadsheets-only) and in a way that works with my mind and workflow.

I'm working on sketching out what a unified personal knowledge management product might look like, which combines a kind of "inbox" of sorts of resources and notes coming in, and also a "personal wiki" with structured docs, and a number of people I know are also thinking about what a 'perfect' knowledge management system would look like. Let me know if you want to bounce around some ideas around.

MichaelGG 2 days ago 0 replies      
1. A paper notebook. I don't often actually refer back to it, but just the process of sketching things out seems to make them stick. More importantly, once written down, my subconscious starts working on another idea.

2. Poor solution, but I email myself notes a lot. Usually from my phone, then I drop them into a folder in Outlook when I get back to my desk.

3. OneNote, for more long term collections. Microsoft did an amazing job with this product.

alanclimer 1 day ago 0 replies      
I use TextWrangler and several text files along with Chrome bookmarks.I'm minimalist and run a very simple operation so this may not be appropriate for many.

To organize the text files; over time I build an index of categories at the top in CAPS, and each category heading below is also in CAPS. Then when I save / retrieve / cull information I search the category "Case sensitive" to locate it quickly. Once major groupings can be identified and corralled, I separate those into independent text files. It's work.

For Chrome bookmarks I build similar categories but this can get unwieldy if not maintained and subdivided on the regular.

If it matters; all my local files reside in one of two folders (or downstream of them). One is for current "in flux" files & the rest goes in the other "archive" folder. I do encrypted backups on the "in flux" often and the "archive" far less often to external drive(s) & the cloud/online. I have a third "clients" folder but all the files there are temp and go back to their respective servers and I don't backup any of it.

I concur with sp3n concerning over-collecting, often I get back to something and it's already obsolete or maybe not at all.As a result I end up in a data cull session from time to time.

Don't like paper and would love to migrate all to 100 percent online one day.

aikah 2 days ago 2 replies      
By the way,is there a solution for windows or linux that would take SQL like queries and allows one to search among files in a computer. Something like :

    SELECT All *.jpg as image FROM /myfolder/** where image.creationDate > yesterday and image.size < 100 and image.filename LIKE TRIP% ;
Then either display the result in a window or as text.

Something that would combine find,grep+pipes into something more "userfriendly".

mozillas 1 day ago 0 replies      
I use Evernote. Because it can handle multiple types of content. The most useful information I keep in there are tutorials. Mostly written by me. How to do things that I only have to do a few times a year. Basically recipes for anything, not just food. The stuff I do repeatedly I just remember or automate.

Passwords are a good example of this. I can deduce them(based on a formula), but I don't want to do that every day, so I use 1Password.

But it's not bad to just forget. There are quotes, links, funny pics in my Evernote that I've never used. So I'm now much more selective in my note taking. It's less stressful.

bsilvereagle 2 days ago 1 reply      
I used to use OneNote pretty extensively for nearly everything. Recipes, course notes, thoughts while working on projects, lists of reminders, etc. The main problem with it was that if I wanted to search on something, I'd have to search X number of OneNote notebooks.

I've recently started to use fedwiki instead of OneNote, and things are alrightish. Fedwiki has lots of room for improvement as a wiki, and then as a knowledge store.

I think the ideal personal information/knowledge store would incorporate a tagging filesystem combined with something like OneNote/fedwiki. The tagging filesystem would allow PDFs, movies, etc to show up in searches with fedwiki/OneNote handling the plain text & images. Ideally the client that the user uses is something like fedwiki, where you can have multiple different pages open at once, but also allow you to pull in the PDF/video resources.

analog31 2 days ago 0 replies      
Three things that have helped me.

1. A little bound paper notebook such as a Moleskine.

2. A mind mapping program -- I use FreePlane -- to store links, including links to files on my hard disk. An advantage is that I don't have to get the organization right on the first, second, or even third try.

3. A lot of the information in my life is not digitized, such as most of the sheet music in the world. So I now rely on my cell phone camera to record a lot of that stuff.

Amusingly, when I was in grad school, it was still considered to be an open question whether a person should get their own computer. The university computer store had a little guide, and the most memorable advice -- which certainly rings true in my life -- was: "Don't expect a computer to make you organized. If you have a messy desk, you will have a messy computer."

andrey-p 2 days ago 2 replies      
What I do is:

- For meetings, events, social obligations, I carry a small paper-based diary.

- For ideas and thoughts, I write them down. The idea is that the act of writing something down aids recall. For example, story and blog ideas go in a A5 notebook that I carry around with me, and I commit them to a digitally backed up document as soon as possible. Note-to-self lifestyle advice goes in my bedside drawer, to check on if I ever feel like I've forgotten anything.

- For things to learn and interesting articles, I don't do anything and keep my fingers crossed that the salient bits will have rubbed off on me, lurking in my subconscious and subtly improving my life forever after.

I'm not 100% sure that last one works quite that well.

hammerandtongs 2 days ago 0 replies      
org-mode in emacs

Simple text file that's actually more functional then almost any other solution, designed around allowing you to create and adapt new workflows and WILL be available and useful to you for decades.


bonobo3000 1 day ago 0 replies      
I've been using Kifi[0]. It lets you collect any webpage thats interesting, tag it with multiple tags, and search your whole collection based on tags/content of the page. I highly recommend it.

For example, I want to learn more and more about distributed systems, so when I see an interesting article, i tag it. When i have some time, i go through the relevant tags.

[0] https://www.kifi.com/

jamesisaac 2 days ago 0 replies      
I approached this problem and decided to try and solve it for myself just over a year ago. Firstly, I decided that instead of knowledge being segregated by medium (notes -> evernote, bookmarks -> Chrome, etc), it should be organised by purpose.

The most important purpose, I decided, was personal goals. Knowledge/information which is relevant to helping me achieve my own goals is the most important thing I should be focusing on, and should be extremely well organised and easily accessible. Any other interesting info that falls outside that is a bit of a shame to lose, but ultimately just a distraction and clutter. For this purpose, I developed this tool: https://nachapp.com

I believe the next level of information down would be general learning/knowledge. Stuff that doesn't fall under any specific goals, but is still useful information to know and understand (and may in disparate ways tie into core goals). For this, I'm currently using https://pinboard.in, although it's not ideal as it's again limited to a single medium. I have a solution in mind, but haven't started developing yet. If you're interested, feel free to get in touch and I can keep you updated (contact info in profile).

meesterdude 2 days ago 0 replies      
I've come to find that everyone has a different solution, and lots of people have different priorities. A client of mine keeps everything in text files. I know another that does everything in excel. Others use some combination of apps and services (dropbox for files, omnifocus for todos, evernote for notes and articles) and that works ok for them too.

After trying several solutions, I ended up building a SaaS to manage everything. I found most things out there are fairly boring, and are not at all as powerful as what I wanted. It's basically a brain for my brain; so i can remain a scatterbrain and it can tell me when its time to water the plants, or if food in my fridge is about to expire. But it also handles all my notes, important files, time-series data, and historic dates.

But really, you have to figure out whats important to you and what system best aligns with that; and in the end you'll likely need to make a few tradeoffs to get something working.

But I think there are definitely some principles you can apply to any system you use; I can't recommend Getting Things Done by David Allen enough. His methodology is great, but even if you don't like it or can't use it for whatever reason, there are oodles of great tips; and it'll make you into a natural project manager / information guru.

galfarragem 1 day ago 0 replies      
To organize myself I use Secretweapon [1] (GTD for evernote) and Folder-System [2] (an hierarchical folder system to organise personal documents based on GTD, making it easy to predict where something is stored). The initial investment (file renaming) pays off very fast.

[1] http://www.thesecretweapon.org/media/Manifesto/The-Secret-We...

[2] https://github.com/we-build-dreams/folder-system

smarks159 2 days ago 0 replies      
I write a lot and have a lot of text files scattered all over my desktop with ideas, plans and notes. Everytime I start a programming project I also end up with a lot of text files with requirements, design decisions and implementation details. I kept all these ideas in plain text files because, none of the existing tools really fit what I wanted. I ended up creating a program to help with this based on the ideas of Doug Engelbart.[1] The program is still experimental and just deals with text at the moment but I still find it useful.

In terms of research papers, you may want to look at the ideas of Doug Engelbart. The process which you speak of, of collecting information and learning from it, Engelbart termed the CODIAK process. There is a section describing what CODIAK is in this paper[2]. (click on the CODIAK Process link in the table of contents). Engelbart speaks of this process in terms of groups and organizations, but the ideas apply to individuals as well. Engelbart's goal was to create an integrated "knowledge workshop", where all the different programs for organization everything would be integrated together and act as an extension of the human mind to augment people's abilities to collect and digest an ever increasing amount of information and knowledge. There is a lot of work left to be done in this area, but it is an important problem to solve.

[1] https://github.com/smarks159/hyperdocument-system-wiki

[2] http://www.dougengelbart.org/pubs/augment-132811.html#6

therealmarv 2 days ago 0 replies      
After trying a lot of software I returned at the end always to Evernote. I always missed good rich text and image support and easy web page saving in all other products. Evernote has a great web clipper (also works for Android with Everclip) which saves sooo much time and great IFTTT integration for interaction with other services. Especially having everything synced and editable on your phone is something the other solutions are missing.
pwelch 2 days ago 0 replies      
This is something I am constantly trying to get better at.

I have recently started using jrnl: http://jrnl.sh

I really like it because you can export it any many formats which I think would come in handy later to import the data, say a database. I always like the idea of a flat file for right now so you can ack/grep on the command line.

The cons are not great for assets such as images.

Looking forward to reading some other solutions.

humpt 22 hours ago 0 replies      
I use google docs. I have a bunch of google documents i regularly use for work

- one where I keep track of my work: it's half a todo list with bullet points, half notes about my progress for meetings- one where i write ideas, things I want to dig into later

I write in them from bottom to top (so that my last entry is always on top).I basically use them as paper notebooks.

Actually if it wasn't for URL copy pasting, I think i'd use paper and pen.

laxatives 1 day ago 0 replies      
Depends on the level of activity/energy required:

Things with well defined start/end dates or with very high priority/high cost of missing (ie flights, parties, reservations, deadlines): calendar (I use my iphone calendar with alarms if necessary)

Things with less well defined start/end dates: starred emails/browser bookmarks toolbar

Menial things that need to be in the near future (ie groceries, laundry, shopping): Leave something out of place as a reminder, or put in calendar with alarm if urgent

Things with low priority/low cost (ie things to read/learn/listen/watch, fitness goals/accomplishments, future trip plans, long term plans, misc notes): iphone notes

Also keep a notepad at everywhere I work regularly (home desk/office desk) and in my backpack with notes

I also feel its very important to maintain 0 unread emails in all of my inboxes. Makes it much more feasible to stay up to date on everything and avoid missing anything important. 90% of the time I'm awake, I will read any incoming mail within 15 minutes and respond immediately if necessary.

Ixiaus 2 days ago 0 replies      
Org-mode with mobile app, and a grimoire file. It holds all snippets, captured thoughts, bookmarks, to-read, etc...

It's also responsible for my spaced repetition system, my work agenda, my personal agenda, blog post ideas, project ideas, grocery lists, todo lists, etc...

It's extremely powerful and my life is forever changed because of that software.

nickthemagicman 1 day ago 0 replies      
I have a bunch of text files in folders on google drive. The cool thing about google drive is you can sync it and it propogates to any web enable device.

Keep your life to three to five major things and this works really well.

Also, Don't go more than two or three folders deep. If you do you're organizing wrong.

I also scan or photo all of the paperwork I get throughout life put it in Google drive and throw the original away.

Also, you can put all your photos up on google drive. (Just not very private photos..)

Note: security/privacy concerns if you do this with personal stuff like medical or financial docs.

There's ways to encrypt it all on google drive just don't really have enough important info there to care.

rakoo 1 day ago 0 replies      
I don't have a lot of information that I need to handle, but I use zim (http://zim-wiki.org/) as a desktop wiki. It's working well for my little needs.

There is also camlistore (http://camlistore.org/) which is trying to be the recpipient for every content one wishes to store: images, music, PDF files, bookmarks, RSS feed items, ... It's working well in the "aggregating" phase, but still a little bit lacking in the "organizing" phase (which may very well be the work of third-party application). For the moment content is accessible through a simple search engine though.

dpweb 2 days ago 0 replies      
All appontments meetings personal and work - in a single Outlook calendar.All work related notes in a single OneNote workbook (text searchable)All code files/projects - on Onedrive in cloned repos from Github, so I can include them locally and commit to GitHub as needed.Lastpass for passwords and credit card info.

One unique thing I started doing, I use this program called ClipX which lets you have a popup of your recent clipboard entries. Its will let you save to a text file. So, everything I clip, code snips, passwords, etc.. goes into a single text file - so I can just Ctrl-C something and forget about it. Six months later I just do a text search in this file. Its gets big (10MB or so) and I back that file up and start with a new file every year.

tunesmith 2 days ago 1 reply      
Still figuring this out - I have DevonThink to collect/catalog but I find that I don't often get in there to search, so that information basically rots. Same with my web bookmarks, many are several years old. As time goes on I find that information is basically useless unless I either internalize or act on it. So I tend to use information to adjust either my anki decks or my goal maps, and then I try to deliberately not save the rest... although that is still difficult since some of it is still just so tempting to flag by saying "gosh I will really want to refer this later after I do x, y, and z"...
bunsen_honeydew 1 day ago 0 replies      
Thanks for sharing. There are a lot of cool ideas here. I've had the most sucess with a custom notebook approach using QR codes to stitch together analog and digital information:


krapp 2 days ago 0 replies      
Ironically, one of my unfinished personal projects is a project manager, so I can organize myself better, but I find just pasting random stuff into a notepad++ tab does the job most of the time. I also have a ton of browser bookmarks organized by nothing in particular (most of my logins actually say "Login") and a lot of random stuff in my downloads folder, repos I found interesting, pdfs, etc.

So I guess my answer is "poorly," but somehow it seems to work.

gravedave 2 days ago 0 replies      
I just dump it somewhere (OneTab extension for web pages, random folders for stuff, note-taking for anything else).

Most of it I'll never need again (and probably look online for it first anyway, if ever), so it's really just to satisfy a compulsive need to have the impression I'm not "losing" anything. Rarely did I ever dearly miss anyhing on accidental deletion of my "stores".

motyar 1 day ago 0 replies      
Not an expert but here is what I do:

1. Dropbox for all the read-only ( Images, PDFs, Books, important papers).

2. I use IFTTT to autobackup a specific folder (very imp one) from Dropbox to Box.

3. Something I need to edit, like spreadship or docs. GoogleDrive works very well.

4. I keep most important files on atleast two services.

5. IFTTT works great to collect data automaticaly.

Edit: Goodlooking line breaks inserted.

gexla 2 days ago 1 reply      
Here is one idea.


The take-away there is index cards. I like the idea of information being broken down small enough to fit on an index card. Reading a book, it could be one point, one quote or something of similar size.

b6 2 days ago 1 reply      
I recently started keeping track of a lot of stuff in Tiddlywiki (in server mode). I keep a browser tab open to localhost:8080.
walkingolof 2 days ago 0 replies      
Nothing beat a filesystem to organize stuff, it also happen to be great way to find stuff fast..

- Folders like \doc \tutorial \ideas \recipics - Store everything in .txt and .odt- Replicate to favorit cloud storage

- For comunication: Fastmail, Skype

- Contacts & calender: Fastmail

- Keep a diary in a mail folder, I send myself a mail every now and then with a subject to an alias, that gets sorted into a "diary" folder

ismiseted 2 days ago 0 replies      
I use vimwiki to collect, store and organise snippets links and references, then sync it to all my machines with unison. Helps if you're a vim user!


TimJRobinson 2 days ago 0 replies      
For thoughts and ideas I use Evernote and it works very well. Have over 3000 notes now and it's fun looking back on thoughts, feelings and challenges I had years ago and how they've changed and evolved since then.
alx 2 days ago 0 replies      
Previous discussion : "Designing a Personal Knowledgebase" - https://news.ycombinator.com/item?id=8270759
chubot 2 days ago 2 replies      
I wrote in this thread about using a Wiki I wrote: https://news.ycombinator.com/item?id=8753599
lllllll 2 days ago 0 replies      
A combination of ( sorted from more to less relevance):



StackOverflow's favourites



Delicious ( I hardly check it)

xj9 2 days ago 1 reply      
I have a notebook (moleskine atm, but I've used a lot of other brands/kinds) for sketching out and expressing ideas/insights and I use Evernote for long-term storage, project management, and to store reference material. I also use Safari's reading list to hold on to things I want to read, but don't know if I want to save permanently.

Edit: I seriously keep everything in Evernote, whats up with the down votes?

siavosh 1 day ago 0 replies      
Some self promotion, I'm tackling this problem with my side project: www.faqt.co
sp3n 2 days ago 1 reply      
badly, i have hundreds of bookmarks, articles, documents that i haven't looked at since adding them - not quite sure what i'm waiting for but i spend a lot more time collecting them then actually reading them
Chevalier 1 day ago 1 reply      
Trello - ESSENTIAL kanban system for project management and daily organization. I'm an absolute fanatic for Trello.

OneNote - The greatest program ever made. OneNote isn't useful for short-term to-dos, but I couldn't live without its organization of my long-term work.

Pocket - I never have time to read articles, and they're unpleasant to read on a squat laptop screen in any case. Pocket lets me read them on my tablet, in the subway, with gorgeous formatting.

Google Calendar - The whole Google ecosystem is ridiculously useful for organization, including auto-additions to your calendar from Gmail and Google Now's intelligent suggestions.

Gmail - Particularly the five-tab filtering. Holy shit. I had no idea how disorganized my inbox was before I could filter away the dreck.

Google Keep - It's been displaced somewhat by Trello (in terms of grocery lists, etc.) but it's still great for medium-length notes that you'd like to read on the subway or something. I store a huge amount of poetry in mine.

Google+ - The BEST place for photos. I don't understand the fashionable hatred. G+ is by far the best photo backup/organizer/enhancer/sharer I've ever seen, and the G+ social network is WAY better than Facebook's clunky organization. I'm amazed that Facebook is so bad with photos... isn't that pretty essential for social networks? G+ is just too good to be ignored forever.

GDrive - Corollary to G+. Putting photos on GDrive automatically uploads them to G+, which again is just excellent. Google DEFINITELY needs to upgrade their 1TB limit to "unlimited," though... and offer auto-deduplication for identical photos for the billions of us with redundant photo hoards. Right now, GDrive prices are the highest on the market for limited storage and no extra features like deduplication or auto-organization. I still pay for GDrive just for G+ photo features, but Dropbox offers equal/better functionality and OneDrive offers much better value.

Kindle - You never realize what a burden paper books are until you have an alternative. Ebooks are incredible.

Calibre - Especially if you have a ton of academic papers or studies to pore through, organizing them in Calibre makes life infinitely simpler.

Spotify - Outsourcing my music collection to streaming services is GREAT. I'm now trying out Google Music, which lets me upload 20,000 MP3s to supplement the holes in Google's collection. (Perfect for unpublished songs and so on.)

Steam - The original Spotify for video games. All the same benefits, plus amazing sale prices that have forced me to buy way too large a collection.

edX - Coursera and Udacity also, but any of these are gold mines for organizing self-paced education.

Pidgin - Still the best instant messenger, though the shift toward closed networks is making it harder to use. That Google still allows Pidgin to access Hangouts via (limited) XMPP has kept me faithful. I don't understand why anyone would use something like WhatsApp and its crappy clients.

- - - - -

If anyone from Google is reading this, particularly from the Tasks team... just buy Trello already. GTasks is woefully inadequate, particularly when compared against Trello's unbelievably powerful kanban organization.

Also, I'm a little disturbed by how heavily I depend on Google. I don't see any viable competitors, though -- Outlook lacks Gmail's tabs and themes, OneDrive lacks GDrive's functionality, Facebook lacks G+'s insane photo features, WhatsApp lacks open APIs. I hope Microsoft steps up soon, because I don't see any other real competitors against Google dominance of web services.

Ask HN: How to get started with open source contributions?
2 points by abdelhadikhiati  8 hours ago   1 comment top
fundamental 4 hours ago 0 replies      
To answer the title question, it might be best to look for smaller projects in a language that you're very familiar with with issues marked specifically for external individuals to complete.Smaller scope issues should be easier and they would give you some more experience in reading code which would appear to be the issue at hand.

For the larger codebases, generally you would want to get a vague idea of the architecture and then blind yourself to most of the complexity.Let's say that you wanted to work on a network based data serialization library and the issue marked out as 'contributor friendly' was adding unsigned integer support building off existing signed integer support.For that target, there's a large portion of the code that you shouldn't need to understand too deeply and there's a section that is going to be relevant to making the modification.Try to find the code that is relevant and trace the execution just by reading the code.

As long as you limit the scope of your work and the codebase is somewhat compartmentalized, you can shrink the time it takes to go through large projects by a fairly large amount.

No-bullshit email system
2 points by Ideka  7 hours ago   3 comments top
anton_gogolev 7 hours ago 1 reply      
Gmail Plus Addressing[0] is very similar to what you're suggesting.

[0]: http://webapps.stackexchange.com/a/2594

What Programming Language should i use for my Health Startup
3 points by udswagz  11 hours ago   10 comments top 8
rahimnathwani 6 hours ago 0 replies      
Is the API the most important part of your MVP? Why not just focus on the parts of your product which are most risky (probably the front-end, user-facing part?)?

You could use something like Firebase for your API if your needs are not too complex, and then re-visit the back-end architecture decision once you've somewhat validated your MVP. https://www.firebase.com/docs/web/libraries/angular/quicksta...

hkarthik 5 hours ago 1 reply      
Python /w Flask is probably the best technical fit.

PHP would make sense only if you have someone on your team that is already quite familiar with it and knows a number of PHP developers that you can hire to build out a team later on.

But Python developers with web development experience can be harder to find, depending on where you are geographically located. PHP web developers are everywhere, but the quality of talent varies greatly.

posnet 10 hours ago 0 replies      
The startup I currently work for uses Python/Django + angular quite sucessfully, though if you want realtimy functionality I would look at something like NodeJS (with express or sails) as they have more convinient web socket support.
anton_gogolev 10 hours ago 1 reply      
This will come off as arrogance, but I don't feel like you have any kind of technical experience. "Looking cool" has nothing to do with the OS, programming language or technology stack you're using.

Now, to answer your question: pick whatever you're most comfortable with. Software startups fail not because they are built with PHP instead of NodeJS, but for entirely other reasons.

weddpros 10 hours ago 0 replies      
I'd choose node.js for the API. Using the same language on both the server and client can be a big plus. It makes context switching much easier for devs...

Then choose between Javascript, Coffeescript or Typescript.

gnarbarian 10 hours ago 0 replies      
Python. Use whichever version has the best library support for what you plan on interfacing.
saluki 10 hours ago 0 replies      
Go with the Laravel framework (PHP).

Just curious, are you planning on using TrueVault?

Good luck in 2015.

kao98 11 hours ago 0 replies      
IMHO both Python and PHP could do the job well.Let the developer use their favorite language as they will work more efficiently with it.
Ask HN: Junior Android Developer jobs?
6 points by bohnej  13 hours ago   1 comment top
rahimnathwani 6 hours ago 0 replies      
> Why is it so hard to find a job listing that fits this description?

Are you looking for a job listing, or for a job? Perhaps try to proactively contact companies you think could benefit from hiring you.

> It seems that everyone wants years of work experience, regardless of how good you are.

You can treat the years of work experience on a job listing however you want. You can think of it as an indication of the experience level they're seeking. If they ask for N years of experience in XYZ tech, and you are better at XYZ than most people who have N years of experience, then (i) apply, (ii) find a way to show how good you are.

For (ii), this should be easy if XYZ=Android, as the software you have worked on (for previous employers or on your own) is something they can run on their own phone. If it can run on a phone then it doesn't need some huge deployment effort or special build environment for them to try.

Learning multiple programming languages
7 points by confused_coder  15 hours ago   9 comments top 4
jarcane 11 hours ago 0 replies      
Write code in it. Lots of code. And not all your own code.

Find books that give clear 'type it yourself' examples that you can follow along with, or books that test your ability to think in the language by giving you problems that need idiomatic code to be solved (perhaps the best example of a book like this that I've seen is The Little Schemer).

If there are 'koans' or 'katas' or similar interactive exercises for the language, find them and do them. All of them. I learned so much about basic style of a language from these. Try sites like Project Euler and Codewars.

Find tutorials like 'how to build an X in Y' and follow the whole thing from start to finish. It doesn't even necessarily matter, IME, whether the code is particularly good or idiomatic: once you've made a project of any considerable size you'll start to see the strengths and weaknesses of the code and the advantages of the native idioms.

Finally, find yourself at least two non-trivial personal projects to write in your new language, and just write. Write big code, that needs proper maintenance and bug-checking and testing. Don't worry so much about idioms yourself though, just write: when you go back over your code again, you'll see where you've gone wrong, and do better next time. Your first big project in a new language will be terrible. But you'll know exactly why it's terrible by the time it's done, and you'll do better next time.

This is what's helped me, anyhow; obv. everyone is different, I am not an expert, etc. etc. The important take away is that ultimately: "idioms" are just ways that people have found work best in the language; the best way to drill on the style of the language is just to use the language a lot and read the language a lot. Idiomatic code comes from practice, more than anything.

brudgers 5 hours ago 1 reply      
There is a book out there designed specifically to move C programmers outside their comfort zone: J for C Programmers.


That's not to say that it will redirect your career from C programming to J programming (my impression is that there are not a huge number of all day every day J programming jobs). But rather, J is one of those languages that requires people to change the way they think about programming languages. It's pretty amazing in my opinion, but I've been drinking the Kool-Aid ever since coming across the book.

sanxiyn 15 hours ago 1 reply      
You should learn from examples. Instead of writing codes in languages you learned, read good examples of codes in languages you learned, and try to copy their style.
prostoalex 14 hours ago 0 replies      
You can only learn idiomatic code by working with idiomatic code. Pick a popular project on GitHub in that language (popular ones are more likely to be led by language connoisseurs) and contribute to it in some small way, or just play around with your local fork.
Ask HN: Does the right way to share HN/Reddit/news exist?
4 points by azinman2  16 hours ago   1 comment top
r_singh 12 hours ago 0 replies      
I'm one of the more recent users of HN and after I started liking the content I saw here I thought of this too.

I would really like to use an HN/Reddit like application restricted to different networks of people that I know to share news/content that they would enjoy or benefit from.But then I thought perhaps that's only because I don't use facebook much and my friends/colleagues don't use twitter much.

Most of my friends/colleagues have started sharing a lot of news content on their facebook recently. So I guess some people (at least here in Mumbai) are sharing what they see on HN/Reddit/other with others via Facebook.

As for me, I often share articles that I like with others via email or text depending on the person I'm sending it too. My dad uses email for doing this too (maybe because he doesn't use facebook at all).

I guess there may be a missing communication channel for people who don't use facebook much. Tweets seem to get lost in the crowd of thousands of other tweets people see on their twitter stream.

I would use an HN/Reddit restricted to networks of people I know. But they would have to be really active in order to make it as good.

Ask HN: Other good news resources, like HN
7 points by nichochar  10 hours ago   2 comments top 2
adrianhoward 10 hours ago 0 replies      
Designer News is pretty good for design/ux-ish things https://news.layervault.com/
guiye 9 hours ago 0 replies      
DZone is nice for for development news: http://www.dzone.com/
Ask HN: Where to host ASP.NET MVC app
3 points by codegeek  22 hours ago   3 comments top 3
GFischer 2 hours ago 0 replies      
As the other comments said, Azure is an option, but if you're not eligible for BizSpark, it can be expensive.

I've read good things about AppHarbor, haven't tried it myself though.


They have a free tier but you have to use their domain.

I'd also look at Amazon AWS, but it can also get pricy :( .

I found this blog post, it has a few more options:


AussieCoder 21 hours ago 0 replies      
Depending on the nature of the application, you may be able to sign up for Microsoft's BizSpark program. That includes $160 of credit for Azure per month for three years. That would be more than enough to host your application on either an Azure website or Azure Cloud Service.

I've been running applications on Azure Web Sites and Cloud Services for several years now and have found it to be much more reliable and better performng than the cheap shared hosting option I'd been using previously.

megaman22 22 hours ago 0 replies      
Azure is not a bad option. They have a free level of service with Azure WebPages that I've used for my hand-rolled ASP.NET MVC4 blog (richardssoftware.net). Once you're setup, its dead simple to update your app, either through Visual Studio or by setting up GitHub integration to automatically publish on commit.

Using a custom domain name requires that you bump up to the next level, but that is only about $10 a month.

Ask HN: Done with startups. Contemplating freelancing
17 points by consowels  1 day ago   11 comments top 4
tptacek 22 hours ago 2 replies      
Yes. Keep in mind that the term "feast or famine" was invented to describe freelancing operations. At least in the first year or so, you're going to have very similar ups and downs to a startup. But obviously, the variance in outcomes for freelancers is lower than that of startups; you'll eventually get your sea legs.

Successfully freelancing --- and you have to do it somewhat successfully to get to the place where you can set up your schedule like you want --- requires a lot of the business and sales skills that getting a startup off the ground requires. Friends who have tried to start freelancing businesses have washed out after a couple years because they just can't deal with the grind of selling.

larrykubin 22 hours ago 0 replies      
I successfully freelanced for years. I think one key for me was living in Austin, where there is no state income tax and the rent and food costs are low. It doesn't take many hours of consulting work to be able to live comfortably there.
MichaelCrawford 16 hours ago 0 replies      
This might help:


I too am very skeptical of startups. I'd rather get paid by the hour, then get paid with a promise that's not likely ever to be kept.

I understand one-half of American businesses - in general, not just startups - fail during the first five years.

kohanz 22 hours ago 1 reply      
I've recently made a transition from full-time work to sparse, part-time freelancing, which I deem successful, but may not be by others' criteria. The parameters of my freelancing are undoubtedly much different from yours, but perhaps my experience is still of use.

Up until May 2014, I was working FT at a small non-profit (government-supported) consulting firm in the medical devices space. At this point I had about a decade of progressive development experience and more than half of that in the medical space.

I wasn't totally happy at that position for various reasons and, for some time, I had been interested in having more time to work on my own projects. Part-time work was what I thought I needed, but no employers were interested in that kind of arrangement.

Also significant is that in April 2014, our first child was born and I knew that I wanted to be an involved parent. So as my son's due date came closer, I investigated freelancing as an option.

Another factor that is important in my case is that due to my previous employment and my family's relatively frugal means of living, we are doing OK financially. We live in a medium-sized city in Canada where living costs are lower tha your bigger tech hubs. I knew that I could go a year or more with almost no income that we'd still be fine. I've come to realize that this is a blessing and a curse at the same time though ;)

To be honest, some things just fell into place for me. One of the clients that I was the lead on at my day job was someone I knew that I could talk to openly and when I told them that I would be leaving, they showed immediate interest in retaining my services.

My employer was fairly shocked at my leaving. I was (and I try to say this as modestly as possible) the most productive and reliable developer there and also the one trusted most with customer relationships. I gave them plenty of notice (6 weeks) and we left on very good terms.

Here's the kicker, my old employer is now my #1 client. I am essentially a subcontractor to them. I make about 1.75x what I did as a FT'er on an hourly basis doing my old job for them, but I have the ability to set my hours, workload, and decide which projects I take on. It's almost funny to me because if they had offered me reduced hours and similarly reduced pay in the past, I probably would have taken it. I charge them a bit less than other clients, because they take the pain of finding new customers out of the equation for me.

All this said, I bill about 50 hours a month. I could bill more (take on more work), but that isn't my objective. The other time I spend working on my startup and I spend an above average amount of time at home, being a dad. This is exactly the arrangement I was looking for and I couldn't be happier with life these days.

This won't last forever. That's why I've got the startup in the works and also I know that, should I ever need, I have a reasonable number of contacts in my city to get another job (and I'm sure my old job would still be available should I choose to return).

Ask HN: I am doing nothing with my life
15 points by throwmean  1 day ago   8 comments top 6
skorecky 1 day ago 0 replies      
I've felt this way before too. There are quite a few options.

- Look for a new job that satisfies your desire.

- Work on open source projects in your free time.

- Start a new project which you feel could contribute to x.

For my personal experience there was something deeper for me, I wasn't happy with the 'do good' job I found and ended up going to just a better job even though it mean making some product for profit.

I did however become a certified personal trainer and train clients on the weekend. Which helps me fill that void of doing good with my life by helping myself and others live a healthy life and be fit.

wallflower 18 hours ago 0 replies      
What do you fear? Fear is telling you what you should be doing instead of staring at a screen...

Diversify your time. Don't put all your emotional/time investment into technical skills/work.

Organize something at work like a potluck or a karaoke night. You don't have to be the center of attention once the event gets going (but you'll have to get the event together). The host has the power..

Be part of something bigger than yourself, be an active part of a community (doesn't have to be tech). Belonging is a big part of happiness.

Volunteer. Someone once told me that to be a true volunteer with no selfish overtones you would need to a) volunteer for the blind and b) not tell anyone. You don't have to do that.


hardwaresofton 23 hours ago 1 reply      
Do something amazing on your nights and weekends. If you're a recent grad, then you probably should revel in the whole reliable-paycheck thing for a while, but it doesn't stop you from innovating and pursuing what you're passionate about on the nights and weekends.

I personally have never looked to work to satisfy my passion (for computers). No matter the job I am working at, I have a steady stream of side projects and try my hardest to keep up with a small bit of the massive firehose of change that is modern computer science/programming.

Don't worry about being average. Many of the people who have created great things weren't that far from average. They just seem like geniuses in retrospect. Also, it's about 5 billion times (give or take) easier to do software these days, you have a huge leg up on geniuses of the past.

Find a project to do that makes you happy, and do it until it doesn't make you happy anymore (hopefully, after it's finished)

ghufran_syed 1 day ago 0 replies      
I'm doubtful that any advice here would make any meaningful difference, but as a pathological optimist, I hope I'm wrong :-) . Try reading "The seven habits of highly effective people" by Steven Covey, at worst you've wasted a few hours, but I think there's a lot of useful advice in there about how to change your circumstances.
v_ignatyev 23 hours ago 0 replies      
I disagree with @skorecky below.

- Look for a new job that you haven't ever worked before. If you do CRUD applications, start doing mobile software or whatever else is new for you

- Stop spending your time with your colleagues and start looking for new friends, learn from them about the world, about problems, about realworld problems and try to solve them using your mind

- ...and yes, try to contribute to open source projects, stop procrastinating, go and fix the annoying bug in your beloved library or propose pull-request

- ...or make something just for fun

Try to get break. Stop and turn another way. Open your mind. Blah-blah do!

mikestew 23 hours ago 0 replies      
> But I am doing nothing useful to the society really... I'd love work something related to space, or brains, or artificial intelligence, or something amazing.

There's your first problem: looking for a meaningful existence in an activity that is also supposed to pay the mortgage. Good luck to you in making those two intersect. But look at what you're asking in another way: "I'd like to tie my identity to my vocation, but finding a vocation that allows that while supporting my 'software money' lifestyle is difficult. What to do?"

I've given up on doing that. I'm not saying everyone should, don't get me wrong. But finding a job that gives me purpose and meaning in life, and pays six figures is fighting strong opposing odds. That's fine, of the work I do I usually enjoy it even if I'm not finding the cure for cancer. If I had my way, I'd work full time at the NPO animal shelter I spend a lot of time at. But even the director (IOW, the big boss) only pulls down $65K a year. I'd settle for that, but I'm not getting her job anytime soon. The best I could probably do would be a little above minimum wage, and probably not 40 hours.

So what do I do? I work whatever software job keeps me interested and pays the bills. With the wheelbarrows of money that brings in, I donate to causes I feel should be supported. Sure, that might cut into my BMW M5 money but you don't get your cake and eat it, too. I mean, what nobility is there in a job that pays the salary that many of have become accustomed to, and still allows us to feel that there's "meaning" in our work? Where's the sacrifice? Quit trying to tie the two together and you'll get on much better, IMO. Sometimes the two coincide, most of the time they don't; don't force it.

I'm not just a checkbook volunteer, either. In the case of the animal shelter, I've logged over 200 volunteer hours this year. Though not a professional dog trainer (though at this point, going pro would merely involve a test and a few other hoops), I train dogs with behavior problems to make them more adoptable. Sometimes it's not that glamorous: taking a stream of dogs out for a walk and picking up their shit. One after another, repeat for two hours. Am I changing the world? Depends on who you ask. The dog who came in a mental basket case who I trained to be a civilized member of society, and later got adopted, might argue that I may not have changed the world but I changed his world.

Meaningful volunteer opportunities abound. Coach a kids team. Help your local church's homeless outreach. Whatever your "thing" is, there's an organization that can put you to work. Sports, animals, computers, whatever. Personally speaking, I go home every time feeling like the world is just an eensy, weensy bit better due to my actions, rather that hoping we find that big breakthrough at work in a few years so it'll all be worth it rather than just another day at the office.

> I probably just have it too good or I'm just meant to be miserable.

To use an over-used cliche: it's definitely a first-world problem. Most people in the world go to work so that they and their children don't starve and have to live on the streets. If we find meaning in it, we're fortunate. For a large part of history the vast majority stayed one step ahead of the wolf by working whenever the sun was up.

I'll close with this: if you think working on things that you classify as "amazing" or "great", all while pulling down 'software money', is noble then I think you're looking at it backwards and will never find satisfaction. Once you learn to see the greatness in picking up dog shit, for free, your answer will come to you much more quickly.

Lead Developer/Entrepreneur Seeks Money Loving Apprentice
8 points by bZfrank  23 hours ago   6 comments top 6
squonklabs 4 hours ago 0 replies      
I'm sending you the email you're looking for right now.
rynes 11 hours ago 0 replies      
Do you need a comma in your statement?
ch4ch4 17 hours ago 0 replies      
Where are you located?
mattkc7 16 hours ago 0 replies      
emailed and awaiting your reply!
dev-ious 22 hours ago 0 replies      
Focalise 18 hours ago 0 replies      
also emailed!
How is salary negotiation done in real life?
3 points by _RPM  14 hours ago   6 comments top 4
AnotherMarc 6 minutes ago 0 replies      
For me, the negotiation has been different with each job, and has depended on whether I sought them out or they sought me out. You don't say your situation. Let's assume I'm satisfied in my current role, and a recruiter is cold-contacting me.

If their initial pitch goes well, and they ask about my comp requirements, I know that I'm supposed to have them make the first offer, but I will usually offer a salary and equity number. Granted, that's considered by many a negotiation mistake. So, I will say that I will not consider less than x$ and y-equity, but that it will likely take more. Depends on how the interview process goes and what I learn. But they're numbers that, if we end up there, will be better than my current situation.

So, then things go well, and they make an offer, usually at or very close to what I told them. I've always countered some bump in salary or equity from that, but a package that if they accept, I will accept.

For me personally, money is no longer the top factor, I don't particularly enjoy negotiation, and I'm usually also talking by this point with my potential new boss. So, I willingly make the process pretty streamlined at the expense of possibly squeezing out a little more. That approach is not right for everyone.

That said, I think companies fully expect some negotiation. So whatever negotiation tactic you take, as long as it's respectful, will not hurt your chances of ultimately getting the new gig. In other words, they won't withdraw an offer or anything if you negotiate.

saturdayplace 5 hours ago 0 replies      
The last offer I successfully negotiated went like this:

Recruiter: What kind of number are you looking for?

Me: I'm looking for a minumum of $num. (A 25% raise from current gig)

Recruiter: We can totally do $num.

<a week or so passes while they put the offer together>

Recruiter: We're offering you $num.

Me: Could you do $num + ($num * 7%)?

Recruiter: I'll see what I can do.

<a week or so passes while he gets approval>

Recruiter: We're offering you $num + ($num * 7%).

Me: Sounds good.

Now, a professional negotiator probably wouldn't have coughed up a number first, but my gig at the time was paid fairly and I really liked the company. So I tossed out a number that was big enough to actually get me to jump ship. Was no skin off my back if they couldn't reach it. But they could. And I had a pretty good feeling from the hiring manager that they wanted me there, and that they'd advocate for me with HR, which I'm pretty sure is what happened.

relaunched 2 hours ago 0 replies      
My employer changed a material term of my employment that I negotiated for when I joined the company and by doing so, saved themselves ~20-25% of my all in cost. I used that opportunity as a jump off point to renegotiate my compensation. They said they'd consider it and came back to me very quickly, saying there was nothing they could do.

6 months later, I had a new job offer. On the day I was going to resign, they gave me a raise (they probably knew a about my displeasure, but not the job offer). I thanked them, showed them the offer and told them I couldn't ignore the difference in comp. Then, I asked if they could do better. So, they gave me another raise. Then, I asked them if they could do better and...

You get the point. I am good at my job and before this point in my career, got recognized in every way possible, other than financially. However, for whatever reason, the only way I could get any financial validation was to have leverage, which in this case was another job. In the case where you are negotiating a new opportunity, your leverage is whether or not you'll take the job. In my case, my leverage was another great opportunity for a lot more money.

I suspect I'm not the only one on HN that focuses on doing a great job and not on directly advancing their career. So, my advice to you is always have leverage when negotiating and don't be afraid to use it. However, there are 2 caveats. 1. You have to be willing to take the other job - your company may not be interested in retaining you.2. Having a job offer is very different than just being disgruntled, from the company perspective. But, tread lightly, you want to come across as wanting to stay, but unable to ignore the financial or professional disparity

sidcool 13 hours ago 1 reply      
It's not much different than how two people would negotiate to get maximum out of a conversation, but on a diplomatic level.
Spreading a little Christmas job-hunting hope
138 points by throwawaybcporn  5 days ago   79 comments top 31
jarsin 5 days ago 5 replies      
I wouldnt worry about getting passed up by the bigger companies. Everyone knows their interview processes are highly dysfunctional jokes. Then most startup companies copy them because they all think they are going to be the next google etc.

My last interview at amazon went like this:

Stupid trick coding question over the phone that I did not understand at all. Followed by 3 memorization questions. followed by one question I felt was valid and i know i got it right.

I was being interviewed for a specific product that was right up my ally. I could literally build what they had built easily, but they never once asked questions related to the product or my experience.

I looked at the product a year later and basically nothing has been done to it.

cj 5 days ago 3 replies      
Congrats on the new job!

> I suffer from crippling anxiety [...] foggy Xanax brain.

Consider asking your doctor about propranolol.

It's a safe, non-addictive beta-blocker often used to treat high blood pressure, but it also eliminates the peripheral nervous system response to anxiety, the "fight-or-flight" adrenaline rush feeling: racing heart, shortness of breath, inability to concentrate, shaking, sweaty hands, blushing, etc.

It doesn't effect your mental anxiety, but it'll cut out all of the physical symptoms, which makes the mental anxiety much easier to control, without creating any sort of brain fog.

mgkimsal 5 days ago 2 replies      
A lot of software companies seem to have a set of conflicting beliefs.

1 Iterative/agile software development. YAGNI. Build the bare minimum, then iterate when you learn more.

2. Hire slow, fire fast.

A really agile org would be hiring fast too. Now... I know a lot of this has to do with labor laws - hiring an actual employee brings extra baggage. And in the US at least, more people may want to be employees for reasons like health insurance.

Even with those considerations, companies should be bringing on more short term contractors, and the ones that work out stay longer. The ones that don't, for whatever reason, move on.

The same teams that will say "YAGNI, just build XYZ, ship it, etc" - iow, just get stuff out the door - will hem and haw and take forever looking for a perfect candidate that, in reality, doesn't even exist.

It's early in the morning, this sort of makes sense in my head, but I may not quite be making sense. But it's still a seeming conflict that bugs me.

mgkimsal 5 days ago 3 replies      
Maybe the lesson here is "quit trying to get jobs at tier 1 name brand companies". There are, by definition, only 500 companies in the Fortune 500. There are hundreds of thousands of smaller companies around the country that could use your skills.
wallflower 5 days ago 1 reply      
Congrats! Good luck!

Re crippling anxiety - I highly recommend improv classes.

raverbashing 5 days ago 1 reply      
I think the job market is eating itself up.

This year I sent tons of CVs, very few responses, a lot of technical tests, some interviews where "you don't fit the profile"

Companies usually like me when I start working for them, but to "cross the chasm" is hard.

fichtl80 5 days ago 0 replies      
So many sad recruiting stories ...

Some thoughts/tipps: Start your interview with: "I happy to be here ... am really nervous, i couldn't sleep last night." ... that removes questions marks in recruiters had about your eyes.

Don't tell em about xanax, better, don't use it.

@pookieinc 3+ years are not impressive ... i code for 15 years and possibly the guy who are you talking about your job too ... so don't behave like the god of coding.

@pXMzR2A 270+ job applications ... hmm your resume must be shit or you apply for jobs you are not qualified for ... i would love to see it, there must be a major bug in it :)

... and btw. congrats and merry christmas

kolbe 5 days ago 1 reply      
Congratulations. Regarding the crippling anxiety: I was the same way from college until a couple years ago. I couldn't, for the life of me, get a good night of rest on the nights before an important event. But simply changing up my diet[1] fixed that problem very quickly. It's worth a shot for you to look into doing that. I know how destructive and terrible it feels to be unable to rest properly.

[1] Specifically, I cut out wheat and corn altogether, reduced my carbohydrate intake to less than 50g a day, and never ate anything with added sugars.

pookieinc 5 days ago 4 replies      
JS + Ruby/Rails dev here w/ 3+ years experience under belt. Currently looking for job myself and have been for about 3 months. Funny how, like OP, my resume and exp. is "very impressive", yet it doesn't lead anywhere, not even to a phone interview sometimes.

I'm attempting the numbers game approach (apply for 100 companies, 5 will get back to you, select from those 5), but I've hit the edge of: what if there are none that are willing?

Thanks for the luck, will keep banging head against wall until a job is found. Happy holidays!

pXMzR2A 5 days ago 1 reply      
I don't suffer from anxiety.

In the last 8 months, I have submitted 270+ job applications, received 3 interviews, got rejected by all three, none of which were high reputation companies.

Great to hear you had a success! :)

esonderegger 5 days ago 1 reply      
Congratulations! It sounds like you've landed somewhere really good.

Thank you for reminding us not to give up. A lot of your story sounded familiar, although you were way more persistent than I was. I'm 33, and recently got rejected from two different bay area "dream job" companies after making it through several phone rounds in order to fly out for in-person interviews. The more recent of which, I got nervous the night before and only got three hours of sleep. The hardest part of that rejection was wondering "what if" I had been just a little bit sharper.

After the second rejection, I accepted a position with a small defense contractor near my home in Washington DC. The bureaucracy and mindless restriction are sources of endless frustration. The combination of billing by the hour and a long commute leave very little time and energy for keeping up the job search.

Reading your story reminds me I have very little to complain about. Thank you for posting. I'll use some of this time off to send out some more applications. Hope you have a great Christmas and good luck once the new job starts!

zerr 5 days ago 1 reply      
Congrats! And as a side-note, I think it is suitable for persons in your [before-job] situation - to ask for internship or contract-to-hire work instead of direct hiring. We all know interviews suck. And working temporally for 2-3 months would be much more effective (for you and the company) to see if you're a good fit or not.
phantom_oracle 2 days ago 0 replies      
It's scary to see just how many talented folks there are out there, that are struggling to find some work.

It's not like most of you are blue-collar workers either. Those supposed job 'shortages' at those big tech firms seems more like a sinister collusion strategy to flood the market with cheap labour possibly.

harpb 5 days ago 2 replies      
tl;dr: There are lot of opportunities for software engineers!

6 weeks ago, I left my job and here's my share of the search experience. 1 week after leaving the job, I got a cold email by a company who is 25-min drive away in Foster City. I did initial call with the HR on Dec. 1. On Dec. 2, I did my first phone interview. I was asked to rate my competency in Python and JavaScript on the scale 1-10. Then the interviewer asked me questions that were targeted at that level. I did badly, but not horribly, with the Q/A on technical parts and ok on some of the basic ones. On Dec. 3, I did second phone interview, which went great in the first half and badly in the second half. In the later part, I just started to get nervous and lost my cool. They still felt I was competent, so on Dec. 4 I did a full day of interview. I did 5 different interviews from engineers to CTO and CEO. By the end of the day, I was offered the position @ 135K. This is where you expect the typical ending of me accepting the salary and living happily ever after. Not so fast there, reader. I pressed for higher salary - 25K more than they were offering. They didn't budge and neither did I, so no cigar.

In parallel to interviewing at that company, I also created my profile on Underdog.io. I spent Dec. 5 to Dec. 16 talking with 7 different companies in New York. I saw that their Salary range is lower than in Bay Area so it did not go far.

On Dec. 13, I created my profile on Hired.Me. Since then I have had 5 offers. I have made strong connection with one of the company and will be having in-person interview in a month (I have 3 week family wedding planned in Jan :)).

From my experience, there are so many companies looking for quality engineers. If you are having hired time getting hired, I am open to talk with you. I personally don't pursue working at big companies for the sake of them being big. I am looking for a company where I fit in based on my programming design sense and culturally.

I'm 27/M/Single/SF - so I don't have much constraints as someone who may be older with family or in non-tech savvy part of the county.

br0ke 5 days ago 0 replies      
Grats on the job!

I hear you about the anxiety. I managed to land an interview with nvidia in 2001 and was so nervous that I couldn't eat or sleep for the 24 hours before the start of the interview (then ate lunch with them at their cafeteria and was wolfing food down like an animal). Didn't fare well, but a year later of hunting and working as a substitute teacher, I ended up working with a great team at FedEx for a while and went to being a "computer scientist" at the army research lab after that.

Anxiety is a challenge, but it can be overcome! I'm even in the process of starting with "toastmasters" to get me out of my comfort zone and learn how to be "on" around strangers.

Again, congratulations and thanks for sharing!

orliesaurus 5 days ago 0 replies      
Glad to hear a good story on Xmas day :) Well done you!
websurfshop 5 days ago 0 replies      
It's a viscous circle with all the rejection. Don't take it personal. We live in a cruel world, but that does not make you less valuable as a person. Jesus loves you. Merry Christmas.
imagex 5 days ago 0 replies      
Congrats, and a very Merry Christmas to you.
throwawayTwit 5 days ago 1 reply      
About 7 months ago I interviewed at Twitter, making it through two phone interviews before failing to solve some tricky algorithms questions in the on-site interview. Recently a Twitter recruiter contacted me on Linkedin looking for referrals and I sent him my resume, only to be told that they were looking for people with more experience, despite significantly more relevant experience on my resume.

Is the BigCo interview process just that arbitrary?

ryanicle 5 days ago 0 replies      
Congratulations! All the best! More good things to come for you.
jamesturn 5 days ago 0 replies      
Just curious, so this is a university staff position or are you enrolling in a business school as a student? Either way, congrats!
Kurtz79 5 days ago 2 replies      
Congrats and best luck for the future.

In a way it's kind of belwildering how radically different seem to be the job hunting experience for many HW users.

You see so many posts like "I had multiple six-figure offers", or "it's impossible to find enough candidates for the position" and then you see posts like this.

gmoneynj2000 5 days ago 0 replies      
Just what I needed to hear! Thanks!!
hemantv 4 days ago 0 replies      
You should get some help anxiety thing. I have seen people let ego / pride decide. There is no shame asking for help when you need it.
PaoloGalesi 3 days ago 0 replies      
Read the tao te ching my friend. Read and read it and read it and... Good luck
Arsenije 5 days ago 0 replies      
Hey man congrats on you new job!I have one keyword for you: "mindfulness". Start practicing it.


wittedhaddock 5 days ago 0 replies      
I have goosebumps reading this. Thank you so much for sharing. This is meaning.
akclr 5 days ago 0 replies      
Good luck and all the best in the new year!
ozy123 3 days ago 0 replies      
Good work! And congrats!
akeem 5 days ago 0 replies      
ing33k 5 days ago 0 replies      
keep rocking !
Ask HN: How do you stay motivated to work on side projects?
244 points by sciguy77  3 days ago   136 comments top 86
gavanwoolery 3 days ago 1 reply      
I turned my side project into a unicorn job. It only took about 10 years of hard work...but I did it the hard way.

Find the easiest thing that you are legitimately passionate about. Do not work on a project because it is in a popular space, because you are looking to make a quick buck, or any other reason than you are undeniably interested in the space.

If you are not interested in the project, it will become boring and you will lose steam. Even if you are interested in it, there will be boring tasks to tackle. It might be that the only project you are truly interested in tackling is not an easy one (as is my case). I have a massive graveyard of failed ideas that halted at some point because I lost interest and/or realized they were dumb ideas. The only one that has lived is the one I keep coming back to (and am now working on full time).

These are not factual statements, just a reflection of my experience. Yours may differ.

rachelandrew 3 days ago 0 replies      
If you find that you lose motivation or get bored with a side project then I think you really need to ask yourself why you are doing it.

We find the time and energy for those things that we place importance on. If the project isn't important to you then maybe it is time to move on. If it is important and this is just a temporary state - perhaps due to hitting a difficult part or a bit you don't enjoy dealing with - you need a strategy.

Break it down into manageable chunks. Put a date on them. Make sure however that the dates are achievable, there is no better way to become demotivated than to constantly feel you are falling behind.

If your thing hasn't shipped yet, can you get it to a release version sooner? Can you cut stuff out? Getting your project in front of other people can be a real help.

Treat the project as a first class citizen alongside your other work. Meaning that even if you can only devote 4 hours a week to it, those 4 hours are scheduled and used. Don't push them out for other work. Plan what you will do in that time, ahead of time, so you don't start to procrastinate when you sit down.

We turned our side project into our main source of revenue, you can read some of that in the first chapter of the book I wrote based on that story here http://rachelandrew.co.uk/archives/2014/03/21/chapter-1-the-...

karlmdavis 3 days ago 0 replies      
For me, a combination of these three things has proved to be successful:

1) Every day. I've seen this with working out, side projects, or whatever... I can't stick with commitments if I try for an "every other day" or "only weekdays" strategy. Has to be every day. [1]

2) Track it in a visible fashion. GitHub's contribution calendar is fantastic for this. I've got a text file named 'work-log.md' in my side project's folder, and I update and commit that file whenever I spend time on my side project-- even if all that I did that day was research, rather than coding. My current high score/longest streak is 59 days in a row, and wanting to push that higher is incredibly motivating. With workouts, some sort of fitness tracker serves the same purpose.

3) I don't beat myself up too long or hard about screwing up. There are some folks whose "longest streak" on GitHub is 365 days or more. Good for them! I'm always sad when I realize I've missed a day, and I often take a break for a week or two once that happens, but I've never even thought about just quitting. Just motivates me to try and do better next time.

[1] One exception to this was biking to work: I never really biked on the weekends, but it didn't prove to be a problem. Probably because commuting by bike was so hard to forget about.

joshu 3 days ago 1 reply      
You will lose steam at some point. Go with the flow; take a break, try something else, come back to what matters. I put del.icio.us down for 6 months very early on.
zxcdw 3 days ago 2 replies      
I think it might be interesting to note that different people have different motivations for "side projects" (as well as different definitions for side projects!).

For someone, a side project might be about solving arbitrary problems such as trying to write a Tetris clone under, say 1024 bytes on x86-64 Linux machine -- something which has absolutely no real world relevance whatsoever, while for someone else that'd make no sense and be waste of time. Probably they'd much rather build something much more concrete, say a real product (say a web app) actual people can, and hopefully will use.

Perhaps it is a meaningless and arbitrary attempt at making distinctions, but I find it relevant for myself as I certainly fall under the first example, while many here in HN fall under the second. I feel this definitely plays a role in what we consider "side projects" and how we deal with them.

motters 3 days ago 2 replies      
I view my side projects as the main work, and anything else as merely a way of supporting them. Also, I have enough side projects that if I lose interest in one I can switch to another.
deet 3 days ago 0 replies      
Set small goals for yourself that have a visible or measurable impact. Each time you complete one, you'll feel a sense of reward. The important thing is to work with your psychology not fight it.

What I've found to be effective is to have a list of goals roughly by week, for the next few months, and then each week to assign myself a small list of tasks for each day. I also try to mix up the type of tasks over each day -- some are fun and I'm excited to do them, some are more tedious but have to be done. So when I do some tedious work I reward myself with the fun tasks.

When I fail to meet my goals I allow myself to get angry with myself -- almost a disappointed self-hatred. But only for a few minutes, and then I move on. Perhaps some people will disagree with this technique, and might suggest only positive self-reenforcement, but if you're not totally honest with yourself it's going to be tough to keep yourself on track.

Whatever you do, you should definitely start by examining your goals and motivations for working on your project, since everything entirely depends on these.

Htsthbjig 3 days ago 2 replies      
"How do you keep yourself pushing code when life gets busy or you just get bored?"

I don't. When life gets busy with other I am busy and the other people are my priority. If you are with your family and you are not really there, you will feel guilty later on work and not be there either.

Steve Pavlina explains it better than I do:http://www.stevepavlina.com/blog/2014/12/130-days-off-per-ye...

What Steve could do after years of training(and reading thousands of books and learning from others) is probably not what a normal person could do. But they can apply some of the ideas.

In my experience, people from the US tend to work to much, but not really work. e.g When a German person works, he works, do not distract him because he will get upset.

I had never ever got bored in my entire life. I have always done whatever I wanted to do. Life has been tough to me at some times, but always in the sense of the Lion on the wild, that if he does not hunt, he just dies.

It is just so easy today to choose safety, but also living on a cage.

Go to the zoo and look at the animals there. Have you ever seen an animal(lions, leopards, elephants) in the wild?It is completely different. It is the same with people.

otaviogood 3 days ago 0 replies      
Don't be afraid to drop a project. I tend to have a handful of projects going at any one time. A good project will stand out and it will pull you through to completion. Pretty much all of my significant jobs were spun out of my side projects. My current job started as a side project that I prototyped in a few weeks. A company was built around it and now our company is part of Google. This. https://www.youtube.com/watch?v=h2OfQdYrHRs

Take note of things that inspire you. For me, books or other people's projects. Show your work to your friends and try to convince your friends to work on projects with you.

Find programming languages / environments that make it easy to spin up a simple project without too much overhead. Start small. Last I counted, I have about 140 folders in my dev directory. Each one has a small project I started up. One turned into a successful company. Another won a DARPA challenge. A few others were released in various forms. But most got dropped because they just weren't as cool as something else. And I think dropping projects isn't just ok, it's great fun and will help you find that project that's worth completing.

krapp 3 days ago 0 replies      
I enjoy programming, and making things, but my side projects are the only code I write which really lets me be creative. So I keep going because I want to like what I do.

Also,sometimes the only thing keeping me going is the sunk cost fallacy. I don't want to just give up on something I spent months or years on.

But one think that did help me out was learning to recognize the difference between moving forward and moving in circles. Not wasting a lot of time refactoring stuff - especially if a lot of time has passed - because your tastes or mood has changed. I have one project (a web project, nothing anyone would care about) that I literally rebuilt from the ground up at least three times already, just because I got sick of the current framework I was using. I wasted a lot of time moving in circles because I didn't actually want to finish the project, but I did want to keep working on it.

lukasm 3 days ago 2 replies      
Be consistent. Do some work every day, even if it's just 5mins of work. You will keep the idea in mind.
Osiris 3 days ago 1 reply      
I get energized about my side project when I get suggestions, comments, or other feedback from users. I can go months without doing anything and then I'll get one person asking for a feature or change and I'll work for a few hours or days to get it done.

My advice is to make is easy for customers / users to give you feedback. Use a support ticket system and provide email links on your homepage.

cgallello 3 days ago 1 reply      
I just finished with a side project. I knew going in that I would lose motivation for reasons left and right, even though it's the right project for me to work on. In order to keep up my motivation, I started "Side Projects Dinner" - I would make dinner for my friends every other week, and they would give me feedback on my project. It worked great, and we've had quite a lot of fun. And of course, my friends are also getting feedback on their own projects and thinking of new project ideas. Highly recommended!
danbmil99 3 days ago 1 reply      
Perhaps a better (or at least related) question is: how does one find the time to put into side projects on top of staying competitive as a programmer in an environment where 45-55 hour weeks are customary and expected, and also achieve some kind of work/life balance involving significant others and children?

I challenge anyone to show that the math for this works out. Everyone I know who has put effective effort into so-called 'side projects' is either living off saved wealth, working 20-30 hours/week on lucrative consulting contracts, and/or has an SO that works their ass off in some all-consuming, soul-crushing, high-paying career.

alexggordon 3 days ago 0 replies      
How? By wanting to work on things that you want to work on, more than you want to watch TV, or play a video game, or do anything else.

The thing it came down to for me is understanding how incredibly rewarding it is to create cool things that I use. For example, the digital situation of Chess really sucks in the work right now, so for the last few months I've devoted about 10 to 15 hours a week to created a catch all solution to playing chess online and on your phone. It's gotten to the point where I can now use it to play with my brother, dad, sister and friends. As a person that lives a fair ways away from my family, it's really rewarding to be able to do something like that. I love getting input from them, and just being able to bond with them over something simple.

As far as the motivation, and not just the desire, it also came down to understanding how I work. I burn out quickly if I work on something a ton, and so I have an incredibly strict schedule during the week, and then completely leave the weekends open. Essentially, I kind of made a compromise with my personality so that I ended up happier, and my professional life came out ahead.

In addition to that, I educated myself. I realized what I wanted to be in 40 years, and I found out how other really smart people did it. The books below really had a major influence on me in motivating myself to work harder at everything, and to motivate me to work on side projects.

Lastly, and for myself this is huge, I surrounded myself by people I wanted to become. It's really really really hard to do stuff on your own, so I worked hard to become friends with smarter people than me, that challenged me at life, for lack of a better way to put it. I know stuff that like may sound a little clich, but it really is one of the most rewarding things I've been able to do in my life.

Book List: 1. Without their permission. Alexis Ohanian2. Outliers. Malcolm Gladwell3. How to Win Friends and Influence People. Dale Carnegie4. Hackers and Painters. Paul Graham

Daishiman 3 days ago 0 replies      
Have spare time!

If you're spending all day in the office or with your clients you're going to be burned out and you won't have the energy to get down and dirty into the denser parts of your own project.

Be religious about setting aside your own time

ChuckMcM 3 days ago 1 reply      
Like others here, if I lose steam on one, I switch to another. The novelty effect is real. To support switching though I have to use a notebook. As I get to the point where a project is feeling more drag than energizing, I write down everything about it that I have in my head at that point into my notebook. Then I find another project I had left in that state, read the page(s) on it, and spin it up.

Still, my biggest problem isn't losing steam its simply too many choices. I need to get better at deciding I'm not going to do a project and putting it down for good.

fsloth 3 days ago 0 replies      
I've come to strive for what I call the minimum overhead principle. If I have a project going on I make it as easy as possible to continue (editor open, pad and paper at hand etc) and try to do at least a few minutes per day. Sometimes it's only those few minutes and sometimes I can get a few hours in. And those add up.

For personal software projects I've discarded all engineering principles and do what I would call structured hacking. Everything is neat and tidy but only up to a point that it lets me progress swiftly.

jmadsen 3 days ago 0 replies      
- Trello, and break it down to the most granular set of tasks that you can. - Put some real easy ones in a list called "low-hanging fruit"- When motivation is low, pick one or two off to get going...if motivation doesn't come back that day, just rst. But often the mere act of getting going will move you along
lholden 3 days ago 0 replies      
One thing that works for me is to get lots of external feedback on my project. If at least one other person beside myself has some interest/investment into my project I am a lot more inclined to continue working on it. When I am the only one with interest... Well, I tend to lose motivation pretty quickly.
philip1209 3 days ago 0 replies      
Lots of great answers here. One I don't see is to work with somebody else on the project. Holding yourself accountable to somebody else can be a lot more motivating. In addition, it's hard to get a pat on the back from an end user for doing some things, like unit testing or setting up an LLC, but with a parter these baby steps seem more significant.

If you choose to work solo, bring in a friend - preferably who is working on their own side project - to mentor you. Try scheduling work time together or swapping expertise (e.g. design feedback or code review). I worked on a project in parallel with a friend's project, and we did IDoneThis updates to each other every day. That accountability helped to motivate both of us, and rather than give up when we got stuck, we had somebody to talk through issues with.

An organizatoinal tip is to set up a personal kanban and break everything that you are doing into tasks. Jumping into a large project that takes months can seem like a neverending tunnel, but being able to see incremental progress in terms of completed cards every day can be motivating. When you start to lose focus, look back at the cards and see what you are supposed to be working on or pick another card.

Finally, don't lose sight of the end user - build something that people love, and keep dialogue with your customers before you launch the product. Get feedback, shadow them, identify pain points, grab coffee - a project become a lot more real when you humanize the end user.

Good luck!

richardw 3 days ago 0 replies      
I tweak my motivation setup, but for me, currently:

1) http://thinklegend.com/commit/ - I have "do 30 min X project per day", which isn't much but usually the hard part is starting. It's easy to kick out 30 minutes work, feel good and add a link to the chain.

2) Yesterday I itemised a bunch of push and pull factors about my current job and my side project. We regularly build amazing things for customers but forget to do what's important to us. We get caught up in "urgent" and forget about "important".

3) Startup podcasts. In the absence of a mastermind (Anyone else in Johannesburg?) they keep me in the mindset of building. They're like a small daily escape into a world of possibility. I listen while driving, so after the work-day drudgery I'm reminded of what I'm working towards.

aaronbrethorst 3 days ago 0 replies      
Make something that can be built and deployed before you get bored[1]. Once you start attracting users, it's easy to keep going on it.

[1] Which may mean that the MVP takes a day to build, or the project is something that will be sufficiently useful for you that you can work on it for six months without getting bored.

xasos 3 days ago 0 replies      
Keep a commit streak. My current streak is at 153 days[1]. I've seen that I have grown as a developer, learning new languages and writing better code. It's awesome that git quantifies commits and puts it on a graph. I've adapted this from Seinfeld's productivity strategy and has played a large part in my streak[2].

[1] http://github.com/xasos

[2] http://lifehacker.com/281626/jerry-seinfelds-productivity-se...

jseliger 3 days ago 0 replies      
Enjoy them. A lot.

Figure out how / when / where you're going to release them, and work towards that moment.

mrmondo 3 days ago 0 replies      
I break up my side projects into manageable chunks, completing one of the chunks is very satisfying.

It's hard to see value in something until you add it, this is why your greatest achievements will be hard to see moving forward.

rwallace 3 days ago 0 replies      
The solution I eventually arrived at after many years: Don't start any more side projects. Save my energy for my primary project.
noobermin 3 days ago 0 replies      
I've found that it helps me when I get feedback, like I finish some major functionality or feature, I feel fantastic when I see it work and during my working time, I think about that feature and can't wait to get back to it. When I stop in the middle where there is no discernible change or a feature is not fully implemented, when it passes my mind during work or free time, I think about how broken it is, and I feel like I'm heading back to a broken bike, which is not too exciting.

It's hard, especially when a particular feature needs days/weeks of effort. For that sort of thing, you just need to persistent, I guess.

sideproject 3 days ago 0 replies      
Here's the counter example of what happens if you DO get tired of your side projects one way or another, not that there is anything wrong with that.


(disclaimer - I maintain the site)

Based on my experience of running the site over a year now, there is nothing wrong with side projects that do not become "success" (whatever the definition of your success may be). The most important part is the building it and shipping that v1.0 (or v0.1.. whatever).

justinzollars 3 days ago 0 replies      
Pure determination. I work more hours than any person should, or that is even healthy but I do not want to go to my grave having not fulfilled my dream and personal goal of having a company of my own.
kchoi 3 days ago 0 replies      
When I have a hard time getting myself to do anything, I try to think about why I should do something from different points of view at different levels.

What I mean by this is that you need to rationalize why doing something is important to you in terms of its meaningfulness and impactfulness.

For example, let's say I'm a web developer with zero knowledge of building a mobile app. And I want to build a mobile game in ios that doesn't exist in the world yet. When it comes to pushing myself to work on such an app, I remind myself that I want to become a programmer with versatile skill sets desired by many employers. That will be your high level goal.

However, this goal might be too general and isn't convincing enough for you to keep working on the project. So, let's make your goal more specific. So, in this case, it can be that you are super interested in learning about technical details behind implementing the game whether it is about designing the db relations, software architecture and etc. That will be your middle level goal.

Finally, if none of them made you want to work on the project, let's dig deeper and make a goal really personal to you. It can be something like you want to build it because you want to play this game but you cannot find anything like it from anywhere else. That will be your low level goal.

chvid 3 days ago 0 replies      
I try to remind myself that it is in the last part of a project (the 80% effort that appears only giving 20% of the result) that I truly learn something.

Not finishing projects is a really bad habit, even for side-projects. Try to set a goal of at least publishing your project in some meaningful form - maybe it is just a blog or a forum posting.

Also be careful of vetting your ideas before you start. Make notes, paper prototypes, drawings or something that allows you to better reflect on and filter your ideas.

Spearchucker 3 days ago 0 replies      
I've been working on mine (bit.ly/1rqJ0NG) for over 7 years. There are a few things that keep me going -

- The first is that while I've been using it (or a version of it) for about 5 years, there are a lot of features I want that are still missing.

- Second is wanting to see it through. There are loads (over 20) of unfinished apps in my \Dev folder. I think some of them are epic ideas, but decided to focus on one and see it through.

- Third is to make some cash. That's a nice to have, and I'm ok with it not making anything, because of reason 4 -

- I love working on it. It's rewarding like nothing else is. I once told a friend (quite seriously) that solving some hard problem in it was better than sex. He told me I was doing sex wrong. Maybe... but I can stare at a piece of code for ages after writing it, if I think it's good. Narcissistic, I suppose, and probably deluded, too. But there it is.

- Fifth, and last, I've learnt more from it than any other (single) project I've ever done - privately or professionally. Not just code, the cloud, document v. relational v. graph dbs, but also the not-so-great value of TDD, the value of DevOps, and arguably the most important, the value of just not accruing technical debt, ever, at all. If you gave me another minute I'll think of a million other things it taught me.

Jonovono 3 days ago 0 replies      
Because I make things I WANT TO USE!! I'm not making them to put on my resume, or to show people, I'm making things that I actually want to use and they don't exist yet and they would make my life better/easier/whatever. Sometimes I show others and they like them because if I want something made generally there are others that want something like that as well. But sometimes I don't release them as well. But I find that to keep me motivated.
jlarocco 3 days ago 0 replies      
The first question you should ask is, if you can't keep motivated, why are you doing it?

For me, side projects are things I do because I'm interested in them and have free time to invest. If I don't, I don't work on the project, and it's no big deal. Yeah, sometimes I'd love to have more time, but oh well.

It'd be different if I made money off of them, but I don't. To me, that would make it a job, and not a side project.

vayarajesh 3 days ago 0 replies      
I have too faced demotivation when it comes to side-projects. Until recently (64 days to be exact) I have started spending my morning's first 3 hours on my side projects.. and these side projects are not to make any extra pocket money.. but just that it is interesting and I get excited to learn something new while doing something which is interesting.

I get motivated even more seeing the github streak (github.com/rajeshvaya) and it a very small measure which helps me going as well.. everyday for past 64 days I have made sure I spend my first 3 hours of my morning time (even on weekends.. I make sure I get up early)

after you get this initial start it is kind of self-motivating which will keep you moving forward.

What i think is just 2 important things to get this:

1. Work on the projects which interest you and not because other people think its cool or just to make little amount of money

2. Try to spend first few hours of morning on your side project rather than ad-hoc amount of time and different time-span of day. Keep it regular, same time just like gym

poseid 2 days ago 0 replies      
I worked on a book about Node.js and Backbone.js last year as a side project. Keeping motivation is easier if you have some rythm. For the book, I wrote mostly on Friday evening and Saturday/Sunday mornings. From publication to first sales, it took much time. So, in that time, I was missing mostly feedback, what others think about my project. For my new sideproejct, a meetup group about Arduino, I find it great to have regular feedback from a "known" audience.
xanderstrike 3 days ago 0 replies      
Ship quick and get users. My passion project [1] started as a weekend endeavor, I started hosting it on campus at school immediately and the users began rolling in. Now it's got an install base of about 5 that I know of and a userbase in the hundreds (it's popular with the VPN and darknet crowds). Having other people besides me who care about the project is the sole thing that has kept me interested and pushing. Just make sure to sell your project hard to your friends and family, and make sure that you never stop being a user.

For things that are fun to make but nobody would want to use, beats me. Those things I usually play with until I run out of steam, at which point I figure I've learned what I'm going to learn from them and move on.

1. https://github.com/XanderStrike/caketop-theater

robot 3 days ago 0 replies      
The greatest motivator is to think about the end result. This applies to other will-power consuming objectives like losing weight.

You should think about what you will achieve in the end. Especially if the side project is one that you can make use of yourself, the effect is even bigger since you will have immediate benefits from the outcome.

gcz92 3 days ago 0 replies      
Talk to people about it. Get continuous feedback. I find that by discussing it with friends or family I get re-energized
kevinold 3 days ago 0 replies      
I'm currently reading "Mini Habits: Smaller Habits, Bigger Results" and have to say it's could work for me. I've battled with starting/stopping side projects. This book presents an interesting argument in that willpower and making "stupid simple" tasks that you do every day (his example is one pushup) is the key to building a habit since repetition is what is necessary to build a true habit.


zeeshanm 3 days ago 1 reply      
Do as little work as possible. And deploy as much as possible.
balloob 3 days ago 0 replies      
Work on something you like. Don't care about money or fame.

Use your side project as your playground to learn new things by doing mini projects within your side project:

- Want to learn about testing? Add test coverage. - Want to learn about webcomponents? Find a way to integrate it.

You don't have to finish all the mini projects. Dropping something is fine, you still have the experience and knowledge!

What really helped for me in keeping steam is publishing the source of my side projects on GitHub. The idea that someone else uses your code is very satisfying. Once some traction comes, the pull requests and issues start coming in and it gets even more fun.

And when you get bored? No problem, just switch to a different side project or think of a new mini project.

tfb 3 days ago 0 replies      
The best kinds of side projects are the fun ones. When you really enjoy working on something, you really don't need to "stay motivated".

I love to code and I love to build things, and I would lose my sanity if there was only one thing I ever worked on. Plus, one of the best things about side projects is that there's usually no pressure to really get it done, so when I load my workspace for a side project, I'm always excited to get started, because I know nothing really important depends on it. And unsurprisingly, I've learned so much from random fun stuff on the side that I would never have learned otherwise.

ryanmk 3 days ago 1 reply      
I use Beeminder.com to stay motivated. They have githun integration, which helps.
chipsy 3 days ago 0 replies      
Combine more projects into the same codebase. With games this is easy - make a "multicart" game that has more than one game in the same program.

Once that is done, you always have the whole portfolio of unfinished-yet-related things sitting there. If you can't work on any of them, you start a new one, but eventually you hit the point where you can see that you're just redoing an old one. You don't get stuck on overengineering it because the context of it is already as a small part of a whole. If one of them proves to be a really good idea and more deserving of attention, you chop it out of the original context.

swayvil 3 days ago 0 replies      
What keeps me going is the awareness that my project is worthwhile. It's got science fiction level worthwhileness. Ya, that sums up the motivation source right there.

I do it right. I take my time. Spend much time thinking about the next step. Draw and stuff. Spent like 12 years experimenting with different geometry games. Looking for the one that feels right.

I have this stack of project sketchbooks. Sometimes I look at the stack and think "I'm nuts".

The final climax seems close.

Sometimes I wish a bunch of enthusiastic highschool kids would take my project over, but not quite yet.

Also there's bucks in it. It's got material worth.

lholden 3 days ago 0 replies      
Oh... I also find that consistency to be very important. Rather than randomly using free time... Pick a day or two of the week and block out a bit of time for the project. This gives you a reason to not just procrastinate.
aberrant 3 days ago 0 replies      
It's good to always have a problem in mind from that side project. It might get a little tricky trying to balance that problem in your head with your day job problems, but doing so may help keep up the steam.
jbrooksuk 3 days ago 0 replies      
I build things that I need, so the act of me fulfilling that need is enough for me to carry on.

Unfortunately I don't always have enough time to push code every day, but that doesn't mean I can't answer emails, add items to Trello and be active in the Gitter chatroom etc.

For those interested, I'm currently working on Cachet, an open source replacement for StatusPage.io (https://github.com/cachethq/cachet)

Today I created a CrowdIn project for translating the language files into other languages :)

yamalight 3 days ago 0 replies      
Do interesting projects? If it's boring, I usually don't do it (unless it's some sort of educational project I picked to learn new tech, but those tend to be pretty short)
reboog711 3 days ago 0 replies      
I imagine the money this new crazy idea is gonna bring in; and how I'm going to use that 'windfall' to fund the new crazy idea I can't stop thinking about..

I have yet to have one of 'side' projects make me rich enough to fund my next side project, though... Really the side projects just keep me fresh and expose me to new technologies concepts in a way that I would not get from client work.

jmtame 3 days ago 0 replies      
I've recently started sending my todo lists to my friends and asked them to do the same. The progress I've made is substantial. Tasks I haven't finished in years were done in a week, and I finished significantly more work than I set out to do. One of my side projects which has been sitting idle for over a year will be finished this weekend.
sgold515 3 days ago 1 reply      
I have a Big Board in my room with my goals listed. It helps when you visually reinforce yourself.

Also I have a physical calendar in my room. I want to go to the gym 70% of days in the year so cross a day off each time I do cardio/lift. I stole this technique from Jerry Seinfeld who used it for writing jokes :)

dsl 3 days ago 0 replies      
I owe my career, and as a result my means and lifestyle to the Internet. In turn I like to do things to fix the Internet and make it better for everyone else.

It also helps me to work on things that I think really matter. For some people that is building an easier to use templating engine. For me, it's building security and reliability.

joelrunyon 3 days ago 0 replies      
Find something interesting. If you find something interesting, you'll find a way to keep picking at them.
ThomPete 3 days ago 0 replies      
You prioritize it. If you don't want to prioritize it you are working on the wrong project.

It doesn't matter if it's two our daily or two days a month. If you are working on something you like you will prioritize it.

So don't be afraid to kill a project that you don't want to prioritize.

DennisP 3 days ago 1 reply      
I was having trouble staying motivated. Now I've quit my job and motivation magically appeared :)
yarrel 3 days ago 0 replies      
1. I stop working on them when they aren't fun, interesting or rewarding.

2. I structure them in sprints.

3. I have a clear life cycle for them (plan, implement, promote, evaluate) that feeds into 1 and 2 .

This means that it always feels possible and rewarding to work on projects. Hack your limbic system! ;-)

itake 3 days ago 0 replies      
Keep your side projects simple so you can get that dopamine reward with every launch/update.
gabemart 3 days ago 0 replies      
It obviously depends on the type of side project, but if you can find users, that can be a big motivator to keep on working. Getting emails from people who enjoy your work is very effective at motivating you to continue.
imkevinxu 3 days ago 0 replies      
I have 2 criteria for picking an idea I actually want to work on:- One is how many days consecutively am I still thinking about the idea without forcing myself- Second is even if no one uses it and everything about it's progress is shitty, will I still want to keep working on it?
cheng1 3 days ago 0 replies      
For me, it's desperation.

I have nothing else to do nor I'm likely to achieve anything else.

weka 3 days ago 0 replies      
I do things that truly I am passionate about. I don't work on side projects because it's "popular" or it's an easy dollar but because the topic they are concerning are ones I actually care about.
andersonmvd 3 days ago 0 replies      
Progress is the best motivator dude. Check out the power of small wins: https://hbr.org/2011/05/the-power-of-small-wins
ratsimihah 3 days ago 0 replies      
Do something relevant that you really want to do. That means don't pick a project because it's easy, but pick one that passionates you, no matter how hard.
benhamner 3 days ago 0 replies      
Set a goal of making a bit of progress every day. Even 10-15 minutes a day adds up over time, and it keeps you in the habit of making ongoing improvements.
Bahamut 3 days ago 0 replies      
In my free time, I mostly do whatever I feel like, so I experiment on random projects - I don't necessarily care whether I finish them, but I have fun and learn new things.
neaanopri 3 days ago 0 replies      
If I've invested a lot of time into something, then I feel invested in the project to go through some minor pain.

If i'm willing to endure major pain, it's no longer a side project.

aakilfernandes 3 days ago 0 replies      
Use a technology that you would like to learn instead of a technology you already know. If you lose motivation in the project, you at least have the motivation of learning a new skill.
dkopi 3 days ago 0 replies      
Get paid for them. Have a client that actually needs them.
pepon 3 days ago 0 replies      
For me it is more difficult how to stay motivated in your 8-5 work when you are building an awesome side project.
jokoon 3 days ago 0 replies      
I guess that when I want something better that doesn't exist, the only possibility is to just make it instead.
j_lev 3 days ago 3 replies      
Remind yourself of the alternative ie working in a company pumping out lines of code for the rest of your life for a salary.
bbody 3 days ago 0 replies      
I always choose something that I am really passionate about and try to limit how many side projects I have.
fak3r 3 days ago 0 replies      
"How do you stay motivated to work on side projects?" By going to work everyday.
kelukelugames 3 days ago 1 reply      
By not having kids.

Not over working at day job.

sagivo 3 days ago 0 replies      
It's a side project. You have to want it or choose another one.
Kenji 3 days ago 0 replies      
Coffee. Loads of coffee.
jonmrodriguez 3 days ago 0 replies      
Turned the side projects into a company.
briandear 3 days ago 0 replies      
Simple: I do my 'real' job and then I am reminded why I don't want to work for other people. That's insanely motivating. For example, if your boss has some project and design which which you disagree and you're powerless to improve it -- that's great motivation to do it the 'right' way on your own project. My side project work is often passive aggressive responses to my employers.
lotusko 3 days ago 0 replies      
by learning foreign language
gchokov 3 days ago 0 replies      
Basically two factors:

1) Money2) Fun

As simple as that :)

Mz 3 days ago 0 replies      
Maybe part of the problem is your framing: "pushing code."

My projects don't involve writing much code, but there are always different things I can be working on. I can be working on the visual look of the website. I can be working on firming up my definition of what the project is about. I can be working on talking to people and recruiting prospective audience members. Etc.

If pushing code is turning stale, what other thing can you do to further the project? Those other parts matter and you may be more able to address some other piece of it at some point where "pushing code" is the last thing you feel like doing.

bra-ket 3 days ago 0 replies      
find a buddy
Ask HN: What are your goals for 2015?
5 points by NickSarath  18 hours ago   5 comments top 5
bluerail 6 hours ago 0 replies      
I recently became a Programmer (thanks to HN) from a SysAdmin for more than 3 years with Corporates. Now that I am a programmer and that too in a Startup amidst knowledgeable minds first thing is to "Learn" a lot..

Not just programming, but the things that shape a programmer, business handling skills and etiquette and more.

And usual things like * learn a new language a month * build a app a month * code daily apart from regular job * read a book a month and more..

sjs382 4 hours ago 0 replies      
Get my first subscribers (launching in a few weeks).

Beyond that, create a business that allows me to work from anywhere and can sustain my current standard of living.

_RPM 17 hours ago 0 replies      
Still a student as well. I hope to get excellent grades in my classes this Spring. I hope to also land an internship for Summer 2015, so I'm not sitting around all summer doing nothing.

I've applied to about 6 places already and have optimized my resume.

ElectronCharge 16 hours ago 0 replies      
Primary: Survival.

Secondary: Vast opulence.

Tertiary: Interplanetary travel.

I hope you have a great year as well!

sideproject 7 hours ago 0 replies      
Become profitable!
What should I do with my Google Glass?
3 points by aadilrazvi  23 hours ago   4 comments top 4
DrewOnCampus 4 hours ago 0 replies      
My company, Augmate, is hiring Android developers that have a passion to drive the adoption of wearables in the workplace. Smart Eyewear is in the early stages of its lifecycle, and there are many companies working on evolving the hardware. We are working with large industrial partners/customers in providing their deskless workforce a frictionless experience with technology. We are pushing forward in developing software for wearable devices and if engineers have an interest in facilitating a future wearable workplace, we would love to speak to you.


anges244 7 hours ago 0 replies      
Keep them safely stored. It will be quite valuable at some point in the future.
ryannjean 20 hours ago 0 replies      
We actually just launched a platform for buying and selling personal tech devices, including wearables. It's a completely open marketplace so buyers and sellers determine the price on everything. Maybe throw up a classified and see what comes of it? https://www.bezilch.com/ Good luck!
striking 23 hours ago 0 replies      
eBay's pretty useful for stuff like that. You might make an easy $1k if you still have everything that came with it. I don't think you can do anything besides sell it at this point, unfortunately. I think it's cool, just not cool enough to be worth a huge pile of money.
Ask HN: How to use small chunks of time productively
105 points by AndrewKemendo  3 days ago   54 comments top 21
drewcrawford 2 days ago 7 replies      
The best algorithm for interruptions I know is the one that computers use: the journaling filesystem [0].

The way it works is simple. When you want to do a disk operation, first, you write down in a special place (called a journal) what you are going to do, at a high level. "I'm going to delete this directory and all its files." Then, you go through the steps of actually doing that. Finally, you record in your journal that's what you did.

Now when power is interrupted during a disk operation you simply look at the journal and you can complete any operations that were in-flight at the time of the interruption. For example if the journal says "Delete X folder" and you see it still exists, now you can pick up where you left off.

The application to interruptible programming is straightforward. I have an actual paper journal and I will in a few words explain a task to the journal before I begin. Often I end up with a hierarchical journal, like

    get the unit tests to pass        the unit test doesn't pass on OSX because postgres isn't running            start postgres        the unit test doesn't pass on Linux because the postgres credentials are wrong            refactor postgres credentials to work right on both platforms        one particular Linux machine still doesn't work            Is it 32-bit related?                No            Are we using the same compiler on that machine?
The overhead of recording this information is microscopic, and the benefit of returning from every interruption to a page or so of context is awesome. It's almost better to be interrupted now, because I come back to a clearly defined problem, as opposed to starting on "blank slate" items with no direction.

As a side benefit, I now write really good commit messages, because I just write what my journal says I did. Which is quite a lot more detail than it was when I was trying to remember things after the fact.

[0] http://en.wikipedia.org/wiki/Journaling_file_system

japhyr 3 days ago 3 replies      
My kid will turn 4 this spring, so I've been dealing with fragmented time constantly for the past few years. It's been frustrating at times because I have tremendous mental energy, but can't get much done because I can rarely get more than 20-30 minutes of uninterrupted time. I've done a few things to make effective use of the time I have:

- Learn to manage workspaces efficiently on my OS. I can't afford to open all the files for a project and get significant work done, so I keep more projects open at a time. I went from typically using 4 workspaces before I had a kid, to consistently using 12 workspaces these days. It's nice to have 3-4 projects open, spread across 2-3 workspaces each.

- Documentation of my own projects. I keep a text file for each project, with notes about what's been working, where I'm getting stuck, and which resources are helpful. I've used more complicated tools at times such as issue trackers, but simple text files with names such as notes, next, and mental_dump still offer the least friction for recording the little notes that make it easier to pick up wherever I end up having to leave off when I get interrupted.

- Recognizing my mental state, and what I can get done in any given block of time. Sometimes that's moving a project forward, sometimes that's catching up on HN, sometimes it's reading a technical article I've kept open for a while. Sometimes it's recognizing I shouldn't try to get anything done, and I should sit and stretch instead.

I find that I'm using each of these strategies in my day job as well. I've got to go serve some porridge now, but those are a few things I've come up with.

bikamonki 2 days ago 0 replies      
I tried similar approaches to the ones commented here but in the end none worked: delivery took longer plus quality suffered. I am not aware of your unforeseen circumstances but for me the solution was to plan the whole week and if I'm programming that's it, no interruptions except emergencies. I feel fine if I lose a day or a day an a half to 'unproductive tasks' if the rest of the week I was commiting like a maniac. I learned that 99% of emails, calls and IMs can wait for hours and that's fine; in fact, some communications expire if left unanswered for a few hours, no need to answer at all. After planning for weeks I learned to plan for months. I now know that I can do one big project every 4-6 mos and one small one ever 3-4 wks. The rest of my recipe is discipline, which I completely lack, so every now and then I need to reset the process. Normally the big projects are paying the bills while the small ones are what I call R&D (product ideas). Don't let one of those 'super good ideas' interrupt a work in progress until you've completed an MVP ready for testing/first couple of customers. Finally: if feasible hire help.
bonobo3000 3 days ago 0 replies      
Essentially you want to make context switching into a task as easy as possible. Some ways to do that are:

. Maintain a list of tasks you can work on, and make it good enough that you can blindly pick one up and start working after a switch.

. Saving context via documentation/text/workspaces as japhyr mentioned helps me a lot. Whenever i come across an issue that i cant handle at that time, i throw it in a text file. At the end of a session, i organize the list. When i come back to task X, i just look at the list and start working on it. Just going through the list, seeing what I did and what remains is the fastest way ive found to warm up and get back in the flow of a project.

. Optimize your workflow. With a tiny chunk of time like this, 5 minutes setting up a workspace or even re-reading an article is too much. So save as much of the workspace as possible, take notes on how article X applies to your project.

palesz 2 days ago 1 reply      
For me what works the best:Start early in the morning, before the sun and everyone else rises, this will give ~2 hours of time in a single block, the rest of the day is there just for interruptions and small tasks.
mooreds 2 days ago 2 replies      
Focus and timeboxing are your new best buddies.

I would keep a task list of short tasks. Use a spreadsheet or text file.

If you come up with something else to explore that you'd typically dive into, don't. Instead, just record it on a separate part of your task list for future investigation.

Realize that you can do a lot with 5 or 10 30 minute segments, especially if you focus on the right tasks.

Set a timer, if possible, and take the last 3 minutes to leave yourself some context (in the bug tracker if you are fixing a bug, at the end of a document if you are writing something, etc).

Put on headphones for the 20-30 minutes you do have.

Postpone any really deep thinking until after 8.

zackmorris 2 days ago 0 replies      
One thing that works for me is the beer test. If the task is something that you could do after having one beer, then it won't present a problem if you do it while getting constantly interrupted. Multitasking debilitates focused concentration at least as much as intoxication, which is why most people can't text while driving etc.

If you find that the entirety of your to-do list is made up of things that couldnt be done after a beer, then you are going to be unproductive in your work environment. Focus on eliminating the interruption. You may have to hack together a solution that people who dont spend long periods deep in thought will understand.

For example, wearing earbuds even if no music is playing, randomly shutting your door, making an emergency script that opens MS Excel when someone walks in so it looks like you were working rather than wandering Wikipedia so your subconscious mind could solve a problem, writing a description of something you are working on at the same time every day on your office calendar so that people will subconsciously not bother you during that time, and speaking at half speed when people ask you a question so that they jump to conclusions about what you might be thinking and reprimand themselves for not being more prepared before they come to you.

Basically it comes down to the liberal use of improvisation of your work environment isnt structured in a rational or logical way. I faced the same problem at a tech support job I had that demanded 3-8 computer repairs a day but didnt delegate phone or front desk support to employees on a rotating schedule. The level of stress was at least 3 times higher than it needed to be, which is why I inevitably burned out and quit.

redmattred 2 days ago 0 replies      
Ruthlessly prioritize and learn to say no. As a PM, it's very easy to have your time eaten up by unimportant but seemingly urgent activities. Keep and prioritize a backlog not just for your team, but for yourself as well.
garysieling 2 days ago 0 replies      
I make lists of things that need to be done during the day when I start - usually 3-10 things, and a list of things that might be deferred, which makes it easier to make sure I return to the right things when I get interrupted.

If someone comes to talk to me, I write down any actions that come out of the conversation immediately, so I don't lose track of them, and try not to promise to resolve them immediately - that adds to the above list, so things naturally rotate in and out over time.

I like to take half hour walks to think - that helps ensure that I'm really working on the right things on a longer timescale, even though I get distracted on details at times.

With code, interruptions have forced me to think in terms of breaking work up into small, atomic commits. It makes it harder to do larger design/refactoring exercises, but it forces you to get better at splitting work up.

With smaller tasks, I tend to make a lot of tickets to track what needs to be done over larger timespans, which conveniently makes it easier to delegate.

samatman 2 days ago 0 replies      
Following good code practices makes this easier. First chunk, write a few paragraphs about the purpose of a module. Second chunk, mock out a few functions with control flow and prints. Third chunk, write some input and a test, fourth chunk, implement the top function, and so on.

Each piece leads to the next, and passes on the context needed to get back on task. Which is exactly what we should be doing anyway.

jcrites 2 days ago 0 replies      
I'd recommend investigating and trying the Pomodoro Technique. I shared a bit more about it in another comment [2]. Ebook describing how it works [1].

It's a mental framework to help a person drive their interruptions to zero, in order to work with full concentration on a single task; and to take full advantage of blocks of time as small as 30 minutes. It's especially helpful for combating internal distractions, such as a tendency to spontaneously or unconsciously switch away from work to web browsing or email. It helps one become consciously aware of such interruptions and their impact on effective time worked.

[1] http://baomee.info/pdf/technique/1.pdf

[2] https://news.ycombinator.com/item?id=8804552

franzpeterfolz 2 days ago 0 replies      
Don't start working on things you can't finish! Seriously. If tools are missing or requirements are not well defined or other people you depend on have not delivered now, than simply don't start.

This approach can reduce your work in progress tremendously. The benefit is, that it becomes easier to choose from your open tasks.

When everything you need for your work is ready, you can finish your tasks. Otherwise you start working and interrupt yourself because you have to wait for others.

Making assumptions on not not well defined requirements may lead you to work which will be discarded upon wrong assumptions.

And last but not least:

Work on things that matter.

Follow those things and I promise you that the disruptions will disapear.

pa5tabear 2 days ago 0 replies      
Keep different lists for tasks requiring different levels of focus and/or prep.

My job has a mix of rote work and analytical work so I try to switch between them to maximize my focused time without fatiguing too much.

spooneybarger 3 days ago 2 replies      
When I have days (sometimes weeks) like that, I figure out everything I need to get done that can be done in 20-30 minute chunks (or broken down into them) then only work on those things.
hardwaresofton 3 days ago 1 reply      
Maybe keep a list of short <30 minute tasks? It's kind of impossible to work deeply on a subject when you know you're going to context switch 30 minutes later. The only way to get something done in that time frame seems to just do something that you can finish in that time frame.
kephra 2 days ago 0 replies      
Shut off your phone for this half hour, leave your laptop in the office or at home and take a walk. An other productive and healthy task one could do within half an hour is cooking. Or just sit back and relax. You need to work !LESS! not more.
bootload 2 days ago 0 replies      
"... I am wondering if anyone has any good ideas for how to be productive in those short windows. ..."

Simple timer (loud). Set for 30 minutes. Work like hell.

thaumaturgy 2 days ago 0 replies      
I've had the same problem for a while -- one of the down sides to running a business and being its sole software developer / sysadmin.

For software development specifically, you can change how you approach programming and find that it's possible to still make progress on software in 30 minute increments.

Practice thinking about your project throughout the day. Get the "big idea" stuff done while you're on the toilet, driving, taking a shower, getting lunch. Keeping the project "loaded" in your head helps to predict architectural issues, makes it easier to break the project down into smaller pieces, makes it easier to get started coding, and keeps you motivated to work on it.

Choose a list of small things that need to be done. Every project has them. Don't try to get the small thing done completely right the first time. For example, say my project needs to be able to read email headers. How should it go about that? (Think about that throughout the day.) It will need a function that reads a message and spits out the headers separate from the body. Write that, that's easy. Then it'll need a function that reads each line of the headers, and returns them as an array. Write that, that's easy. Then it'll need another function that takes each element of the headers array and splits them into label: value pairs. Write that, that's easy.

A nice side effect of this approach is that you end up with some very clean code. Each function does one thing, does it well, and its output feeds naturally into the input of the next function.

Build a library like this. If you only have 30 minutes at a time, your personal library of code is essential. Maintain and organize it. (That's another thing that can be done in 30 minute chunks.) Keep a notes file open in a tab in your IDE and do regular brain dumps to it. Write unit tests, or go back and do cleanup on a function that needs cleaning up.

Then, on a regular basis -- at least once a week, in my case -- retreat to a coffee shop or call up a buddy you have that's a writer, and set a "productivity day". The key is to get out of your regular environment and have another person with you. You each end up pushing the other to focus and be productive. Use this time to put all of your functions together, do some testing, and build scaffolding for the "big" parts of your project. My session about a week ago netted me almost 1,000 lines of added/deleted/modified code, according to Github.

It's a very different approach from the usual method of "sit down and bang it out for hours," but it works, and it helps to defeat all that mindset about flow that other programmers struggle with.

dgreensp 2 days ago 0 replies      
If you're sitting down to work and your brain is telling you that you can't get anything done in 20-30 minutes ("or, at least, nothing that constitutes meaningful progress" to quote my brain), one of two things is happening. 1) Your brain is totally, 100% lying through its teeth. This happens all the time and is the basis for procrastination. 2) Your brain is tired and telling the truth -- you don't have the mental resources to focus right now. This happens to me after about 60-90 minutes of concentration, and it takes 20-30 minutes of "lightening up" to recharge. (Note that these numbers are taken in the absence of major stressors like babies and in-laws. You may also need to eat, sleep, or perform some other kind of self-care to recharge.)

In case (1), it's fun to imagine that your brain is maliciously lying to you about the progress you'll be able to make, but it's more ignorance than malice. Get good at recognizing the real obstacles and talking yourself through them. Is there some key piece of understanding you're missing, or some design problem you couldn't solve in your head? When you have to go long periods during your day without access to your tools, you'll build up questions that you need the Internet, a computer, or pen and paper to answer. Remember what they are; don't just unconsciously make assumptions or treat these questions as unanswerable. Another mental blocker besides lack of understanding is worrying prematurely about the properties the finished product must have (it must be good, it must be well-written, it must look beautiful, it must be a complete treatment of the subject, etc.). Another blocker is stacking up tasks in your head so that one blocks another -- I don't want to do B until I've done A, but I don't have the mental energy (or other resource) to do A right now, but I should just force myself to, but I can't... These blockers will dissolve once you recognize them and look at them properly. If you feel any resistance to working on a task (whether it's a short, 20-minute task or a longer task to make progress on), immediately ask yourself why.

It's particularly frustrating, for example, if a 20-minute task is put in the front of your queue, ahead of your "real work" that constitutes "real progress." A bug pops up, or a configuration issue with your computer, or an urgent email, or a git conflict. You thought you'd have just enough time to implement and test feature X, which is just a one-line change, and now there's no chance. There's not much to do about these things except to recognize them, and to adjust your definition of "real work" and "real progress" to account for them. If you were going to use the time to dump ideas, code, or text from your head, dump notes into a text file for a couple minutes.

Don't get me wrong: the limits of 20-30 minute work blocks are real and not all in your head. You can go to far-off places when you have hours to immerse yourself in something, and in addition, just the knowledge that you have this time seems to unlock creative thinking. However, don't believe everything you hear about what's possible in 20-30 minute chunks either.

I'm writing about time management generically or from the point of view of a programmer, but it depends on the nature of the task. I've never worked closely with a PM, so I don't know what sorts of tasks we're talking about. 20 minutes sounds perfect for answering an email or two that doesn't require too much writing. When I have to write a longer email or a design doc, blog post, etc., I write in my head while doing other things and then dump it out, or I dictate into a voice recorder (which is valuable for getting ideas out whether or not I later listen to the recording).

I echo what others have said about keeping your work windows open on your computer, and keeping a log of ideas and what you're going to do next when you come back. Hope this helps.

Mz 2 days ago 1 reply      
One thing you can do is make your peace with the fact that it will take a couple of minutes or so to refocus. So assume that three 30 minute blocks of time are worth at least six minutes less than an uninterrupted 90 minute block of time. Yes, that's frustrating, but may not be as huge a loss as you think: You can still get about 84 minutes worth of work done. It adds up over time. Also, if those 30 minute blocks are in quick succession, it will take even less time to get back in the groove than if there are large interruptions that make you completely lose your train of thought and, thus, require you to reread things and so on in order to figure out where you were.

While I am on that topic, one way to be more productive when your focus is broken up is to find ways to track where you left off. If you do a lot of reading of dead leaf materials, book darts can mark the exact line you were on when you stopped, which can prevent you from scanning two pages to find where you were. Online, leaving things open at the place on the page you last scrolled to and similar. I try to open tabs I need to do something with later even if I can't get to it just yet so I will, at some point, check that tab and go "Oh, yeah. I need to do that thing." Otherwise, I may completely forget about doing that thing at all on that day. It may get ignored until the next day -- or the day after or whatever.

I also found it helpful at BigCo to make a spreadsheet and track certain things. Creating the spreadsheet took just a few minutes, updating it took a few seconds here and a few seconds there. The amount of stress and distraction from worry it saved me was worth many times the amount of time sunk into creating a simple tracking mechanism.

jseliger 2 days ago 0 replies      
Ask HN: Why are so many companies against remote engineers?
11 points by Blackthorn  1 day ago   10 comments top 7
retroafroman 1 day ago 0 replies      
In my opinion, and without going into too much detail, I feel like the reluctance of hiring remote workers comes down to not wanting to put in the effort to keep up communication. I.E. the managers don't want to have to bother emailing and calling versus just walking up and talking. A lot of this comes from poor project management.

I agree that a lot of the 'lack of engineers' is somewhat of a farce. If a company wanted to hire 20 people so bad they'd open a midwest office and hire 10 experienced people and 10 new grads from smaller universities and have the whole thing done in a couple months. Have people fly back and forth a couple times a year, get a couple good conference rooms with video conferencing and you're 90% as good as being there, just with a fraction of the cost.

For what it's worth, I suspect there are better opportunities to work remote outside of the start up world, and outside of the technology focused business world in general. I work for a smaller consulting company and about 1/3-1/2 of the 100 or so people (and the bulk of the consultants and PMs) are remote. Other companies in our industry seem similar.

auganov 17 hours ago 0 replies      
Hybrid is hard. Remote works best if the whole culture is built around it. I'd avoid companies that are not remote-only. Or at least remote-first (say 70% employees remote). If they're like "remote is okay too" - avoid. You'll just end up being a second class citizen. And I'm assuming a small/mid size startup.I'd ask at/before the interview what the remote environment is like.A good talk by Floyd (CEO@InfoQ) https://www.youtube.com/watch?v=c39SWfrGaiA .
MichaelCrawford 16 hours ago 0 replies      
I'm building a list of companies that do hire remote workers:


Most of my work since 1998 has been remote, however it is a great deal of work to find the gigs. While it is possible to be a remote employee, most remote work is for consultants.

JoeAltmaier 1 day ago 0 replies      
Remote workers are not much harder than local ones. But you have to have the tools. Most folks cobble something together out of Skype, GoToMeeting etc and end up in a world of pain.{Shameless plug} an integrated workgroup product like Sococo can make managing teams seamless. Its actually easier to conference online than to have mixed meetings of local workers and remote ones. Where I work we insist meetings go online so everybody can see who's talking and everybody can hear. Add in presentation sharing and even company meetings are simple.
blueatlas 1 day ago 1 reply      
Because a manager or team members don't know if a new employee is disciplined enough to work on their own. Without face time, there's no indication if the remote employee isn't getting it, because they won't say so, but their body language tells the story. And any decent company cares about culture, the people behind the work, and not just output. How do you create that culture without a co-located team?

You may have a better chance at starting out co-located, then requesting remote work to some degree.

Beached 1 day ago 1 reply      
A lot of times, the people complaining about no talent are NOT the people who have the authority to allow remote workers. Big companies are burdened with red tape, middle managers and HR that don't understand what they manage or are hiring for. Remote workers are harder to watch, harder to verify they are working all the hours they are getting paid for, and therefore you must extend a certain level of trust that big companies and bureaucracies are designed to function without.
Mz 20 hours ago 0 replies      
This discussion might interest you: https://news.ycombinator.com/item?id=8811019

tldr: one issue might be that some of the movers and shakers in SF are anti-remote work. That seems to help make it part of the culture.

But read it anyway, because maybe it will help you make progress on finding remote work.

Best of luck.

Ask HN: Recommendations for a VPN provider?
10 points by chabeligian  1 day ago   11 comments top 8
michellesamuel9 1 hour ago 0 replies      
Some of these services log what you are doing, but some even offer to not log anything that you do! So you are 100% hidden from the world via their servers. There are Top of VPNs, to find a decent one check out http://vpnwebsites.com/top-10-vpn-providers/.
atmosx 12 hours ago 0 replies      
I'm using torguard and must say I'm pretty happy with them. You can use your login/password for up to 5 computers, which is handy, the setup is fairly easy. I needed some advanced setup options but since they support OpenVPN everything worked great! Their support center is responsive + the guy a Greek Server which serves me well when I'm abroad.

On the security side they state that no logs are kept, security is paramount and so on. I've found this VPN provider through a torrentfreak post which was listing the top10 most secure VPN providers for 'torrent' downloading. I don't use it for downloading illegal material, but I guess most people do, hence I believe they (TorGuard) wouldn't really wanna know what their users are doing online. :-)


neue 1 day ago 2 replies      
I use Private Internet Access, it works incredibly well.


Their site really needs a redesign, though.

xoware 4 hours ago 0 replies      
shaunstevin7 5 hours ago 0 replies      
I would highly recommend PureVPN, it's awesome, it's easy to set up and i use PureVPN to watch Netflix, Hulu, Bbc iplayer and any other blocked websites outside of US.http://www.purevpn.com/
intopieces 1 day ago 1 reply      
VyprVPN from Golden Frog is an excellent choice, and their support is 24/7/365 if you have connection issues.
jpetersonmn 1 day ago 0 replies      
I've been using boxpn for a couple years now. Speeds are good, service reliable, etc...
demonshreder 1 day ago 0 replies      
Froot VPNhttps://www.frootvpn.com/

Once on Promo Bay.

Ask HN: Best Node.js hosters
8 points by oaksagelew  1 day ago   9 comments top 5
trcollinson 1 day ago 1 reply      
I am actually pretty surprised AWS isn't on your list. I would dare say they are the most competitive on price vs features of any service out there. They have a free tier for testing your app (handy while you're migrating to a new service). They have services like Elastic Beanstalk for deployment, management, and monitoring of services at no cost above and beyond the servers and storage you already utilize. And they have more services than you can shake a stick at. Their support is top notch. I have used them to host numerous apps, including Node.js apps, and I can't speak highly enough about them.
sprobertson 20 hours ago 0 replies      
I'd recommend either AWS or DigitalOcean. DO is a bit cheaper and easier to get started with (thanks to a real simple interface), while AWS has a bit more to offer in terms of non-hosting services (detailed monitoring, specialized storage and DB services, email services, etc.). Both have pretty extensive resources for getting started and good support.
hunterloftis 20 hours ago 1 reply      
I'm the Node platform owner at Heroku.

Great timing on reliability questions - I just finished writing an incident report for Node! All apps were up, but about 44% of deploys failed for 1 hour on the 18th this month. That's the only incident report I've had to do in the past six months:


Our support team is amazing; we have several node devs on the front lines and anything they're not sure about gets quickly escalated to me. One of my favorite things about Heroku is that all customers - paying or not - get real support from full-time staff with deep experience.

Heroku also works great with non-node apps, as you mentioned. We have hundreds of customers running PhantomJS and doing some pretty incredible things with it (like spinning up temporary dynos to walk their content and pre-generate server-side data for client-rendered single-page apps). PHP, Java, Ruby, etc are all first-class and with official buildpacks - plus, since a buildpack is a simple bash script, you can write one for just about anything:


The biggest reason I see folks hacking on less solid services is price. I think we could do a better job of making clear just how far you can go, for how cheap, on Heroku (I didn't realize myself until I worked here). Unverified accounts can run 5 free apps... and verified accounts can run 100! Each app gets 750 free dyno hours each month (there's only 744 hours in a month), and each dyno can handle really amazing throughput with node. To test for yourself, you can write a 'hello world' app, add the free blitz:250 addon, and then slam the app with 250 concurrent users to see how it holds up with nearly a million requests an hour (hint: linear scale without a flinch). You get free rabbitmq, mongodb, postgres, redis, https, etc. All of Toyota Europe is run on node on Heroku, and they only use a couple of dynos per country.

Anyway, I'll end this novel with the conclusion I came to after seeing how the sausage is made: Heroku grows with you. It starts free and becomes cheap once you're pulling non-trivial traffic, and it surpasses everything else in terms of app (vs ops) focus. If you'd like to learn more, I'm happy to nerd out.


matthewjames 1 day ago 1 reply      
In my experience, I would highly recommend Digital Ocean. Their experience is boiled down to what matters to dev's: simplicity and speed in setup. You can get started with a Droplet (what they call a dedicated virtual) for as low as 5$ a month for 512mb ram.

Go check them out and let us know what you think!


osipov 1 day ago 0 replies      
Check out IBM Bluemix.
Ask HN: I'm 18, broke, and inexperienced. What do I do?
40 points by jessehorne  2 days ago   108 comments top 40
ChuckMcM 2 days ago 1 reply      
"... and don't assume I can't take commitment because of dropping out of highschool ... nothing is worth feeding that monster."

There is a tremendous depth in that particular rabbit hole. Your success (or lack thereof) in life will depend on you understanding how you got to this point (18, broke, and not even the Army will take you) and at the same time did not do the minimum needed (figure out how to finish high school). The advice here is that navigating life is like swimming, there really isn't any "right" way to do it, however there are ways to do it such that you end up drowning. Understanding that has to come from inside of you.

If you need cash now, I suggest you help older people with their Internet. There are a bazillion of them, they don't know an SSID from a SSN, and they want to be able to participate in the tech heavy world around them. Join a church, visit the Rotary club, walk door to door, or just set up a table at a nursing home (with permission of the home of course) offering "free help with your smart phone, tips appreciated". It won't be rolling in dough but it can keep you off the street and fed.

If you can, visualize what you want to be, and then work backward from there to see what you need to do today to get there. Good luck.

lrvick 2 days ago 1 reply      
When I was 18 I had already dropped out of college, was homeless and in pretty poor shape. I had to live "fake it till you make it". None of my clients needed to know I was programming their web applications from a library computer at a college campus that I only was able to use by logging in with random strangers student ID numbers.

I worked my ass off to build software enginnering experience taking on challenges for little to no pay. That alone didnt keep me fed all the time while I was learning to market myself (and gaining more skills to market).

I did everything from working many day-labor jobs (manpower, laborready, etc), factory work, tractor sales, retail, telemarketing, street preforming, teaching old people to use the internet, etc.

It was a long road but over time I began to get the occasional programming gig for clients in way over their heads with money to burn. Allowed me to build confidence, income, and vital experience. I made sure I earned my keep and got referrals.

So far I have started 5 companies, worked for/with countless others, tackled hundreds of fun projects, learned a lot of tough/valuable lessons, and built a network of incredible people. I am now working as a software engineer at an amazing startup and I love my job.

TLDR If someone like me can make it, anyone can. Just gotta work for it and learn how to leverage the resources around you.

Also... ignore the people saying you can't make it without a degree. Many of my friends employed at major tech firms don't have anything but hard earned experience. No one worth working for has degrees as a manditory prereq. Obtaining a degree or two may well be the easier/sane path for most, but certainly not the only one. My path was at least debt free and came with experience I would not trade for anything.

Feel free email me (google for it) or hit me up via http://hashbang.sh . Lot of very successful mentors there that love helping people like you.

morgante 2 days ago 1 reply      
Why have your freelancing gigs not paid off?

I regularly hire development contractors and the two failure modalities I see most often are:

1. Failure to communicate/organize/deliver on time. This is particularly pronounced amongst younger developers who frequently end up losing focus midway through a project and "go dark." The #1 way to avoid this is to set expectations, meet those expectations, and communicate along the way. Given your educational background, this is probably the biggest hurdle you have to overcome.

2. Inadequate assessment of abilities. Unfortunately many younger developers think they're a lot better than they are so they try to tackle super-challenging projects. If you're young and inexperienced, start with the easy stuff (ie. basic CRUD apps for boring businesses). Probably the best way to improve is to latch on to a popular open source project and find a mentor in that community who can teach you best practices around design patterns, testing, etc.

Finally, I'd suggest that you work a bit on your personal marketing. Don't focus on your age or that you're "hungry." Fake it till you make it. Also, put a clear list of skills (with demonstrative projects linked) right up front. (I'm only 21, but you wouldn't know that from the front page of my website.)

SixSigma 2 days ago 1 reply      
In Australia when hitch hiking, if you aren't walking you won't get picked up because obviously you don't really want to get there.

Pick fruit, cut grass, clean pools.

ripitrust 2 days ago 1 reply      
Almost everyone is broke and inexperienced at age 18 man, the point is whether you are still broke and inexperienced when you are 28 or 38.

Living in abundance at young age sometimes stops people from carefully thinking what in their life is important

It is really great that you have figure out your future path I think you really should continue learn and practise, you may not necessarily need to work for some established companies, there are tons of open source project that you could take a look.

I wish I can figure out my path when I was 18 man, good luck.

EdSharkey 2 days ago 1 reply      
Can you mooch off the parentals and live at home? You can be on their health care plan until you turn 26.

I don't like to make rushed decisions when it comes to money or health. If you're having trouble getting a job as a developer, consider that you have made a huge mistake in dropping out of high school and employers are not going to take a risk on you even if you are a true talent.

Anyhow, if you can go home, I think you should. If you opt to get your GED, that's good for your personal development but not much else. Most employers are going to be leery of you in any case since you couldn't keep it together enough to finish HS.

Aging into your 20's will help, and if you're any good, you'll get enough freelance jobs or contractor jobs that you'll make up for your past mistakes on your resume and can try out for full time positions at companies you like.

I am also not keen on the idea of working for free anywhere as an intern for future promises of employment or purely for experience, especially with your history. Don't let yourself get exploited.

Get some sleep.

jacquesm 2 days ago 1 reply      
Try to get an internship with a company that builds stuff with/in the languages where you already have a bit of knowledge. That should get you paired up with someone with some gray hair and a few battle scars which will allow you to learn faster than what you can do on your own.
fencepost 2 days ago 2 replies      
Don't focus entirely on programming.

Find small IT services firms in your area, call them, and ask if they're looking for people. I guarantee you're at least 2 steps above who they normally get, and depending on their size and customer base you may be able to get good local freelance development projects and references while helping them keep their customers happy. You may also get a variety of experience with both business needs and end users that may be very valuable to you later. You'll also help with things that seem incredibly simple to you like basic spreadsheet or macro stuff - something you'll spend 15 minutes on that will literally save a business staffer or manager days of error-prone tweaking by hand.

thro1237 2 days ago 1 reply      
Get a four year college degree in Computer Science or related field. If it is too expensive to do it in the US, try to move to another country where it is cheaper with reasonable quality. I believe you are a decent programmer -- but it is very difficult to go past the HR screens of many companies without that degree. You might have ideological disagreements with the way the world works, but as you grow older, unless you are extremely luck or brilliant or both, this hurdle will stare at your face too many times. And being in college will also give you time to hone up your real skills.
maerF0x0 2 days ago 1 reply      
I worked a limited time job on odesk for about minimum wage for about 20 hours to get a 5* rating from an employer. Then I did the same at minimum wage x1.25 , rinse and repeat until you are making about $40 an hour. I always told my contracts, "I bill for every minute, but you can fire me at anytime if you're unhappy". Unfortunately there isnt really a market for much higher on odesk and then you'll start to have to look for contracts elsewhere. But in lots of the country $40 is tons.
wallflower 2 days ago 0 replies      
The number one rule of freelancing that you must never break:

The more you slip in showing the client something/anything, the higher the expectations of the client will grow.

For example, 'oh it will take about 2 weeks to get X done'. If you get to two weeks later and you're like 'sorry, taking longer than usual', the client's expectations will be start to boil up as a function of their trust being tested (corollary - when someone vouches for you as a freelancer, you will destroy their trust if you don't deliver and the client comes back to them).

Show progress/wireframes/communicate progress in a non-condescending manner. One extreme is no communication at all, the other extreme is participation in daily progress meetings with the client. Slant towards more communication, as miscommunication is at the root of most freelancing evil.

ecma 2 days ago 1 reply      
I hope I'm not going to be the only wet blanket here but I think you need to seriously consider your options outside of software, at least in the short term. Your story makes it sound like you're in serious need of some income and/or support and you need to take care of your basic needs before you have the flexibility to do what you're passionate about full time. I hope I interpreted your situation right because this is a worrying position to hear about.

Your dismissal of the education system is a little sad too but as a non-American, I'm not in a position to judge the situation. Despite the bad rep education systems get, I think the benefits of formal education can't be understated. It's not just the skills you learn directly from courses but the critical analysis and other soft skills that you pick up which are often most valuable. I'm glad that you seem to have the interest to direct yourself toward new knowledge - that's just as valuable and not orthogonal to formal education.

I had a look at your Github and, IMHO, it's not something that would cause me to hire or partner with you. That is one person's random opinion on the Internet though so please don't take it as rude or disheartening. You are writing code and it is interesting, that's a great start especially for someone as young as yourself. Keep writing code when you can and I'm sure you'll end up doing something you love.

Good luck and I hope you get some good advice from this thread but remember that you should put your health and basic needs first. Passion and repositories usually aren't enough to pay the rent.

zaphar 2 days ago 3 replies      
First some encouragement. You can totally make it in this industry. I know because I've been in worse situations: http://jeremy.marzhillstudios.com/entries/From-Homeless-to-a... So here are two things to keep in mind.

1. You need to make money somehow. Worst case scenario you go to work at something like LaborReady or Manpower. It's exhausting work but if you show up and put in a little effort you'll always have work. For a little while I was on a request list for companies that used Labor Ready. It doesn't take much to stand out from the crowd there.

2. You need to get exposure. This can happen through Github, OSS projects, and your blog. But most important find your niche. Become an expert in something that there aren't many experts in. I got my first real job because I became expert at Perl at a time when there weren't many people claiming to be experts in Perl. It can be a language, Framework, technology stack, whatever. After you're first full time job though you will gain contacts and a network. You can then play that out into career growth.

Nothing is guaranteed but you have options.

nicolethenerd 2 days ago 1 reply      
Access Code seems like a perfect program for someone in your situation (basically a 9-month coding bootcamp for folks from underserved groups - it's in Queens, NY - I'm not sure whether you have to be from NYC to apply) http://www.c4q.nyc/accesscode

Does anyone know of any similar programs elsewhere in the country? (Looks like the OP is in Georgia)

gregthompsonjr 2 days ago 2 replies      
I think you should stop asking yourself whether you could fair as a developer. If you're broke, you need to make serious decisions very tactfully, very quickly.

Just apply. Stop hesitating. I sense way too much questioning from you regarding your own skill level and how you fair out there.

If you only have a month to come up with some income, you need to get a job doing construction, mowing lawns, etc. Just do something to eat while you apply for dev positions.

And keep populating your GitHub account. That never hurts.

And as immoral as it seems, DO NOT be afraid to lie a little. A lot of people here will dismiss the need for white lies in reaching most levels of success, even if that success is landing a dev position that pays 50k. Don't listen to those people. You need money and a place to grow -- you need to be just as relentless and dogged as your competition is. In America, that competition is a lot of kids who want green cards, a lot of kids who have degrees, and a lot of kids who have no heart when it comes down to grabbing opportunities. Don't overdo it. But it really won't hurt to say that you're a little better at what you do than you actually are. It wouldn't hurt to say you've built a few IRC bot clients a few years ago when you didn't (be prepared to explain how you did that on the spot, though).

Nothing about the wild teaches us that hunting is easy. Just because we're civilized animals, don't believe for one moment that it's not just as harsh in society when you're trying to eat as it is out in the wilderness.

Finally: It seems like you already know this, but just to reinforce this value: don't be ashamed to take a job that you'd normally considered beneath your skill set or potential. Ever.

Good luck, my man.

readme 2 days ago 0 replies      
So, you're not in college?

I know this will be a controversial suggestion, but I am offering it as someone who takes his own advice (I'm in the Army). This suggestion isn't for the faint of heart.

I would say if you're not a conscientious objector, you should go down and see an Air Force recruiter. They have a pretty good selection of technical jobs you could do.

Then you'd get out with the GI bill in a few years and they'd pay your rent the whole time you're in college. 36 months of tuition plus a salary stipend of an E-5 (sergeant).

Just something to mull over. The military does actually have some pretty cool mentally stimulating work, if you have the brain, which you obviously do.

noahlt 2 days ago 1 reply      
When I was 18 I knew Python, HTML/CSS, and a little bit of Django. I cold-emailed every Python shop in my city (San Diego) asking for an internship, met with a few of them, and ended up with a summer internship. It paid just above minimum wage and was only for the summer, but it was fantastic and I loved it. Some tips:

#1: An internship is probably easier to come by than a full-time position, since it's less of a risk for employers. You're still young enough that internships are appropriate; take advantage of that.

#2: You don't have to advertise the fact that you got a GED. Just list the years you were in high school, or don't list education at all. Even when I was still in school, I never put my GPA on a resume. As an interviewer now, I never even look at the education section.

#3: Write a good cover letter that summarizes some of the cool projects you've built, like LoveOS and Derplang. Be sure to explain _why_ they're cool.

josh_fyi 2 days ago 0 replies      
> I've came to the conclusion that I need to be useful to a company to expect any sort of investment of time/energy from them

That is true. But a little bit of "I'm God's gift to humanity" will go a long way. Try a little. (A little.)

I suggest going to meetups and namedropping your GitHub

> listed all that I've done on my GitHub, Linkedin

Do that! Unless there was some rubbishy work that doesn't enhance your market value, use your existing work to prove yourself.

Try going to meetups and namedropping your GitHub. Say enthusiastically: "Wow, I love the way WebWorkers fit into Angular JS. I put together a project on GitHub ... exciting stuff, take a look!" Getting back to my first point, no one minds a little arrogance so long as you have something to back it up!

mc_hammer 2 days ago 1 reply      
Try to contribute to 1 open source project, especially one someone can remember. At the same time focus your expertise into one area - something popular, like jquery or laravel or rails. Once you can say you are an expert at one thing and have some experience behind you (open source or other released project), you can get a job easily, for $20-40/hr.
ajdusiejdbd 2 days ago 1 reply      
Your too young to give up just yet. You need to get your GED or most companies won't hire you. Not because they have something against you, but as a manager you stick yor neck out a bit when you hire someone and if for some reason it didn't work out their boss might look at them like "wtf were you thinking, this dude didn't even have GED" and then question their own good judgement in the future. It's more about their own risk management then your abilities.

Go find any job you can get, most of my friends did best buy retail. Get your GED then do 1 year of community college taking intro CS classes. Do that and list out all your github stuff in a portfolio, then you will seem much more desirable and at least a defendable risk to take on.

pthreads 2 days ago 1 reply      
Why not get a night shift job as a concierge in some hotel or apartment building? All you have to do is sit at your desk for the most part. Utilize that time to learn new skills, find a software job, take some online classes, or contribute to open source software? Problem solved.
krat0sprakhar 2 days ago 1 reply      
I'd suggest picking up something popular and spending good amount of time in churning out projects. I see that you have Lua on your Github, but since you're desperately looking for work I would advice you to pick up ROR or Django (if you like web dev) or iOS / Android (which might be a good fit with your interest in games).

Lastly, I've heard good success stories of people who've been to dev bootcamps (such as Hacker School etc.) which excel in getting you competent enough for an entry level job in a tech company. A simple Google search would help you find a couple near your area. Save up for it and consider giving that a shot as well.

All the best!

blacksoil 2 days ago 2 replies      
On one of the comments you wrote, you said you're not in a financial situation that is life-threatening. I'd like to ask start from here. Would going to a community college be an option for you? I myself went to a 2-year community college then transferred to a 4-year university, majoring in computer science. It had helped me landing a job in one of the most well-known tech companies.

When I was in a community college, I was under the impression that it was not too hard to get some financial aid. Would it be possible for you to work part-time while studying?

Animats 2 days ago 1 reply      
See if you can take one course, in anything, at some community college. That advances you from "GED" to "some college", which is a huge advance in the resume.
zeeshanm 2 days ago 0 replies      
I looked over some of your stuff and I really think you are underestimating your skill sets. Experience is helpful but you can do so much without it, too. I think other people have great advice you should listen to.

Although you can do so much with your programming prowess, going to college would only help. See if you can get into community college. Spend an year or two there, work hard, make friends, and then transfer out to a better school.

jshen 2 days ago 1 reply      
What I see on your links is very promising, and there certainly are companies willing to hire entry level people. You'd definitely get a phone screen if your resume crossed my desk.

What you don't say is how you've looked for work and what happened. Do you apply and never get called back? Do you get interviews,but no offer? Are you willing to relocate or does it have to be remote work?

known 2 days ago 0 replies      
You're just 18. Don't despair. You've bright and prosperous future ahead.
shayanjm 2 days ago 0 replies      
Build cool things and don't focus on the income. If you need cash, get contract gigs to pay the bills. Gun.io is a great resource for that (I've only got a few years on you and I've made a pretty penny doing consulting work for the last few years).
alcipir 2 days ago 1 reply      
first of all, relax. I'd do anything to be a 18 years old programmer. Can't you get some help from your family? If you're really broke, that would at least cover your food expenses and such.

Otherwise, just keep looking and programming, you seem really passionate about it and started at a very young age (I begun programming when I was 22). If you really need some money, try anything that pays your rent/food/etc. and on the side keep looking for programming gigs.

I don't think it is a matter of luck, so I will just wish you a good night of sleep and a more relaxed mind.

Sorry about my english, lack of practice hurts that much.

_RPM 2 days ago 1 reply      
Anytime I see that someone does work in C, I automatically assume that they are above average. To even _want_ to program in C, means to me that you are passionate about programming. I know I am biased.
rab_oof 2 days ago 1 reply      
Read "steal this book" and don't get caught. (Ignore the militancy anarchist cookbook stuff and addresses which are mostly outdated... It's a practical urban survival guide overall. It's a pdf that's widely available.)

If you want a simple business model that works, sell t-shirts on a high pedestrian traffic area or tourist trap area (pier 39 sf). You may even clean people's car windows for tips and pay at gas stations if you ask the owner|manager & explain (many gas stations are independently owned.. Expect to have to visit 10-15 stations to get approval and be super sincere). It's generic hard work, but it's doable without skill or funding. Also sign up for TaskRabbit for more skilled jobs that could pay more. (See a pattern.. Try lots of things and hustle to get to higher paying gigs.). Btw playing up youth leads to money... Stay clean, shave, youthful attire and get a haircut if needed... You're the product if you offer a service. (Either look professional or super pathetic, in between leads to less cash.)

Some religious organizations will help you, others like most of those in Silicon Valley, only do happy-clappy and no social service volunteering as do others in poorer areas. In fact if you ever had to bet outright, don't bother begging from rich people, beg from lower/middle class areas.

If it's a super emergency in the US, apply for food stamps and general assistance at your local social services agency. They'll usually give it to you the same day in the form of an EBT card that works at Costco, grocery stores and pharmacies. It's a pittance, but it will keep you alive if you budget it very carefully. (Beware: massive fees at almost every ATM. Always get cash back at stores instead.) They may even throw in medical insurance if you're broke enough. (I was a teacher in a minority area and had to help emancipated students get food and get to school... I've seen almost everything. :( ). Rationalize going on the dole as a buffer that you will pay back through taxes many times over later, or to wealth and minimal taxes and let the middle class handle that.

Cut your expenses (don't eat out) and travel as least as possible. Maybe buy a cheapish van and live in it instead of paying rent. Cancel all those monthly Internet services (games, Netflix, Hulu, spotify), perhaps even phone service. Use coffee shops for power and data, maybe go Skype / google voice only. Cut luxury prepared foods too. Shelter, food and transportation (gas) are the actual necessities... Everthing else is a choice to rationalize excessive consumerism. (Stop smoking, drinking and latte habits if present... This is where most poor people hemorrhage money and may harm their health too. For blanks sake don't drink or do drugs but do get good sleep, your judgement (wits) needs to be perfect or one mistake on the street will kill you... You need to be making the best possible decisions as often as possible to bootstrap yourself back to where you want to be.)

Don't count on a startup for income... It's always a long shot / crapshoot and most stories are pure survivor bias hiding the work, pain and luck involved.

philip1209 2 days ago 1 reply      
Are you hosting your personal website on Fastly? That's $50/mo and it looks like you get almost no traffic! Switch to S3 (cheap) + Cloudflare (free version) and save like $49/mo.
itl12 2 days ago 1 reply      
Off the top of my head,(and I'm sure you will get better responses) you could trawl the PHP forums and pick up some simple work that you can bash out quickly? May be a way to make a few bucks.
kayhi 2 days ago 1 reply      
"Would I have a chance? I haven't listed all that I've done on my GitHub, Linkedin, and such, keep in mind."

Maybe do this?

jasondenizac 1 day ago 0 replies      
Forward your question to Peter Thiel
dec0dedab0de 2 days ago 0 replies      
apply for any technical job at a normal company, or any job at a technical company(as long as it is something you can actually do). Things are much easier once you are on the inside.
rubyfan 2 days ago 1 reply      
OMG what I wouldn't give to be an 18 year old programmer. The world is your oyster dude.

"I am a young software developer.

more coming soon..."

You're god damn right. Income? Who needs it? Do something awesome that you are passionate about. Everything else will flow from that.

lostghost 2 days ago 1 reply      
I'm the head of engineering for a growing company. I've been involved in development for about twenty years. I've hired a number of young inexperienced developers. I consider many of them to be the best hires I've ever made.

This is my advice to you.

1) Unless it's handed to you, don't focus on freelance. You're young and inexperienced. Even if you have the best of intentions, if you take on a solo project, you're not even going to be aware of the mistakes you're making, and rather than learning from them and improving, you will likely turn bad practices into bad habits. Right now you need to learn. You need to find a small team that you can join as an intern or Jr. Developer. You need to be in an environment where people around you can accelerate your education. Forget pride. Forget expectations. Embrace the ability to learn and grow by making professional mistakes in an environment where others will point out those mistakes and the team will carry much of your weight while you gain experience.

2) When networking and interviewing, don't sell yourself on what you know. In the grand scheme, you don't know much, and you can't win by competing on something that you lack. When I hire Jr. Developers, I don't really care what they know or, on the surface, what they've done. I'm not hiring them for experience or knowledge. I'm hiring them for their passion and their thirst for knowledge. I'm making a gamble that the investment that I make into that person is going to pay back 10 times. What matters to me is how willing that person is to admit their weaknesses and to jump at the opportunity to learn. Market yourself accordingly. Focus on networking through whatever local meetups you can find. Ask (or beg) experienced developers in your area to meet you for coffee so that you can pick their brain or ask advice. Always be inquisitive. Do personal projects to challenge yourself. Find the things at the very edge of your ability or comprehension, and challenge yourself to find what lays just beyond. Repeat.

3) Show that you're committed. Many people disagree with the traditional education system, especially in CS. But, the one thing that it shows is that if you commit yourself to something that you will see it through. That said, I don't have a CS degree and a rarely give a shit about a degree for anyone I'm hiring, but, you need to find some way to demonstrate that commitment. As I said, I'm going to invest heavily into you. The last thing in the world that I want is someone that three months in suddenly feels like they no longer care, or, worse yet, are now beyond the role.

4) On areas where you are knowledgeable, speak your mind. No one wants to hire a limp fish. When I invest in helping you to grow, I'm going to look to you to help the next young developer grow. That requires someone that is willing to stick up for what they think is the right way to do a thing. But, this specific piece of advice comes with two important caveats. First, don't boastfully preach on areas where you are not informed. It's called bull-shitting, and those around you will know. And second, however strongly you hold a belief, always remember that as we grow our beliefs will evolve. Don't close yourself off from different ideas or opinions.

One of the best developers that I ever hired broke down in the middle of a technical interview. We were hammering him about some somewhat advanced Javascript concepts and he couldn't provide answers. He was visibly upset and frustrated and clearly felt by the end of the interview that he wouldn't be hearing back from us. Before he left, he told me, "You know, I'm sorry that I got upset. I'm frustrated that I can't answer these questions. But most of all, I'm frustrated that I'm not at a place where I can learn to answer these questions." That was one of the most honest and impactful things I've heard from any candidate and I knew on the spot that he was the right hire. In the last three years that he's been on my team, he has gone from limited experience outside of HTML and Javascript, to production quality Ruby, Objective C, and Java development.

That's what I look for in an inexperienced developer.

gojomo 2 days ago 0 replies      
You don't mention where you are. Moving to where better opportunities exist is often beneficial not necessarily to a tech mecca, but perhaps still a city with a larger mix of tech, non-tech, and service firms.

If your career goal is software development, you can and should get relevant experience and a paycheck together. Only take an unrelated job (like the restaurants you mentioned) if that's the only way to stay fiscally/mentally healthy.

While you may be enough of a self-teacher and hustler to do a lot of remote/solo work to get by, at your career stage you really need to be working with a larger group of more-experienced people. (College-like programs are one way to achieve that, but interesting/competent/functional workplaces are, too.)

Your first, second, and third priority should be to be near and working-with people you can learn from. Research all such workplaces near you, and be willing to take any starting position someplace they're doing the kind of work you want to do. Any role can grow quickly once you're in the door.

Your age is less important than the fact you're "entry level" to the full-time workforce. Your lack of credentials can be largely offset by any prior work that shows promise, a good attitude, and acredible interest in filling any skills-gaps over time (with both on-job and off-job projects and education).

It's expected you'll learn on the job, you just want to send the signals that: (1) it won't be too long of a ramp-up before you're a net benefit to the employer; and (2) if a firm is patient with you, you're interested enough in their projects/business they'll have a chance of retaining you, when you're more-experienced.

Klinky 2 days ago 1 reply      
Get your resume spruced up. If you don't have actual work experience, create a list of personal projects and describe how you made them.

Put as much information on major job sites like Monster, SimplyHired, Indeed, Dice,etc.. It's boring and if you don't have much to list, disheartening, but likely you'll get some recruiters calling you to try to fit you into whatever job de jour they have cooking that day. At least having someone calling though with minor interest helps boost confidence.

Apply to small local companies, don't bother with huge organizations(e.g. power companies, healthcare). If there is a long drawn out application process on their website, avoid it. Ensure you include a cover letter and customize it to include something about the company, and why you'd be excited to work for them(e.g. you like their product, and can see how it could make a difference in the world).

Get your GED. I think you're giving a poor excuse for why you don't have it. There are tons of places to take the GED test. Get it at least scheduled and go.

Even if you don't want to go through the typical education process, jobs won't just land in your lap. You're likely going to have to work just as hard(or harder) driving yourself towards personal improvement, as you would going through college. It's also extremely easy to become apathetic and let your life slip away when your goals are ambiguous. You need to become a specialist. A ton of people in my area are looking for AngularJS programmers. This is probably one of the top requested things recruiters were asking for. To really become a specialist though, you'd probably need at least a few months dedicated to making serious applications with AngularJS. The market could also fall out from under you as well, and suddenly your specialist skill isn't what people need anymore.

If you really need money, look for extremely low end jobs that have nothing to do with programming/tech and try to expand your role as the "tech guy" once you get there. Even putting something on your resume like "assisted co-workers with technical problems" and a few stories involving your problem solving skills in the work environment may get you noticed.

Go to user groups or tech meets in the area. Try to find out what people are working on, and make them aware you're available. Maybe you can pick up odd jobs.

Ultimately, if you really cannot find work and you are passionate about programming, swallow your pride, get loans and go to school(community college, then university). Even if you end up with 50 - 60K debt, you WILL be able to pay it off with a professional software developer salary. It's probably one of the most worthwhile investments you could make in yourself. Just make sure you network while in school, look for internships, apply for campus tech jobs, and develop a hearty list of personal and school projects.

       cached 30 December 2014 21:05:03 GMT