Skip to main content

Five untold skills of a software engineer

Today there are multiple programming languages, frameworks, libraries and innovative technologies. They either get popular or fade away. But today I’m going to talk about few of the top untold skills in tech industry that don’t fade away with time.

1) Communication skills — Communication is by far one of the important skill to possess. It is very important for you to articulate your problems/ideas/solutions when you work in teams. It allows others to visualize the subject you are see. You ability to communicate the problems/ideas/solutions can lead to better understanding amongst others and the overall productivity of the team.

2) Ability to find solutions — As a software engineer we often spend time on stackoverflow looking solutions to our problem. Your ability to reference similar type problem on stackoverflow and connect it to your problem to get your solution is very important. I have often seen junior developers unable to connect the dots to their problem with similar related problems online. Eventually end up impacting the delivery of the product.

3) Being humble — Be humble to very one around you. Your team, house cleaning staff, support staff everyone has a role to play and cumulatively you are trying to achieve your deliverable goals. It is important to be humble.

4) Asking help — In tech if you are asking for some help, is often perceived as incompetency and can lead to imposter syndrome. On the other side don’t be a leech and ask for help without even trying once. That is way more bad. Striking a perfect balance is important, knowing when you really need help and when you just need more time to figure out.

5) Documentation — Last but not the least, have the ability to document well. Sometimes we have see great technologies being sidelined because of poor documentation. Poor documentation can make a good technology difficult understand. New adopters, hobbyists, enthusiasts may start to avoid the technology for the same reason.

Above are five skills I feel every software engineer should know. Do let me know in the comments section which other skills you feel are important but less spoken skills needed as a software engineer.

 Thank you folks for reading.

Most viewed

Ruby on rails part 6 - Blocks , lambda, procs and closure

 Blocks , lambda, procs  and closure Table of content  1. Blocks 2. Lambda 3. Procs 4. Closure Blocks  Ruby blocks are little anonymous functions that can be passed into methods. Blocks are enclosed in a do-end statement or between brackets {} 
. Blocks can have multiple arguments
. The argument names are defined between two pipe | characters. Blocks are typically used with ‘each’ method which iterates over a list. Syntax of block using {} ['List of items'].each { | block arguments|  block body }  Syntax of block using do-end ['List of items'].each do | block arguments |      # block body end Example of block declared as do-end with each method.   [ 1 , 2 , 3 ].each do |num| puts num end     Output   $ ruby block_with_each.rb 1 2 3 $    Blocks can also be saved in variables or passed as argument to another function.   yield is a Ruby keyword that is used to call a block. When you use the yield keyword, the code inside the block will run. Example of saving a bl