I quit my job. Today is Day 16
nevertryneverfail.com
nevertryneverfail.com
I really like your point about motivation.
I'm a freelancer and working from home, and I used to think that nutrition, physical activity etc has a lot to do with it. Yeah sure it does but recently I think at the end of the day, it's just about will power and deep, personal motivation. If you are not enjoying it, no diet will make you more motivated or energetic. It's about an ability to say firm 'no' to distractions. Especially the 'short' ones, because they never tend to be short [0].
Sometimes there is just shit that needs to be done. I mean ugly stuff, like code written by someone else and you have no idea how does it even work in first place or think that the the other programmer was drunk when coding it. Something that your mind says 'I didn't signed up for this shit!'. You just have to focus on it, and get it done. No 'just going to starbucks downstairs', or 'just a cigarette' will help.
Actually, I think one of the best indicator of maturity of software engineer is dealing with unpleasant tasks. Less mature developers try to delay it to the last minute (when bad comes to worse), or impulsively suggest re-writing everything from scratch, etc. Mature developers just get their shit together and get it done.
[0] Once I noticed that the biggest productivity killers are longer than 5min breaks because once you are away, it's so tempting to do one more thing, and then another. I blogged about it "It's all about the short breaks" http://blog.gedrap.me/blog/2014/02/09/its-all-about-the-shor...
That said, good diet, healthy social life, and exercise are of paramount importance to will power. The better balanced your life, the more will power you're going to have.
But it's also important to manage will power. When you're tired, just stop, take a break. Even leave things for tomorrow. You are likely just fooling yourself that you can still get stuff done and wouldn't you rather just take a proper break than spend the next hour or two shuffling your feet and getting neither rested nor getting work done?
As for short breaks -> Timers. Use timers. Seriously, use a timer.
Shameless plug, I've been working on a book about this stuff: http://nightowlsbook.com
>>> With the current market for engineers, if you aren't enjoying your work most of the time, you're doing something wrong and should probably find a more interesting project to work on. Fire yourself if you have to.
Yup, I'm starting a new job in 1.5 week, extremely excited :)
>>> Even leave things for tomorrow.
That is also very true, blogged about it too a while ago as well [0]. Trying to get something done for 3hrs can be replaced by 1hr burst next day, as long as 'tomorrow' doesn't become a procrastination. What is important is to make sure that you are actually having a break, your mind is totally away from work.
And yeah, I agree about the timers. I sometimes use a pomodoro timer app and trying to make it a habit, planning to make a physical arduino one. Some day :)
[0] "3. Take a break and don’t feel guilty about it" http://blog.gedrap.me/blog/2014/05/19/4-things-i-learned-the...
I've often found that impossible bugs that I struggle with for hours on end and just can't figure out no matter what I do, get solved in 10 minutes next morning.
Now how do I teach this to junior developers? I've worked on teams where juniors will frequently overwork themselves in an effort to "pay their dues" or whatnot, or just because they feel they should offset their lack of skill with stronger work ethics and I am fairly convinced it's counterproductive. But I can't seem to find words to explain this to them. Or maybe I'm wrong and the "leave it for tomorrow" only works when you've reached a certain level of skill.
These are the questions that keep me up at night.
Programming largely is creative, with some degree of standard and quite autopilot code. Creative work can't be produced by staring at a blinking cursor.
I agree with counter productivity, and I strongly agree with companies who approach this with 'just get it done, whenever you want'. Twitter certainly does so, Netflix I believe does.
>>> Or maybe I'm wrong and the "leave it for tomorrow" only works when you've reached a certain level of skill.
I think there is some skill involved, or more accurately, experience. The problems we are solving are often unique but still share something in common. After solving a bunch of them, you have a gut feeling when something's going right, and when you must to take a step back.
And it has to do with corporate people and managers, not everyone understands how programming works. Young developers are afraid to look lazy in front of their non-technical managers. It's often important just to appear working hard, e.g. reading HN in terminal ;)
I'll look into a better solution.
A lot of people pick up the habit without being taught it because of that.
Seems to be generating more annoyance than value.
I too will be working on my own ideas but I know after the honey moon is over I will have to face the fact that I have no paychecks coming every two weeks. It will be hard, but if success was easy, everyone will be doing just that.
Again good luck, and I do think freelanceinbox is a neat project.
"It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat."
[It's an awesome quote made even better by the role it had in a fantastic sporting/political event - involving rugby so therefore doubly awesome]
Tomorrow is my last day of dayjobbing. I'm committing full time to my startup. On saturday, I plan to sit down with my lawyer for re-incorporating and re-branding. I've had an LLC and an initial name I used for expenses and stuff, but I have a better name now and I want to start with a completely clean slate.
I have no idea where my mind is going to be in a month, or in six months (I'm giving myself six months of runway to have revenue at least trickling in). Euphoria and terror, all at once.
As a customer who's rooting for the success of Freelance Inbox, I want the subscription fee to stick around. Not to be an elitist, but by its nature, this type of service can only work if it's exclusive. (Too many freelancers, and the fierce competition makes the leads worthless.) Which is why I'm also pleased to see that Freelance Inbox will/does have a membership cap.
While I learned a lot of what you mention in your post (being a self-starter is a huge asset) at the time continuing work there seemed untenable. In retrospect, even though I was quitting into nothing and the next two months were some of the hardest times money-wise I've ever had to get through the decision was the best one I could have made.
I guess what I'm saying is congrats on taking control, which I think is more important then the vector of travel, I'm glad it's going well.
But for whatever it is worth -
I signed up to freelanceinbox to show my support.
Not sure how useful it would be since my niche is enterprise web applications but I am going to keep my subscription alive for at least a few months to see if anything converts.
I also promise to sign up for your pro community when you launch that.
If there is at least one lead that converts into a decent client every month, I'd be happy to pay 2-3x of what you are charging right now.
Good luck!
Curious to know what the experience is/was like and if you actually closed any meaningful business.