3 Must-Try Workflow Tips for Devs
Working as a software developer is more than just writing code. Sure, at the end of the day, what matters most is the quality and efficiency of your code -- so, fine, the job is essentially writing code -- but so much goes into that process which can make being a developer a breeze or a terror, a healthy challenge, or an insurmountable mess. And a lot of this comes down to what you do before you sit down and plug into your keyboard, and how you track and manage your software development as you do it.
This is called workflow -- and unlike talent, or passion, it can be taught. But just because you see someone’s workflow working well for them, doesn’t mean it’s ideal for you. Rather, a new developer or a developer looking to improve what and how they write should spend some time observing other developers, researching workflow tips (like this article!), and trying to figure things out. The experimentation may feel time-consuming and it might even slow down your coding for a while, but in the end, finding the workflow that’s best for you has the potential to help you systematize and improve your skill as a developer over the long term and to make a huge difference in how well you do your job.
As developer Jean-Yves Migeon has written: “Workflows are a bit like a pair of shoes: the beautiful one everyone wants is not necessarily the one you will be the most comfortable with. Try to keep an eye around to see what suits you best. And listen. To me, there are no bad workflows, only inconvenient ones.”
Below we’ve included a few pairs of shoes -- I mean workflow management tips -- for you to experiment with and try out. We’ve found them to be helpful and think you may as well. And if you have any other tips that you think might help, feel free to add them below, or to get in touch so we can add them to a later version of this article.
Tip #1: Consider Going Agile
The first “tip” isn’t really a tip -- it’s a way of life. We’ve written about Agile Methodology on the Jobsity blog before (including this piece on whether it’s right for your team, and this one with 5 pieces of advice from a nearshore dev who uses Agile). But it bears repeating again: Agile is the industry standard for collaborative projects which are iterative, complex, and built by teams. We recommend getting familiar with Agile, trying it out, and learning how it can best support your success -- especially if, as a dev, you intend to do work nearshore, remotely, or in a team context.
As DevOps software solution Perforce has written on their blog: “Agile gives teams a flexible approach to meet goals when there is a lot of uncertainty. And the more complex a project is, the more uncertainty you’ll encounter.”
In short, Agile allows you to create a way of talking about your project, sharing best practices, and verbalizing/visualizing what’s going on while you work. This means incorporating daily meetings, scrums, stand-ups, and other opportunities to check in with every member working on your project regularly, so that troubleshooting and adjustments can become part of the workflow, and continuous improvement as much part of the software development project as getting the code written is.
Remember: you don’t have to go “full Agile” in order to use Agile tools, take advantage of Agile workflow advantages, or to benefit from the pluses of agility. Check out our articles above to see to what degree agile methodology might be right for your team, and consider incorporating these principles of Agile into your workflow whether you “go Agile” or not (adapted from the Agile Manifesto):
- individuals and interactions over processes and tools;
- working software over comprehensive documentation;
- customer collaboration over contract negotiation;
- & responding to change over following a plan.
Tip #2: Consider A Flowchart Or Visual Diagram
We all know algorithms can be complex and hard to imagine at the start of a project. That’s why we recommend not starting with an algorithm at all (I know!). Instead, consider taking a step back and visualizing a flowchart or step-by-step diagram of what you want to build before you begin to code it out.
This can serve the dual purpose of activating your visual intelligence and of creating something like a map that your brain can follow as you get down to the nitty-gritty and start writing code.
Luckily, today you don’t have to do this with a pen and paper in a scratch pad (though you can!), there are numerous applications on the market that aid in the flowchart/visualization process. Here are eight:
- Lucidchart: An online flowchart maker for collaboration (Microsoft Visio compatible)
- Microsoft Visio: Flowchart software for Office users
- Textografo: A text-based flowchart maker (for quick turnaround)
- Draw.io: Free flowchart maker that works on all platforms
- Omnigraffle: Native diagramming for Apple users
- SmartDraw: Collection of diagramming templates for web
- Gliffy Diagram: Online flowchart and diagramming tool (good for beginners)
- Cacoo: Diagramming software for custom charts and graphs
As Zapiers puts it: “Diagrams and flowcharts make the complex comprehensible. Flowcharts turn long workflows into easy-to-follow instructions; other diagrams allow you to get ideas across quickly and visually.” And when it comes to setting up a helpful and efficient workflow, starting on the right foot can make a huge difference. So consider starting with visualization, and try one of these apps before you get down to the nitty-gritty with your next project!
Tip #3: Consider These Tools
If you’re starting out as a dev today, or even if you’re a mid-career dev looking to shift the way you work into a more efficient territory, you’re in luck: this might be the golden age of workflow tools -- from project management to visualization to vertical editing, there’s a workflow tool for everyone and every need. Here are a few we recommend you might want to try out:
- Trello: “one of the best tools that help a lot when it comes to micromanaging tasks, bringing in new perspectives and ideas, and encouraging coordination among teams”
- TextMate: “Powerful and customizable text editor with support for a huge list of programming languages and developed as open-source, best on MacOS.”
- Grunt - “Grunt is a task runner that helps automate and perform repetitive tasks like compiling, minifying, linting, unit testing, and archiving.”
- Helix Core: “Helix Core tracks and manages changes to all your digital assets — code, video, large binary files, IPs, and more.”
- GitLab: “The open-source platform provides a cloud-based location where development projects can be stored, tested, and edited between teams.”
These workflow applications and tools are just a few ideas for where to start if you want to ensure your project is laid out, planned out, and executable in an efficient and clear way. Remember: while none of these are necessary to be a great developer, each has its own advantage to making your work as a dev easier and more actionable, so your skill can increase as your working life gets easier -- rather than the other way around.
Try them out, and when you do, let us know how it goes! And if you want to talk to one of Latin America’s top 3% of developer talent about any of the above, don’t hesitate to get in touch. We’re standing by and eager to help!
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.