Software engineers who take initiative usually understand the big picture and ask themselves how their work impacts the end users of the product.
Today, software engineering is one of the jobs that are in high demand. However, most people don't know what it takes to be a great Developer or what traits employers look for in Software Engineers.
We spoke to Catherine Kimani, Senior Software Engineer, Andela, Nairobi - Python/Flask who believes that a software engineer’s skills can be categorized under two major groups – Work skills and Team skills.
Work skills are a Developer’s ability to comprehend computer science as a discipline and effectively translate that understanding through programming/software development using one or more languages. Work skills are divided into three main components:
1. Quality: Quality product output must meet, or preferably, exceed pre-defined standards or expectations. Great software engineers deliver quality work by understanding why the right combination of attention to detail, requirement analysis, patterns/MVC, testing end-to-end, system design, performance optimization and more, are important to software development.
2. Quantity: Once quality is guaranteed, it’s important to consistently deliver quality work output at, or above, the expected pace. Here’s a scenario I like to pose to make this real: Which developer would you pick? Engineer A who delivers products that exceed expectations for quality, but four weeks after the deadline? Or Engineer B, who meets the minimum quality requirements on-time? Great software engineers have mastered delivering quality products at the desired quantity, leverage developer tools (e.g. Github), understand business tools (e.g. spreadsheets & charts), project management tools (Trello & Kanban), and communication tools to help foster collaboration (e.g. Slack).
3. Initiative: Companies are looking for software engineers who take initiative, identify high-value targets for improvement, proactively prioritize and communicate. Identifying high-value targets for improvement requires creativity, decision-making, problem-solving and holistic thinking skills. Software engineers who take initiative usually understand the big picture and ask themselves how their work impacts the end users of the product.
Next week we’ll look at the team skills component.
Are you looking to work in a high performing team? Interested in developing the above capabilities in yourself? Apply to be a senior software engineer at Andela Apply here.