The 5 Deadly Sins of Software Development
We spend most of our time here exploring the positive side of software development, nearshore and offshore team building, and how to run an awesome company (like Jobsity!). But that doesn’t mean that software development and programming, in general, are always happy-go-lucky or easy-peasy.
In fact, there are some things every developer must know to avoid if he or she wants to stay in business. And today we’re going to explore some of these. They’ve been called the Deadly Sins of Software Development, or the Quicksand of Programming. But whatever label you want to give them, don’t be spooked: just learn to notice them, and avoid them, if you want to write solid code and grow your career in this exciting, fast-paced industry!
1. No documentation
You may be in the flow. You may know your code is fire. You may feel 100% confident that this is the best work of your life. But beware! If you don’t do any documentation, this confidence can quickly fade and be replaced by that shocking feeling a week or two later when another teammate -- or worse, yourself! -- takes a look at the code and thinks, “huh?”
Documenting code doesn’t mean you have to write Moby-Dick for every line. And yes, short, sweet, and to-the-point are probably best. But if you fail to at least explain in basic terms what you’ve done and why you’re robbing your teammates (and future self!) of the opportunity to take what you’ve made -- whether it’s great or grizzly -- into something even better without having to redo the whole darn thing.
Think of the children! Always document.
2. No consistent formatting
In general, when programming, consistency is king (or queen)! Much like above, when you switch formatting halfway through a project, not only are you asking for confusion for yourself, but you’re risking: increased errors, more difficult collaboration, confused productivity, and worst of all -- it’s totally unnecessary!
As Nitin Sharma at Hackernoon says so succinctly: “Select a naming convention for the project and stick to it.” It’s as simple as that. Sharma recommends capitalizing casing for file names and camel casing for naming functions, variables, etc. But each language has its own more reliable, and simplest, conventions.
The point is: follow them! The whole way through! Your future self, and your current team, will thank you.
Have you ever sent an email to your boss and then noticed -- the horror! -- that in your haste to get the communications out, you misspelled something simple and obvious (like your own name!)? Well, coding is no different.
Don’t go through all the trouble of creating audacious and powerful code only to realize...it doesn’t work because your errors were small spelling mishaps. Yes, speed is important, and finesse is impressive, but don’t overlook the basic components of grammar and punctuation.
Errors happen, but a dev who becomes known for making silly, avoidable errors, and often, is not a dev who will go far or fast in their career. Explore potentially using an integrated development environment (IDE) with syntax coloring in order to increase the chance that you’ll see any typos before your boss or teammates do. Especially if it’s the spelling of your own name!
4. Stay on top of the basics
Yes, your code is going to change the world; yes, the application your building is the first of its kind, the most elegant solution ever to the problem you are facing. But! Don’t forget to shore up the basics -- to dot your i’s and cross your t’s, so to speak.
Often developers who are working on big conceptual leaps can forget to take baby steps on their way there. Don’t let this be you! As Peter Wayner writes at InfoWorld: “Failing to shore up the basics is the easiest way to undercut your code. Often this means overlooking how arbitrary user behavior will affect your program.
Will the input of a zero find its way into a division operation? Will the submitted text be the right length? Have date formats been vetted? Is the username verified against the database? Mistakes in the smallest places cause the software to fail.”
Don’t leave a mess for your team to clean up!
5. Too many teammates!
This is the old “too many cooks in the kitchen” problem. Everyone can be an amazing dev and have their own style, instincts, experiences, and aesthetics to lean on. But if you combine these all together and let everyone go free and wild on a project, in a few months you may just end up with...a mess! Yes, we all want to work in agile, creative, innovative, and dynamic teams. But ensure your team also has a hierarchy for specific coded projects so there is a consistent style and one human brain overseeing the general trend of choices being made.
It might limit a little bit of the creativity, but it’ll also limit a lot-a bit of the potential for making a mess of the meal (to return to our cooking metaphor!). As we’ve said: stay clear, stay consistent, and stay in control. Your code will thank you.
Ready to Write Clean Code?
It’s not easy to be a developer; there’s much to learn, much to do, and a lot of moving pieces. But staying on top of these 5 simple mistakes will make you a much more reliable teammate and help advance your career so you can deal with the more challenging and more interesting problems a lot sooner.
Be bold! Be adventurous! But don’t, for the love of all that’s well-coded, forget the basics.
And if you’re interested in learning from or working with the top 3% of developer talent in all of Latin America, get in touch with Jobsity! We’ve been in the game as long as anyone, and know all about writing clean, efficient, and typo-free code. And we do it while having a good time and learning a lot.
Interested in learning more? Or seeing how well Jobsity’s outsourced developers can integrate into the culture at your company? Don’t hesitate to reach out. We’re standing by and always eager to talk about how we hire, develop, and delegate to the top 3% of tech talent in Latin America.
Interested in hiring talented Latin American nearshore developers to add capacity to your team? Contact Jobsity: the nearshore staff augmentation choice for U.S. companies.
Santiago, COO at Jobsity, has been working on the web development industry for more than 15 years, assuming a variety of roles as UX/UI web designer, senior frontend developer, technical project manager and account manager, he has achieved a deep understanding of the development process and management, and developed strong communication skills with groups and clients. At present, Santiago runs the operations of Jobsity, managing offices in the United States, Ecuador and Colombia, leading a team of more than 100 developers, working on major projects for clients like NBC, GE, Bloomberg, Cargill, Pfizer, Disney and USA Today.
Subscribe for the updates
Better hires, more work, less stress. Join the Jobsity Community. Contact Us