sebi wrote:HikingStick wrote: Remember, however, that you chose to do most of this on your own. Many have volunteered their time and talents to help you over the years, but you've opted (to the best of my knowledge) to keep all the development work to yourself.
As an addition to my point earlier, I started a draft todo list for what I would need to do and have in place to accept external work, be it contractors / volunteers or employees, for developer positions. It is rough and incomplete, just a starting point, but I will paste it to better highlight how many things would need to be done just to start accepting external work. Bear in mind none of this is in place yet, and not for lack of wanting it, but again, for lack of time and resources:
Need to do on my end:
- code sanitization and security review to make sure access to private user data in not possible by external contributors with access to codebase
- security review for possible weaknesses in production environment access for external contributors with acces to codebase
- collaboration contracts, non-disclosure, legal documents
- documentation on code style, contributing best practices
- documentation on high level overview, and onboarding document. Best way to get started on getting familiar with the codebase.
- a code review process (and document best code review practices)
- a team task management process
Information to get from possible contributors / interviewees:
Please describe your history & experience with the following:
- security & performance best practices with server backend code
- ruby & the rails web framework, and their use in non - trivial projects (40+ kloc)
- background processing servers & job delegation best practices
- sql - and best practices of programatically generating complex filtering queries, database views
- sql - using explain to investigate performance bottlenecks
- javascript best practices for highly dynamic & custom U.I. components, mostly with server-side rendered UI updates
- experience with working & coordinating remotely, with no supervision or assistance
Additional questions:
- how many hours a week you estimate you would be available, and the approximate time of day you’d mostly be available (in CET) for occasional feature or implementation discussions.
That's exactly the level of thinking/planning I hope you are soon freed up to do.
I do believe you have an opportunity to start building a volunteer Deckbox community, just as the way you did with Mods. Think about how the open source community has been able to accept contributions from all over while pulling them together into a bigger project. I'm not doubting it will be difficult. I just want you to consider that investing more time into strategy and planning for a bigger development community will have more long term payoffs than you continuing to jump from fire to fire. Perhaps a periodic hold on all new releases and fixes (e.g., one week in eight, one month a quarter)?
I'm no coder, but I have other business skills. As I've often said (over many years), I am at your service. I'm just an email away.
[BTW--I'm an ITIL Expert, and I'd guess that others (developers) in this community are familiar with ITIL, too. You might be surprised to find out that many who are willing to help you are already very familiar with development and service management best practices.]
As to whether or not people would be available at specific times for deployments and discussions, I believe most coders interested enough to volunteer their skills will want to be available to make sure things come off well, or to exchange information when troubleshooting an issue. As to other discussions leading up to releases, forums like these are ideal. You can post a question to a team, and they can respond during their typical day. Managing teams across time zones can be a real challenge, but, again, there are those of us who would be willing to help (without needing to draw a salary).
Keep at it, Sebi! My main concern is that you are doing it largely by yourself. Not only does it leave all the weight on your shoulders, but it increases the likelihood that you will experience burnout. You are the heart of the site--without a doubt! I just don't want to see you experiencing heart failure due to situations like this one. Instead of being able to focus on development and growth, you are out here fighting fires in the thread that announced the latest and greatest features of this site. That one simple task--handing the backlash in the forums--is something that could be handed off to another user or team (provided they're up to speed as to your vision, goals, and objectives).
I'm sure it seems like a Catch-22: you don't have time to communicate because of the time you put into development, and you lose time to development when you are out here communicating. Childbirth only happens after passing through the pain.
Again, Sebi, you're a one-man show (no offense Laura and Catinca), and you've done a fine job this far. Just realize there are many of us out here who would be willing to help you. Do you know the Hebrew/Christian holy book? The story of the Exodus? Moses was leading the people, but when he met with his father-in-law, Jethro, he was chided for trying to do it all himself (hearing every dispute among the people himself). Jethro told Moses to divide the people into groups, and to establish leaders over those groups, so he would not have to handle every dispute. There may be some wisdom there for you to consider.
Keep up the good work, Sebi. I may not be around as much now as I once was, but I am still interested in your success. Keep at it!
Profile -
Wishlist -
TradelistBlack and Blue--not just for bruises anymore.