How Developers Stay on Task

Ashley Graf
10 January 2017

Coding requires a fair bit of discipline. This is how developers from the #DevDiscuss channel maintain it.



#DevDiscuss has quickly become a mainstay of the programming community online, and it’s many contributors offer useful advice thanks to the work of Ben Halpern, The Practical Dev writer, in establishing clear-cut guidelines. From senior developers to interns, people of all skill levels share what’s helped them. A few months ago, they had a discussion how to stay on task, and i’d like to share with you what i’ve learned about about what they suggested.

 

Task management and note taking

Trello is a classic. Recently bought out by business productivity industry leader Atlassian, it is inspired by the Japanese principles of Kanban to take tasks to outcome, by breaking it into different progress gates and using visual cues to remind you to ask on them. It’s cutesy aesthetic is beloved by the tech community, who like to design apps ‘for delight’. If you’ve ever seen or used Slack you’ll know what i’m talking about.

The humble to-do list. Lists what you need to do. Often ambiguous on priority level and time constraints. This is best used for short term goals.

Unstuck helps you make better decisions, faster. It changes how you see, believe, think, and act by assessing how you feel and why. I must admit, as soon as i saw this recommendation, i went and downloaded the app. Who doesn’t need to make those decisions faster? It’s a fast-paced world we live in, and unstuck helps you navigate those big decisions. But in the end, it’s all up to you to do the work and do what the app has determined is your best course of action.

Pivotal Tracker helps a company determine priorities. It helps teams determine who is responsible for what, and when. Clear priorities help prevent messy disputes, and keep work on track.

Bullet Journals are the big new craze in the tech community. It seems like everyone is doing it! They’re beautiful, detailed, hand-written creations. They seem to hark back to a simpler time with less priorities. It’s a land that’s never existed, but we sure love to imagine it did! Want to find out how to create one? The Bullet Journal website provides advice on how to create the most useful journal you can.

A bullet journal, as the website says, helps you determine the “things that are truly worth the effort, to become aware of our own patterns and habits, and to separate the signal from the noise.” This is great for programmers. It helps them sort out all the pieces of their programming life, from their meetups, to their side projects, their work, and the mentoring programs they may be involved in.

Asana is for planning. Companies also use it for knowledge base, to keep everything standardised. Code and culture lives and dies on consistency, and a well organised knowledge base is essential for maintaining standards.

FreeMind is a mind-mapping tool. Got a web of thoughts in your mind? Put in all on paper here. Designing a knowledge base for your company? Freemind can help. It’s open source software, meaning that once you learn Java, you can redesign it to your needs. It’s become increasingly advanced over the years, and i for one can’t wait to give it another shot.

OneNote. Back when i used Windows, this was my favourite thing. It’s just got so many nifty features! One of the things i enjoy most about it is it’s free form nature. You can type anything anywhere, and easily create a grid or collage of what you’ve got going on, making it ideal for brainstorming.

 

Atmospherics

Developers use a set of tools to set up an atmosphere for optimum working ability. A panoply of light, sound, and seating keeps them focused.

 

Text editor/IDE

Webpack turns a bunch of interrelated front-end code of all types - slim, jade, sass, js, less, css, and packages it into static files. the slim and jade melds into HTML files, the SASS and LESS merge into CSS, and so on. This is a step on the minification process, that helps make websites run faster. It’s usually built into the build process.

JIRA is the companion to Confliuence. Back at Sunswift, i used to use JIRA and Confluence. It’s a tool to set sprints. Your manager can assign tasks to you, and you can assign tasks to other people. You have as long as the sprint to complete it. This was one of the tools that helped the spread of the agile methodology. It does everything out of the box, and is pretty customisable.

Vim. It’s as stark as it’s website, and brings to mind movies about hackers. Vim is Vi with more features. Many more features. It’s infamous for being hard to intuitively work out how to exit. While you’re stuck there, you can get to grips with what’s regarded as the perfect tool for most forms of text editing, from email to config files. Just like a tough teacher, it doesn’t hold your hand. You gradually pick it up. Many users of Vim feel like they’ve ‘levelled up’ once they’ve reached a certain level of proficiency. VIM is just a big screen. of VIM. No distractions, no obvious frills, just code and a CLI. It’s a beast, but you’d never know it.

Emacs. In some respects, EMACS is a more user friendly VIM. That’s why if you walk into any software company in the world, you’re likely to hear debates about which is secure. This is often grounded in beliefs about how they believe the tech industry itself should operate. EMACS aren’t shy about what they’re capable of.

Sublime Text is somewhere in between a text editor and an IDE. You can tell from how they proudly announce their features: Goto Anything, Multiple Selections, Command Palette, Distraction Free Mode, Split Editing, Instant Project Switch, Customise Everything. It’s what you use when you want to feel closer to the metal, but not too close. 

Atom is like VIM and EMACS, but has an interface as slick looking as Sublime Text, and is even easier to use.

Eclipse’s main product is a Java IDE, called Eclipse, but they also have an ecosystem of 250 open source products which extend upon it. If you ever program in Eclipse it’s worth a shot.

Xcode is like Eclipse for the Apple ecosystem. Or as they say, it’s an IDE that “includes everything you need to create amazing apps for iPhone, iPad, Mac, Apple Watch, and Apple TV.”

Netbeans is an IDE for  Java, JavaScript, HTML5, PHP, C/C++, amongst other languages. It has editors, code analyzers, and converters that make typing and testing code faster. Good for a career where every extra minute of thinking time counts. An IDE does much more than your humble text editor. It  indents lines, matches words and brackets, and highlights source code syntactically and semantically. It lets you easily refactor code, provides code templates, coding tips, and code generators. It has integration with all of the versioning systems right out of the box.

TMUX lets you use multiple terminals side by side, neatly. Essentially, It’s pane and window management, copy-mode for navigating output, and session management. You can learn more about TMUX here. It’s seena s one of the ultimate nerd tools in programming, because it makes VIM and CLI come alive. It’s well worth using. It declutters your screen, enabling more focus, and that’s just the start.

PowerShell is like Bash for Linux users and unix for Mac users. It’s CLI for Windows.

NPM is one the ways the JavaScript ecosystem is managed. It’s a package management system that makes downloading dependencies simple, and maintaining dependencies easier.

Gulp is a task automator. they help make deployment easier, faster, and simpler.

Chrome Dev Tools is a set of web authoring and debugging tools built into Google Chrome. It’s pretty extensive, and has contributed to making Chrome the preferred browser for developers. You can inspect the DOM, there’s a built in JavaScript console, a few debugging tools, a speed performance analyser, and so on.  

AutoHotKey. Make your own Hot Keys.

The command line interface (CLI) is a little difference on every operating system, but nonetheless, it’s a priceless asset that keeps the tech industry speeding along. Why click around on a GUI (Graphical User Interface) when you could just type a few words and press enter? Many coders with an excellent muscle memory and prodigious Google search skills prefer the latter. After all, it’s not the tools you have, it’s the way you use it.

Ansible is used by DevOps teams. What’s DevOps? It's a set of practices that emphasizes the collaboration and communication of both software developers and other information-technology professionals, such as the Operations teams that keep sites up, while automating the process of software delivery and infrastructure changes. What does Ansible do? According to their website, they automate cloud provisioningconfiguration managementapplication deploymentintra-service orchestration, and many other IT needs.

zsh is a ~variety~ of bash (Bourne shell). There’s also ksh, fish and tcsh amongst others. Yes really. They’re all a bit different, and shell users are a technical lot, so result! With shell, you can get Completions, command history, mandatory argument prompt, automatic suggestions, directory history, autocorrection, snippets, and so on. I recommend giving a couple a try before picking your favourite.

docker is also a DevOps ~thing~, that assists containerisation of apps. 

PyCharm is an IDE for Python. That is all. Does what it says on the box.


Coder Factory Academy: Meet Australia’s first and only accredited fast-track coding bootcamp! Our immersive course helps students acquire in-demand skills through hands-on, project-based training by industry experts over 6 months. Become an employable junior developer.

Now enrolling domestic & international students in Sydney & Melbourne! Study now, pay later! 

Are you a woman interested in coding? Check out our Women in Tech Scholarship!

SUBSCRIBE

Join our newsletter to find out about upcoming courses and events!

By providing us with your email, you agree to the terms of our Privacy Policy.

BECOME A FULL STACK DEVELOPER IN 23 WEEKS

Seriously considering a coding bootcamp? Learn more about Australia's first accredited coding bootcamp.


DOWNLOAD A FREE COURSE GUIDE