Wednesday, December 23, 2020

Is engineering PM an over-saturated role ?

Do you think that the role of a project manager (PM) is overrated? Do you feel it is hyped, oversaturated, and maybe, even elitist? If so, you probably need a reality check. The competition that one has to deal with to become a PM, after all, is often worth the effort.

In this post, you will find out why the role of a PM is relevant, especially in today’s times.

Start by understanding that many seemingly great products would not have found the success they have if not for competent PMs. However, the role is such that the number of PM openings is typically lower when compared to completely engineering or technical roles.

What Does a Project Manager Do?


Businesses that require PMs do so with good reason. While they have engineers and developers to focus on software and mechanical specifics of getting products going, PMs play a vital role in understanding customer requirements and communicating with all stakeholders.


In a nutshell, a PM needs to understand customer requirements, identify tools or processes that can be of use, and oversee the creation, execution, and delivery of any project.


A good PM would also be adept at:
  • Identifying and resolving issues
  • Budgeting
  • Time management and approval
  • Team-building


One of the biggest challenges that PMs face is influencing people without exercising an air of authority. This can be particularly difficult when they have to deal with people who don’t report to them directly.

Project Managers vs. Product Managers


While both are PMs in their own right, and both come from predominantly engineering backgrounds, they have different responsibilities.


Project managers need to ensure that tasks are assigned to the right people, while also making sure of timely delivery. Their focus is on driving the development of products. A project manager would typically:
  • Oversee the workload of multiple engineers
  • Have at least basic technical knowledge about products being developed
  • Solve management and scheduling problems
  • Coach and offer advice
  • Resolve disputes
A technical product manager, on the other hand, is responsible for making tech-based decisions after considering different metrics, as well as for overseeing the execution of development plans.

The "Worth" of a Project Manager

As a project manager, you should have the required knowledge about your realm, failing which you don’t stand a very good chance of earning your peers’ respect. Being able to influence without authority is also important.


You should be able to get through roadblocks faced by your engineers and bring plans to fruition. For instance, if your engineers are waiting for information from a product owner who is slow to respond, you should be able to deliver in a timely manner.


Consider this example – you are responsible for handling a team that is working on a completely new product. You need to start by determining if it is a good idea. Then, you need to look into existing competition, as well as address aspects related to costs and revenue. You also need to collaborate with the marketing team so it can help you get your product off the ground. To do all this effectively, you need more than just engineering skills.

As you can see, the role of a project manager is rather wide-ranging, and calls for high levels of soft skills as well as business skills.

Conclusion

Getting back to whether the role of PMs has become oversaturated, the answer remains an obvious no. However, what should go without saying is that not having a PM at all is better than having a bad one. A good PM should not only have technical knowhow and analytical skills, but should also be able to distribute accountability and ownership of key aspects to the core team.

If you can manage to double up as a project and product manager, there’s nothing like it, because you’re then responsible for executing your own suggestions.

Wednesday, December 16, 2020

What Happens to Your Software Career When You Turn 50?

Have you reached that stage in your software career where you are wondering how relevant you might remain once you turn 50? Are you worried about finding a job that matches your existing skill set? If so, know that there is plenty of light at the end of this tunnel.
This blog post addresses all the aspects that need your attention in keeping your software career going way beyond your 50s, should you so desire.
You need to start by understanding that just your years of experience might not serve the purpose. This is because whiling away in your existing job without taking on new challenges, while simply waiting for the years to pile, will do little good for your prospects in the future. Therefore, what happens to your software career in your 50s and later is basically up to you.

What Does the Existing Scenario Look Like?

There are several programmers over 50 years of age who have managed to do rather well for themselves, be it in the form of responsibilities or financial growth. Some have found great roles with leading names such as Google and Amazon, some are playing important roles at startups, and some others have found success as independent consultants.
Names such as Jon Skeet, Linus Torvalds, Jeff Dean, John Cormack, and Doug Cutting have gone on to show that age is just a number when it comes to keeping a career in software going great guns. It is also interesting to note that not many end up going toward management.

What You Need to Do

If you are looking at continual growth in your software career, it is important that you remain ambitious and continue improving. Adding to your skill set along the way is crucial. For instance, if you have been programming for two or more decades, it is fair to assume that you have moved from COBOL to VB4 to Oracle to Java.
Going forward, the progression needs to continue. You may also need to reinvent yourself at some stage. Might you, for instance, consider a switch to AI- or IoT-related technology?
With a strong foundation of coding and database architecture in place, learning new technologies is fairly straightforward and takes little time. This is because you start seeing patterns that are repeated and reapplied in different domains.
Depending on how good you are and the value you bring to the table, you can end up being mediocre, while still retaining a good job, or become highly sought after by market leaders.

Roles You Might Get to Play

Depending on your skill set and areas of interest, you may consider taking up different roles in the later stages of your career.
Engineers can look for roles in technical management.
Coders can take up leadership roles related to product strategies.
You may work as a distinguished engineer, who is nothing short of an influencers’ influencer.
You can become a technology advisor for a large company that is working its way around the legalities of software development and use.
You can voice your opinion on controversial software-related topics such as the use of AI, cybersecurity, dark patterns, and software ethics.


What You Should Not Do

Several people try to rush their careers in a hurry to become product or people managers. This is usually with the aim of wanting to stop coding or getting a hike in salary. Most experts opine that getting an initial thrust in a software career can make you replaceable not far down the line. Besides, if you don’t pay attention to your technical skill set, and also indulge in office politics, you stand the risk of someone younger coming in and taking on your role more effectively.
The bottom line is that focusing on the technical side while continually upgrading your knowledge and skill set is bound to hold you in good stead no matter whether you are 50 or older. As long as you manage to stay relevant and have the fire in your belly going, there is no stopping you from shining in your software career even as the years go by.
If you have questions related to this write-up, please ask by using the comments section. If you’ve found this post to be helpful, please hit the like button. If you’re looking for more great content related to careers in software, follow us now.

Tuesday, December 8, 2020

No interview calls? Your resume is probably not getting past any SWE recruiter.

Several SWEs experience difficulty in getting interview calls for software engineering jobs. Wondering what they might be doing wrong and what they can do to increase their chances follows. If you find yourself in the same boat, going through this post in its entirety will give you a fair indication of what you need to do to land an interview call that can change it all.

What have you been doing wrong ?

Start by determining what you’ve been doing wrong so far. Answering these questions will help.

  • Have you been using the same resume to apply for all the jobs you come across?
  • Have you been over selling yourself?
  • Is your job search limited to a few resources?

If your answers to these questions are in the affirmative, getting that interview call you crave might continue to remain a pipe dream. Fortunately, taking a few relatively simple measures can set you on the right track.

Get your resume in order

The first filter your resume needs to cross is that of a recruiter. Here’s what you need to do to get past this roadblock.

  • Don’t add summary and objective sections because most recruiters tend to skip these.
  • Keep your resume to one page, unless your experience stretches to beyond two decades.
  • Your resume doesn’t need you complete address – the city and state are enough.
  • If you need to email your resume, send it as a PDF and not a Word file, because the latter can lose its formatting on other machines.
  • Include genuine interests because these can help recruiters connect with possible interviewees.
  • Read through your resume in 10 to 15 seconds, and identify key take away points. That’s typically how long recruiters take for initial screenings.
  • Get someone from within the industry to review your resume.

Try to get referrals

Referrals give job aspirants easy means to land interview calls. This is typically a win-win situation because, from a recruiter’s point of view, a referral is nothing short of gold.

If you have former colleagues who work with companies that interest you, ask them for referrals. However, don’t give them your resume straightaway. Mention that you’re interested in what the company might have to offer and give them your contact details along with a link to your LinkedIn profile.

Don’t hesitate to ask for referrals from anyone you feel might be able to help. These can include friends, relatives, and even acquaintances. Using platforms such as Teamblind and Reddit might prove to be beneficial as well. When asking for referrals, remember that you need to be polite, not overbearing.

Quantify your work

Try to quantify your experience. For example, instead of saying, “Maintained a crucial piece of internal marketing tool meant for corporate users”, go with something like, “Maintained a 5,000 line code, fixed 300 bugs, and delivered 50 change requests for a marketing tool deployed by around 200 users over a six-month period”.

Highlight the work experience they need

As clichéd as this might sound, getting the work experience right is crucial. Adding volumes about mundane details serves little to no purpose. Seasoned recruiters will not attempt to find what they need in your sea of fluff. Neither do they have the time, nor do they care.

While your resume needs to reflect what you have worked on in the past, it’s important that you read job postings carefully, and use the core words you find there in your own resume.

For example, if a job requires five years work experience in AngularJS framework, do not assume that a recruiter will get the required information from your brief mention of, “10 years experience in JavaScript frameworks”. Highlight and underline what they are looking for, while using just the right jargon. Do away with, or provide little focus on, aspects that don’t matter to a recruiter.

Do not lie about your work experience. Remember that the verbiage you use in this section speaks a lot about your existing and future potential as a candidate. Trained eyes tend to know just what to watch out for when it comes to this aspect.

Accept it, your resume may not be the best

Bear in mind that the companies you have worked for in the past matter, because recruiters view FAANG, unicorn companies, and regular bodyshop IT consulting companies differently. Be comfortable in knowing that there are other candidates who might appear more appealing on paper, and that your resume is probably at the bottom of the pile. Set your expectations accordingly. It’s best not to have a dream company in mind.

Your visa status may be, unfortunately a factor

If you’re in the U.S. on a work visa, remember that many companies view the process of getting a visa transferred as cumbersome. If you’re here on a student visa, the company you wish to join would have to apply for a work visa on your behalf.

If you have declared that you need visa support, probable employers may choose to ignore your resume. There is nothing much you can do about this, especially if they do not disclose their preferences ahead of time.

Have you tried adding a cover letter?

Most online application methods give you the ability to add an optional document in the form of a cover letter. Use this opportunity to highlight how your work experience will benefit the organization in question. Mention important points that don’t find room in your resume.

A farfetched yet effective idea would be to write a critique about something that is well known, or even about the organization’s website, tool, or process - while offering suggestions for improvement. For example, if you’re applying for the position of a frontend engineer at food delivery startup, you may provide ideas about how to improve UI experience without the need for extensive redesigning.

Look for openings through different platforms

Several recruiters use LinkedIn to find probable candidates. When updating your LinkedIn profile, follow the mantra of “Less is More”. For instance, you don’t need to add details about all the projects you’ve worked on, or the teams you manage.

  • If your career has progressed well, make sure you add your job titles.
  • Change your profile’s settings to reflect that you’re open to new opportunities.
  • Add all relevant skills that you might have.

Check postings on Hacker News’ Who is Hiring. These are updated each month. In several cases, hiring managers add these posts, so you get the ability to bypass Human Resources. Attending hackathons and meet ups might also be fruitful.

While the going might seem tough at the beginning of your search for a new job, you can make the process easier by paying attention to the aspects mentioned herein. Getting through an interview, then, becomes your next challenge. 

If you have any questions about this blog post, please feel free to ask by leaving a comment. If you’ve found the content to be helpful, please share it with others who you feel might also benefit. Follow us for more relevant content that might help you find your dream job.

Wednesday, December 2, 2020

Feeling lost at your programming job ? You are not alone.

Introduction

Maybe you are let to believe that you are either not doing so well in your programming career or want to excel beyond your colleagues in the market or even have no purpose in your job and want to be motivated. In this article I will be offering some help on that.

First of all, you have to assess the situation, you can be unmotivated by your manager, or you can be falling behind your co-workers and need extra effort to cope with them, or maybe you are not feeling challenged in your work … and so on and so forth. After assessing the situation, it is time to take an action that suites you personally. Remember, there can be more than one solution to any given problem … it differs from one person to another. Let me in the following paragraphs propose some possible solutions to the scenarios I mentioned earlier. 

Scenario #1 to be unmotivated by your manager

We all know how positively or negatively a manager can influence the employees without even noticing. The most important thing is to never let anyone affect your self-confidence or make you question your capabilities. 

In programming obviously, you can write tens or even hundreds of codes to do the same task. It doesn’t mean that you were wrong and your manager was right if you didn’t deliver the results your manager wanted. You can solve that by having 1:1 conversation with your manager explaining how you feel. Maybe you need training on something. Maybe you are burned out solving issues that are of lesser priority and loosing focus on the bigger tasks. These are non-technical management things to focus on. If that doesn’t help, find a senior team member or a mentor to seek advice from. Or raise the issue in your workplace to a higher level.

Scenario #2 falling behind your co-workers in terms of performance

Let it be clear that it is not always a good idea to compare yourself with others because everyone has his own circumstances. However, we are living in a very competitive world that will create comparisons out of nowhere especially in a tech/programming job.

It is possible that you are not actually 100% sure of your interest in your current job. Maybe you as a web developer, find robotics interesting or as an embedded systems engineer is fascinated by web development. Put aside some hours per week to try them out, without forming close opinions. I have been there myself, but I had taught myself how to experiment before settling with what I want to do. It is possible that the new thing you picked up might become stagnant in 5 years, but then you already know how to repeat the cycle. You are older and wiser by now.

You are comparing yourself with much experienced friends. Ambition is a great thing but a negative feedback along the way is demoralizing. Know how to get positive feedback and keep yourself motivated along the way by gaining some perspective by doing freelancing or contributing to open source in your spare time. I’m sure most of the known names in programming have been there at the beginning of their career. You don’t have to be perfect to those, all you need to start is to be able to do things others can’t. One step after another you will improve faster than you can imagine. That way you can also dedicate some time in your week to learn and practice new things. You can do that by taking online courses or attending group workshops. Create dummy projects and try new techniques and tools. Remember, practicing a trade helps you sharpen your skills and a no-pressure hobby project is a great option to achieve that.

Scenario #3 not feeling challenged in your work. 

It is easy to feel bored if you keep doing the same tasks over and over … day after day. You are pretty good at what you do and it doesn’t push your intellectual limits any more – like production support job in a pretty stable environment where the most stressful moments of your job is handhold users to get their password reset. There is no development in repeating your job duties with little to no changes every single day. You can solve that by thinking outside the box, as cliché as it may seem, but this strategy actually works. Let the computer do the boring stuff by automating manual processes as much as you can in your code. By that, you will have time to work on your self-development. Re-visit old tools and try to improve them or even create new tools that will help you and others afterwards. That may provide some edge to eventually grow out of the grunt and maybe offer a distinction in the eyes of your manager. If a promotion doesn’t pan out as a result, you now have something to talk about in your resume for your next job.

Bonus Tips

At the end let me give you some bonus tips. The first and most important tip is to get out of your comfort zone. Keep challenging yourself to do things you never thought you could do. For example, involve yourself in a project written in a new programming language that you are not expert in yet. “Magic happens outside your comfort zone” I believe that if you adopt this saying in your life, you will really witness the magic. The second tip is to review your progress on a monthly basis. Make sure that you are heading towards the right direction, re-visit your goals and reflect on your outcomes. 

Conclusion

Finally, be sure that to set reasonable goals with achievable steps and don’t overload yourself with a lot of things at the same time. Small consistent steps on the right track will lead you to a better future and you all know the famous quote “The journey of a thousand miles begins with one step.”
























Comic time: Professional SCRUM hogger