Yes, amazing. About to work on stats caching and that Ranges datatype will be suuuper useful for using ranges of timestamps when caching a stat every week, month, etc.
Noted, I was worried it would come off like that, my mistake. We're completely transparent with him and he appreciates the clarity into where he actually stands in terms of skill and what needs to be improved. To be clear, though, I meant those points to be more general; framing it around him as the example was the poor choice. I've worked with other devs with a similar level of experience and those are just things I see all the time
True. He's grown tremendously while he's been with us and its really not like we're wasting each others time. We constantly ask him to tell us when we're expecting too much and to set his pace / workload. Measured stress outside of your comfort zone is one of the best ways to learn IMO and I do a lot of work with him personally to get him up to speed.
We're a 5 person team at Ayalo (http://ayalo.co) with one junior dev; we've had trouble making it work so I'll share some reasons why:
- Lack of confidence in his deliverables. The worst is being told its done because it works on local and for small data sets (he's in charge of internal analytics) and then when we try it on production with a months worth of data it crashes.
- Having to constantly remind him of the 80-20 rule. 80% of effects are due to 20% of the functionality and having to guide him to focus on that 20%. You want to be able to leave a dev working for two days, even a week, without worrying that he's accidentally inflating the scope of something. More experienced devs have a better sense of the importance and time-scale of the things they're working on.
- He's often so overwhelmed with having to learn things he doesn't know, or debug things he doesn't fully understand, that he doesn't have time or energy to think about ways in which to improve the company or product outside of his job description.
- Junior devs often need constant check-ins because they're sometimes ashamed of having to ask. This happens no matter how many times you reinforce that asking questions is the only way to learn, its human nature to a certain extent.
My perspective, from a bootstrapped pre-seed post-launch startup, is that early on you want people that can drive forward with you, that can push you, not people you have to pull along with you. We've kept our junior dev because he's motivated, passionate, and has potential. But I'd be lying if I said he doesn't hinder our speed
I use Bitbucket too. Github doesn't provide free private repos last time I checked, needed for bootstrapped startup. The centralization vs. distribution+independent evolution debate is always an interesting one, though. I think you need high quality centralization at first then competition can be useful; Github set the bar, now lets see what everybody else can bring to the table
Disagree that its well-written. The rambling feel of it was kind of distracting from the point he was trying to make. The anectodes are kind of generic (sister, hawaii), I felt like they were just thrown in there as some kind of "proof"
Seeing promotions as your only form of career advancement is a little misleading. In management the only way you can increase your income/status is directly through your employer (or switching jobs). In programming, you're a builder. You can make templates, assets, etc. to sell. Your income increases can come from applying the skills you honed at work in the world around you
A site where you sign up for coffee / tea / lunch with a stranger in your workplaces area.
Context:
- I'm currently in Guatemala City and nobody talks here. A lot of people go to their office, bring their lunch, go home. You hang out with your high school / college buddies some evenings / weekends. I should know who works in the building next to mine.
- Haven't read the book but the concept of "Never Eat Alone" has been running through my head for a bit