Image Credits : ngcenter.com
Engineers play such a crucial role at every single stage of product development.
Their energy, motivation and productivity levels greatly determine how well a project is delivered.
We at Indiez, work with some of the best engineers from across the world who have worked in companies like Google, Microsoft, Apple and the likes.
There is something something remarkable about the way they work.
They know how to operate super efficiently and maintain high productivity levels!
This is something that truly sets them apart. It’s the reason why they are able to drive excellent results!
Image Credits : Quantstart.com
Let’s face it — Every engineer goes through these phases of lack of productivity.
And it takes time and a lot of learning to get better and start working upto your full potential. Sometimes, it’s just plain frustrating.
You might have been there too!
Have you ever had a feeling where you felt that you are not doing enough? You feel unproductive and feel bad about yourself? Every single day?
If you haven’t, I can tell you that it hurts. It hurts bad!
“There was a time when I was super unproductive. The entire day would pass and I would feel like I hardly got anything done. Despite trying hard all day, I wasn’t meeting my own expectations.
Without that feeling of accomplishment at the end of the day, it just gets frustrating. And, it amplifies 10X when you work remotely.
After I had had enough of being in this unproductive state, I got into my hacking mood and decided to hack my way towards ultimate productivity.
I researched and read 100s of articles and several books. And, I learnt a lot!
Post that exercise, I was a different person. I am better programmer now, I complete my deliverables in time and most importantly I feel happy and accomplished at the end of every single day.”
— One of our community members, previously an Engineer at Google.
So what changed for him and the others who had a similar journey? We spent time talking to them and improving our understanding.
Following are the few gems from the learnings shared by our awesome community members. Applying them has helped them improve and this has got me excited to share it with you.
Credit : www.functionalimperative.com
Work flows breaks every time you stop and think.
It breaks every time you do quick Google Search about something you don’t know. It breaks when you find answers to your queries on Stack overflow.
If you do this often, believe it or not, it’s your worst crime as a engineer!
Why?
Because your deep flow state of work is what you should preserve. It takes a lot of energy and focus to get into that and it would do you well, to stay in that unless it’s absolutely necessary to break away from it.
“I know that it’s common to have doubts. Every now and then, you might come across a tricky situation. But, rather than rushing to the internet to find an answer, refer to the documentation.” — Amrose, Co-founder and CTO at Indiez
While this might seem to slow you down at the beginning, over time as you work on this as a habit, you will see it doing wonders for you.
You will gain more in-depth knowledge that you will retain. You won’t get distracted by a dozen other things that you see online while trying to find answer to a query.
Most importantly, this will become a part of your work flow.
Image Credit : AndroidAuthority.com
There has been a lot of talk about whether typing speed matters for a programmer or not.
Is it important to know touch typing? How much difference does it really make?
“Here’s my take on it — If you want to become a great programmer, become a great typist first!
The fundamental reason why typing speed matters so much when it comes to programmers is — When you’re a fast, efficient typist, you spend less time between thinking that thought and expressing it in code.” — One of our community member, previously an Engineer at Microsoft.
This is a great way to remain in that deep workflow state.
When all your conscious thoughts go into the code rather than going on the process of getting it on the computer, it’s one less step that your brain needs to perform. So yes, it does boost your overall efficiency.
If the keyboard is your primary method of communication you shouldn’t have to think about it (much less look at it) any more than you should need to think about pronunciation while speaking in your native language.
There are resources and tips to learn touch typing. For instance, you can use Typing.io to get started.
Equally important as keyboard usage is the approach to automate as much as possible.
Computers were built to automate simple, repetitive tasks very fast and make our lives easy. It’s a waste if we don’t use them for that!
Stand back once in a while and reflect which tasks and actions you’re doing the whole day and what can be automated and improved.
This may be launching applications, using menus with the mouse instead of shortcuts, manually applying the same actions or typing the same commands all over again, typing long shell commands a lot of times instead of using aliases, and so on.
Try to be lazy here; that’s a good thing in this case.
As the system gets larger, engineers tend to spend more time fixing bugs. Eventually it gets to the point where they not productive at all. Through Continuous Integration (CI), you can catch many bugs as soon as they happen.
Automate tests to avoid manual assertions as well as manual repetitive testing.
Vim is an extremely powerful text editor and can become a full-fledged IDE_,_ by any measure of the word_,_ when combined with other tools such as:
The power of vim is huge. Very small number of people actually do know how to use most of it.
I’m certainly not one of them.
Refer to this list of productivity hacks by Approache Blog —
My favourites are:
Why? Because the Control key is located extremely inconveniently while CapsLock is right under your baby-finger. All the time.
How? Follow this guide.
Why? A lot of times you need to jump forth and back between 2 place or go to where you’ve been a minute ago. A log of people just find that line/file again. It’s a waste of time.
How?
Why? Typing l (move right one symbol) or similar multiple times is waste of time.
How?
Why? Because a lot of things can be done much more efficiently.
How?
Why? Because you don’t want to type the same command over and over again.
How? One example is nmap <leader>s :! bundle exec rspec % — colour — focus<cr>. This will run the current spec file when you press ,s (in my case).
Rule of thumb: if you do something more then twice in the terminal outside of Vim, map it using nmap. Don’t switch windows, don’t lose your context.
Why? At least because you can split window without losing the context.
How? Install it from the iterm2.com site (or even use tmux!).
Use Ctrl-D/Ctrl-Shift-D (while in Vim or any iTerm tab/window) to split the current terminal window opening a new shell but still being able to see what you are currently working on.
Why? Because it repeats the previous command that you should have mapped in Vim but didn’t.
How? Just type !! and it will execute last command. This is simple, but strangely enough I can see people are actually retyping commands.
Why? Because you navigate in the terminal too. And Vim mode makes it seamless.
How? Create an inputrc file and add set editing-mode vi to it.
Sometimes the problem is “I have no idea what code to start writing.”
Have you ever been stuck in this state of decision fatigue? Where you just can’t seem to decide which piece of code should you start writing first?
This happens when you have a huge project in hand.
The simplest solution is to break your big application into a set of small applications or user story. The idea here is to build one piece in its entirety and then move on to next.
Write code wherever you can, start with simple classes or functions.
For instance, if it is a YouTube app that you need to code, start with the video player. Think of it as an exercise in continuous delivery — write the code that would actually make a product first, no matter how silly or small that product is. A video player without any other UI is a product that does something useful (play video), even if it’s not a complete product yet.
We are confident that applying these simple hacks will help you scale your productivity levels.
Apply to Indiez to enter into a remote work culture where we guarantee you freedom and fulfilment and you help us deliver awesome results. Just go on and our fill our application form.
At Indiez we work hard to curate and manage top 1% tech-talent from companies like Google, Facebook, Uber, Spotify, Booking.com and the likes.
Join 100+ amazing founders who built successful products with Indiez.