I recently took a position at (Bypass Mobile)[http://www.bypassmobile.com] (one of the tasks high on my to do list is to make that particular page better) and I must say, though I was a bit hesitant about "having a job", it's totally awesome. I started this past Thursday, and this weekend I woke up at 3am to frantically scribble down ideas and learn a bit about some things that I think are super important for us.
We have outstanding problems to solve, I have a great team to work with, and I think that very rapidly we can build something that will make a lot of people's jobs easier and dramatically increase the happiness of our customers and our customer's customers.
It's not (curing cancer)[http://www.doctoroz.com/videos/dr-mercolas-most-radical-alternative-cures], but improving happiness of humans in a scalable way is something I very much consider a noble use of my time.
Then standing when watching talks at conferences makes SO MUCH sense
I'm lucky enough to be attending SXSW interactive this year, and have been very inspired by a number of speakers.
I got to meet Tim Ferriss:
And saw Elon Musk, which was just so awesome. It's so amazing to share space with these heroes of mine.
In any case, I was running late to the 9:30 AM talks this morning (despite being up at 5:30 AM with Valia) and walked into a room that was PACKED. There were a few sit-on-the-floor spots left but I thought to myself, "If I work more efficiently standing up because my attention is more focused and I'm more engaged, then when I make a big time and money sacrifice to come somewhere and be exposed to a bunch of new ideas, then why wouldn't I also want my brain to be in the best condition?"
So I stood through that and several other presentations today and found it to be a very positive experience. I elected to sit in a couple of them that were in huge conference rooms so that I could be much closer to the speaker.
If the space is fairly small, then by all means stand. Make that decision to be acutely aware that you are there for a reason.
A nice side benefit is that if you decide that the talk will be uninteresting, leaving is so much easier.
Is Not A Good Reason To Not Test
Remember, your tests are the first outside "consumer" of your code, and if you can't test it, then probably nobody else will be able to use it. Rethink what you're building and why.
I'm certainly no expert, and learning WHAT NOT to test is one of the things that is speeding up my development dramatically.
Today I found a good article about things that Uncle Bob deems ok to not test.
I think that another thing about this is that you should'nt be afraid to delete tests. Tests are not sacred, and if they no longer reflect the requirements of the code in question and another test that you've written DOES, then just delete the old test.
SXSW Interactive is here and THAT is super pumpup. I got a badge this year so I can go get my learn on but have been so crazy/busy I haven't been able to get anything planned yet. I do know that there's a lot to learn and I want to go learn it.
So far, though, this year's SXSW has consisted of walking into a restaurant with 9 Facebook people last night and having that group grow to about 15 over the next hour as the staff looks on in horror. Awesome.
If there's anything I need to go to, let me know!
And AH HA! I found the post from Mar 5th - I had mistakenly marked it as 2012 so it was just way back in the stack. "How do you get to old posts?" you may be asking. "How do I leave comments, Justin?" you may also be asking. Well, this blog is a work in progress, so I haven't built either of those things yet. Oops.
Three years ago today I gathered with a group of close frineds and family and married my love, Irina. It's been a wonderful adventure, and only gets better each year. I'm so lucky.
So, everyone has something to say about remote working. And I'm a someone. And I need to say something in general, so I'll say it here and now (even though I kind of wrote about it while I was working in Mexico for 6 weeks early this year). Mostly because my friend Mark blogged about it, honestly.
Richard Branson my #emumarch subject has tweeted and blogged a couple of times about the issue and argues this:
We like to give people the freedom to work where they want, safe in the knowledge that they have the drive and expertise to perform excellently, whether they at their desk or in their kitchen. Yours truly has never worked out of an office, and never will.
I think that that is fantastic, and know that when I have freedom of producing when I am most productive, it tends to make me a better producer. But I also know that while leading my team at CabForward, sometimes it as SO FRUSTRATING not actually knowing when who is up to what. There are some things that I have found to be helpful (really, necessary) like daily standup meetings, telling my team that I ABSOLUTELY want them to be pushing daily (even if their branch is currently broken) so that I can know what's going on, etc, but it's such a question mark...
But I don't work better in one space, and so why would they? What to do?
Fundamentally I think that it's an issue of faith in your people - and the people that defend the Yahoo! decision to disallow remote work seem to be conceding (without really conceding) that the talent pool at Yahoo! has been sufficiently drained by years of whatever the hell Yahoo! has been doing since the 90's when they were relevant. So bad workers, bad managers, bad culture, means crappy output. Maybe a good way to fix this is by bringing everyone together. Maybe not. We'll see, maybe.
But trying to not suck is different from trying to be awesome, and I always want to be striving to be awesome.
What would I do if I had carte blanche to build and lead an engineering team?
I think that getting the team together in person at the start of a sprint to plan, discuss, and prioritize the sprint is critical. I would then do daily call-in standups for the next 8 working days, then get everyone together at the end of the sprint to hammer things out and celebrate our awesomeness.
Sadly, I'm quite used to seeing the following error message:
Called id for nil, which would mistakenly be 4
Of course it means that you thought you had an object where in reality you had nil. There are a number of workarounds for this - including the NullObject pattern, but generally it is a case of PEBKAC.
So imagine my surprise tonight when I saw this pop up in my browser window:
Called id for nil, which would mistakenly be 8
WHHHHYYYY? I was so comfortable in my little world of nil-equals-4! =D
Repetitive tests suck. Just like repetitive code sucks. Repetitive tests are a pain to maintain so are likely to get stale. I very clearly know that repetitive code is To Be Avoided (and tools like CodeClimate make repetitive code glaring to me), and so don't do it. However, I remember being SO PROUD of my first text editor extension (a Sublime Text 2 Snippet):