The original wording of my views on Code Coverage may have been misleading in past articles. Let’s take the opportunity to discuss the key values of using these tools, so you can find and validate what is important to you.
In the past, we’ve discussed real-time code coverage tools, like NCrunch or VS Enterprise’s live unit testing, which hold developers accountable for every single line of code they write. Most developers’ visceral reaction is not going to jive with this exact wording, but my original intention wasn’t to use code coverage to the point of diminishing returns.
Please note, that being accountable for every single line of code you write is different than literally writing tests to cover every single line of code. Accountability starts with awareness, and once you’re aware of uncovered code, it’s up to you to discern whether or not there’s value in covering it. …
When you’re out there on your bike, you may be wasting energy and not getting the most out of your effort. If you’re not competitive at all, this article is still for you; this isn’t just about being able to go faster or further, but also being able to do a bit more with less.
This is especially relevant if you are a heavier rider, have a heavier bike, and/or live in a place where hills are unavoidable. …
About 10 years ago, one of my colleagues once said that Javascript was going to overtake the software development industry. Servers, apps, 3D games, it’ll all be written in Javascript. I scoffed at the idea back then, blinded by the pride I was taught early in my career that Web Developers aren’t the same as Computer Programmers. Turns out, he was not wrong, but I sure was. …
Software development in the 2000s was a different time than it is now, but some of the same challenges are still relevant. Open-source wasn’t as well embraced by the “professional” software development industry, and gaining the experience required to get yourself employed was tough without connections. This was especially true if you weren’t living in a major city with a lot of opportunities.
Some of us are connected to jobs right away with internships or paid work through our schools, but others aren’t as fortunate. …
If you’re in a metropolitan city, you might be surprised by how many bicycles go missing each year. This also applies to Canadian cities; though we may have the reputation for being nice and polite, we have our problems that would suggest otherwise.
Have you ever watched hidden camera videos of attempted thefts on unattended bait bikes? A thief can look like anybody — gender, ethnicity, age, how poorly or how well dressed they are — it doesn’t matter. There are dozens of compilations of these videos online, but not in your city, right?
You can find many heartbreak stories about bike theft locally, but probably a good number of them were preventable. If you’re not sure about bike security, keep reading to make sure you don’t make the common rookie mistakes. …
Whether you call it a pull request, merge request or code review, there are effective practices that everyone could and should do, to not only make it go more smoothly but also help preserve the quality of your codebase.
Adopting habits for writing clean code is important, but without also defining contribution guidelines, your codebase can fall into disrepair.
You’d be surprised that knowledge alone of good practices isn’t enough to take action on it
If your team cannot agree on what this is, and you leave best practices to chance, your codebase will age much quicker. Merging is the last line of defence for code quality, and having some gatekeeping rules will help in allowing your codebase to age gracefully. …
Lately, I’ve seen a lot of answers to online questions about the fabled 10x developer. Some people want to be them, others want to stay far away from them. Does the myth, the legend, live up to its name, or is it just a relative perception?
Before we get into the key takeaways, I’d like to give it context with some storytelling.
Nearly a decade ago, the Director of Software Development at my employer at the time, hired a Software Engineer III, who we’ll call Gary. We also hired an SE II called Mitch around the same time but we’ll get to that later. For the first few months, Gary was quiet and mostly kept to himself, hard at work on a highly technical feature — air and fluid flow animation in our real-time 3D mechanical training software. A feature that everyone in the company had been pipe-dreaming about for years but never took it on, due to multiple challenges. …
One of the requirements for a highly productive development team is having the ability to identify and actively avoid the use of anti-patterns. A team which fails to do this could end up trapped in cycles of grinding on internal problems they’ve created, rather than focusing on the problem domain for their business.
Knowledge of building long-term, sustainable architecture comes with experience — but not the kind that can be quantified in years; one can be programming for decades, accepting the long term side-effects from anti-patterns as just a part of the job. …
If you’re building a new smartphone or tablet app, the question you’ve likely pondered upon was which platforms (and form factors) are you going to support.
Whether you are building one platform for both phone and tablet, or two platforms just for phone, or even whether the phone and tablet versions should be different, this choice should be made carefully in case your mind changes later. …
There is now a whole generation of young developers who are starting their careers in Mobile software, which is great because I’d argue they in theory should be more in tune with what the user expects from a software product. If you’re part of the previous generations of developers however, then most of your career has probably been away from the smartphone.
If you go back only a dozen years, modern Mobile software development, as we know it today, wasn’t yet firmly established. The first iOS “SDK” was a collection of WebKit widgets for web-hosted “apps”, before CocoaTouch was released in 2008. Early Android was almost exclusively for the tech geeks. …
About