You realize it is walmart right? There is no bad word association. Any company the size of walmart, regardless of how you feel about their core business, is likely doing some cool things with technology.
I switched from Linode to Digital Ocean a few weeks ago. It's mostly for personal sites and hobby projects, so cheaper is better and $20 vs $5 is a no brainer.
I've not had any issues, their support is great, performance has been great, no complaints. But obviously I'm not using it for anything critical...
The last time I tried to install it, it was a nightmare. This was a few years ago before they put helpful explanations of what different versions mean, so the first time I picked the wrong one. After installing it and realizing that I tried to get the right version but it wouldn't install. Some issue with the other version being installed, so I uninstalled the other version.
Only then I discovered you can't actually uninstall SQL Server. I mean, you can tell it to uninstall, it'll go through the motions and look like it uninstalled, but it won't actually uninstall. And you can't install another version until you uninstall the other version, which doesn't actually uninstall.
I think at this point I either had to go in and manually kill processes and delete files and registry entries, or I just reinstalled windows on my VM, I don't remember. I do remember it being a nightmare and once I got it working I vowed to never reformat or update again.
I really liked slack but in the end we went for hipchat for a two main reasons.
1. It's 25% of the cost (although that has now shifted). This may not be a big deal for small teams but if you want to have 100 users on either service, the difference is between $2,400 a year or $9,600 a year. That's a big difference.
2. Hipchat has a self hosted option in the works which should be available within a month or two (per them). This is essential for any company that deals with potential PHI on their IM systems. Slack says they plan to offer a self hosted option but it's a long way out.
Those are two things slack just couldn't overcome, beyond the fact that I generally liked slack better (it's prettier, much better message searching, better integrations, etc). The fact that hipchat also has voice chat is a big plus too though we've not found it reliable. Presumably at some point it will get better though and make it a more valuable feature.
Planet money also did a podcast on this and went into a bit of how the ACH system works (not from a development point of view). It's a very strange system and honestly the episode raised more questions than it answered but it seems there is a lot of secrecy behind how it all works. Also why it all works... The fact that it can take 3-5 business days to transfer money electronically between different banks in the same country is difficult to grasp, but they make an effort to explain why...
> Why would I ever want to start a million dollar business if I knew the majority of my earnings would be taken from me by the government to support people that didn't need to do anything??
Why do people start million dollar businesses now when they can work at McDonald's or work at a call center or or teach schools or be a policeman or or or...
It's almost like some people are naturally motivated to do certain things for reasons beyond just the desire to have food and a roof over their heads.
I don't understand why people think if you offer everyone, say, $20k a year to do nothing that nobody would ever want to work to achieve more, earn more, improve people's lives, etc. Sure some people would (especially people who currently live on minimum wage). But many would not be satisfied with such a minimal existence. And with nobody having to worry about surviving without a job, it also frees up many people to explore ideas they otherwise would never have had time for.
You guys need a little love on your page :) I've not heard of it before so I google it and get to what appears to be the home page, and am presented with a login box with zero info about what it is, or why I would want to register or log in in the first place. Plus 3 of the links in the header aren't linked to anything. Not the best first impression!
This is a big problem in the industry, in order to really be seen as a good candidate you have to make your work a second part time job so you have something to show off publicly. If you work for a private company with private software, you could still be really good but looking at your github profile, many will dismiss you right away.
Of course the flip side is, you can probably get by with minimal outside work. Do some code katas, have an up to date best practices simple app in github, etc. I think as long as you have something in github that looks good it will do the job, even if you're not working extra hours daily on open source projects.
pssssh I had $66k in cash and a $33 million valuation by basically randomly clicking and assigning things and never changing my price. Also accepting every popup offer that came along.
> Which makes me question Uncle Bobisms, because it reeks of lack of practical experience.
The thing people need to realize is that these two come from very very different worlds. Sure, Uncle Bob may pale in experience compared to DHH when it comes to agile rapid development of simple opinionated SaaS apps, however he has a world of experience in handling large enterprise application development.
I think this leads to their different take on the issue here, because how software is developed in these two different environments is very different. Which is why I tend to think what DHH advocates works very well for what DHH does, and what Uncle Bob advocates works very well fro what Uncle Bob does.
The lack of understanding that different people, projects, languages, frameworks, companies, etc may require different strategies, tools and techniques is what frustrates me about this whole argument more than anything. I suspect most of us developers lie in the middle ground between this extremes and rather than focusing on which method we should 100% follow, it is perhaps best to pick and choose things from each position that we find helpful to our own practice.
It honestly seems like it's more prominent in the ruby community, and I'm not entirely sure why. Part of it may be that ruby is so expressive and nice to work in that it ignites people passions, which can be good or bad... I can say, however, that years back when I was trying to get into ruby from PHP, people like this gave me a very negative view of the ruby 'community' and were the biggest obstacle I had to embracing ruby.
> I'm not saying TDD is the only way to write code, I'm saying TDD is the only way to make sure that you will have minimal automated testing.
We'll have to disagree there. It's a fine way. There is rarely just one true way however.
> About your condescending remarks about delivering business value, I'd like to see you delivering business value while working with 10 other people on a tightly coupled 100k+ LOC application with no tests.
I, sadly, do this every day. It sucks.
> I might take you seriously when you say that the craft and process don't matter.
I never said they don't matter.
I'm advocating not taking a black and white view of things, which you seem to be doing. There are more options out there than 100% TDD 100% of the time or skipping testing completely...
I'm more of a pragmatist. I think one size fits all is a bad strategy, and different projects have different needs.
There is nothing I hate more than working with people who passionately believe that there is only one true way to do something (like testing) and believe the process and 'craft' is more important than other factors like, say, delivering business value.
There is a lot between your extremes of TDD and no tests at all. And when I hear a developer say some methodology is the ONLY WAY I find it's best to run, not walk.
Not that I agree with him, but if your project can get away with a local sqlite database for testing (that is, no stored procs or database specific queries) and you make sure you don't create when build will suffice, you can have models tested with a database and still be reasonably fast.
There's a plan here in Oregon to try and work up a viable system to do this. The idea is called "Pay it Forward" and you would essentially pay a 3% tax for 20 years after you graduate. I'm not entirely sure it will ever come to pass, but it's not a terrible idea IMO. It may not save money, but it does mean you get an automatic income based repayment plan, you can never be in default and you get an automatic deferral when unemployed.
That said, it doesn't really do anything to fix the problem of skyrocketing education costs which is less than idea...
The tradeoff to that is that DC has a horrible commute and exceptionally high cost of living. How many of these contracts would allow primarily working from home?
I've always done this naturally, some days I read a blurb about some technology I used to use and realize, huh, I used to do that all the time but haven't touched it in years.
I think one of the key things is to have a passion for learning. I've always been bored doing the same thing over and over. Learning new technologies, design patterns, architectures, skills, etc is what interest me. That also, coincidentally, is what keeps me up to date and productive.
I don't think this life is for everyone though. One thing people often don't consider when going freelance is that your job shifts. Instead of just being a developer, you are now a developer, marketer, business owner, accountant, project manager, office manager and more.
Some people don't mind that, or even enjoy it. For others, having to deal with all the tasks that go along with running a business, in addition to being the sole developer, can make life much less enjoyable. Especially if you're not fairly well set financially and would have a hard time enduring lean periods.
Not to say it's bad, it's certainly rewarding to run your own business and you gain a lot of freedom. But it's a tradeoff, and one that might not suit everyone.
> As we get older I suspect the demographics of our profession will change along with us, and there will be more older people in roles we stereotype as being for younger people. At least that's what I keep telling myself!
That's my hope too. At 36, I still enjoy what I do and have zero desire to move into management or run my own consulting business (I like the security of steady pay). While software is considered a young man's game, my hope is that this is mostly because historically it's a young industry and that I'll age along with it.
I've been doing this 15 years and am better than I've ever been. The key is to keep on growing and learning. I naturally love learning new things so that keeps me relevant and productive, and I hope to continue doing it the rest of my life. Or at the very least another 20 years (I'm 36) so I can pad my retirement savings before moving to a freelance / consultant lifestyle).
Also, call me crazy, but I don't really care about continuing to climb the pay scale or company charts. I make enough now and like what I do. More money is great, but my overwhelming focus is on keeping a rewarding career going and not continually earning more and more.
Really depends on what your app is doing and how critical it is to a business. For a complex application that has been in production for years, whose original developers weren't very talented and now are long gone, and your business relies heavily on customer satisfaction and bugs can cause lost customers and thus revenue as well as potentially exposing protected data, tests are absolutely critical.
On the other hand, a hobby project used by a few people or internally at your company where bugs can be discovered in use and aren't usually a big deal, eh.
And of course, there are a lot of levels between the two extremes...