Showing posts with label #softwareengineer. Show all posts
Showing posts with label #softwareengineer. Show all posts

Wednesday, August 11, 2021

How to Avoid Burnout in a Software Engineering Job?

Consider this – you embark on a new project with much gusto, and end up building something of value that finds several takers. Then, you start getting overwhelmed because of technical issues and support requests. Burn out follows. While this is not the only scenario of burnout in software engineering jobs, it goes to highlight that the problem is all too real.

Fortunately, identifying early signs of burnout in your job can be easy. Once you do, you may take the required measures to steer clear of any such situation.

Symptoms of Burnout at Work

Overworking and stress often play a role in burnouts. Once on this path, a developer soon loses interest in coding and anything else that might be work-related. While symptoms of burnout vary from one person to the next, here are signs that warrant your attention.

Lack of passion or motivation
Having a sense of self-doubt
Feeling ineffective in your current role
Poor performance
Feeling fatigued (mentally or physically)
Feeling isolated or disconnected
Suffering from anxiety, depression, or insomnia
Suffering from headaches, dizziness, shortness of breath, or chest pains
Experiencing mood swings
Not being able to pay attention
Noticeable change in appetite

What Causes Burnout?

Instances of burnouts in the software industry are fairly common because this field is very challenging and highly demanding. Instead of having to work for a fixed number of hours each day or every week, software engineers are often found pushing boundaries because of seemingly unrealistic management-driven deadlines. Some of the common causes for burnouts in software engineering jobs include:

Under-resourcing by employers
Sitting in front of computers for extended durations
Monotony
Mental fatigue
Poor physical health
Cynicism and indifference
Weak culture of programming at the work place
Having to make personal sacrifices
No relief in sight

How You May Avoid Burnout

Avoiding burnout at your software engineering job so you may retain your passion for coding requires self-control. You need to start by asserting that you are in charge of what happens with your life. You should avoid saying yes to every project that comes your way because quality matters more than quantity. In addition:

Set non-negotiable boundaries and make them known to all involved stakeholders.
Learn to distinguish between what you want to do and what you don’t.
Let your boss know what you need in order to succeed – be it more time or additional resources.
Work for no more than eight hours per day.
Don’t work on weekends.
Don’t check work-related emails and messages after work hours.
Eat and sleep well.
Get enough exercise.
Consider meditating.
Avoid too much caffeine.
Assess your energy levels regularly.
Pursue hobbies that take you away from programming.
Be kind to yourself.
Limit the use of social media.
Take at least one vacation every year.

Conclusion

You need to understand that your productivity will take a nosedive if you suffer from a burnout, and all the efforts you have put into any process until now might end up going in vain. If you feel passionately about your work, or want to again, it is important to do what’s required in order to avoid a burnout.  Remember that you are in control of your life. Besides, even though you might have no control over what others think, your actions may have an influencing effect.

Wednesday, July 28, 2021

How to Handle a Coworker Who is Trying to Force You Into a Political Debate?

Do you find yourself at the receiving end of a coworker who is persistently trying to coax you into a political debate? Do you feel annoyed that you have to prove yourself in a capacity that has nothing to you with your professional role? If so, know that effective measures might be closer at hand than you think.

A Case Study

Julia works as a senior IC at a FAANG. One of her juniors tried to goad her into arguments based on a one-off political comment she made. Soon, it got to a point where she had to tell him that while their political views might not be the same, she was not comfortable discussing them, at work or elsewhere.

That did not have the desired effect, so she had to tell him she was banning all political conversations between them.  While this finally put an end to her woes, she said she was prepared to go to HR as a last resort.

What this goes to show is that simply asserting yourself might do the trick.

Set Boundaries

With political statements and opinions around the country flying thick and fast, it is very important to protect your boundaries. Where things stand, political debates are no more than two sides standing on their high horses – screaming about how and why they are right. If a coworker is pushing you into a political debate, simply say you would rather focus on work. 

Remember that you don’t have to talk about anything that is not related to your work while you are at work. Instead, you should feel empowered enough to decide whether or not you wish to participate in such conversations.

Know When to Take a Step Back

You need to be aware of the other person’s energy and body language so you can determine if a situation is getting heated or confrontational. If so, your best bet is to walk away. This is because staying calm and composed in a professional setting is way more important than trying to get someone else to see your point.

Backing away is easy. All you need to do is say you have something else to do. This could be getting back to work, making a phone call, or running an errand. Alternatively, you can try changing the topic. If that does not work, you might need to follow a more direct approach. In this case, you could say you simply don’t want to talk about it anymore.

If you reach a point where you feel a flutter in your stomach, a racing heart, or sweaty palms, know that your body has entered the fight or flight mode. At this stage, calming down requires that you make a conscious effort. The best you can do is end the conversation in an amicable manner.

Be Respectful

Respecting others’ political views at the workplace is just as important at respecting other aspects of their lives. Just because a coworker does not share the same political views as you, it does not have to lead to hostility, harassment, or retaliation. So, even if you feel you are being pushed in a corner and are being forced to retaliate, simply take the higher road and walk away.

When All Else Fails

Companies do not want their employees’ political inclinations and affiliations to affect their work in any adverse way. They want you to do your job well and be on your way. If all the efforts you put in getting your coworker to back off go in vain, consider taking the matter up with your HR department.

Unfortunately, data released by the Society for Human Resource Management (SHRM) suggests that more than a third of working American feel that their workplaces are not inclusive of different political perspectives. If you find that your HR is not taking effective measures to alleviate your problem, you might have to think about whether you wish to continue in your existing role or look for a new job.

If you feel your coworker’s persistence constitutes as harassment, you might even want to get a legal opinion. 

Conclusion

Falling into a trap and ending up arguing about your political views with a coworker will do you no good. After all, neither of you are going to change your political views through the course of a heated argument. Remember that entering a political debate of refraining from one is entirely up to you, and when at work, steering clear of any such situation is always in your best interest.


Thursday, July 15, 2021

How to Deal With a Biased Boss?

Do you think your boss showers one or more employees in your team with special treatment, while the efforts of others go in vain? If so, understand that the workplace is almost never a level playing field because bosses and employees are all too human. Work place favoritism has probably existed since the dawn of workplaces, and most people find themselves at one end of the spectrum or other at some point in time.

While dealing with a biased boss might seem daunting, you need put your foot down at some stage in order to move forward professionally. Fortunately, finding a solution might be simpler than you think.

Signs of a Biased Boss

You need to be sure if your boss is biased so you may take effective corrective actions. Here are signs that mark bias in a boss.

  • A particular employee is constantly showered with praise for no apparent reason.
  • Others in your team get better career development opportunities.
  • You feel micromanaged all the time.
  • You don’t get feedback.
  • Your request for a raise is rejected without a valid reason.
  • You’re not included in important meetings.
  • You receive criticism even when you do a good job. 

Are You Really a Victim?

Are you sure that your boss is biased or might you have perceived a situation incorrectly? One way to determine if you’re thinking straight is to ask your colleagues if they feel the same way. Pay attention to conversations between your boss and those who you feel receive undue praise. Could it be that the people you who feel are being favored are actually more adept at handling tasks assigned to them? Remember that an incorrect assumption can lead to drastic consequences.

Act Normally

Pretend that you have no inclination about your boss playing favorites. You definitely don’t want your boss to see you in bad light, which is why you need to keep all adverse reactions at bay. While you might not be your boss’ favorite, you don’t want to end up at the bottom of the ladder either. Bear in mind that emotions can cloud your vision. Determine what the favored employee is doing right, because two can play the game.

Know Your Performance Metrics

Seek clarity about the performance metrics that apply on your team. Ask for your key responsibility areas (KRAs) so you can identify the basis of your evaluation. With a clear picture of your targets and expected standards, you know just what you need to do to get your boss’ attention. However, this also requires that you put your best foot forward consistently, and work on improving your skills.

Find a Mentor

If you feel that no matter what you do your boss is just not giving you your due, consider finding a mentor. A mentor can guide you in exploring other possible roles within your organization based on your skill set. In addition, you may also receive guidance surrounding what you need to do to improve your skills and how to get noticed by other leaders in your organization.

Document All That You See and Hear

Once you’re sure that your boss is biased, start documenting all that you might see or hear about him/her, because this is crucial when it comes to establishing a pattern of biased behavior. However, this step requires that you be honest and objective. You might make use of this documentation at a later stage, if higher ups or the HR department enters the picture.

Talk to Your Boss

You might consider bringing your reservations up with your boss directly. However, make sure you are subtle, as opposed to being accusatory. In some cases, highlighting clear data points instead of making generic statements helps bring to the surface some unconscious biases.

Explore Other Options

When all else fails, you might want to look for other opportunities, either within your organization, or elsewhere. Some organizations give employees the ability to make lateral moves to other managers or projects. At this stage, affecting a positive change is basically up to you.

What You Need to Do If You Face Discriminatory Bias

The U.S. Equal Employment Opportunity Commission (EEOC) states that it is illegal to discriminate against employees based on race, religion, color, sex, age (40 or older), national origin, disability, or genetic information. It is also illegal to retaliate against anyone who has complained about discrimination, filed an official complaint about discrimination, or taken part in an employment discrimination lawsuit or investigation.

If you find yourself in any such situation, consider filing a complaint with your organization’s HR department. You might also think about contacting a lawyer and/or the EEOC.

Conclusion

There is no reason for you to go out of your way to please your boss as long as you’re good at your work. What you need to bear in mind, though, is that your boss is simply trying to provide value to his/her boss. Favorites typically help managers look good in front of their bosses, so there’s no real bias there. If you can think of a way to make your boss’ life easier, you might find yourself becoming the next favorite. If things seem beyond your control and the bias is real, reporting it might be your best bet.


Wednesday, July 7, 2021

As a Software Engineer, Do I Move to the East Coast From San Francisco? What’s the Difference?

Are you thinking about moving from San Francisco to the East Coast to pursue your career in software engineering? If so, know that there are several aspects that need your attention, and they don’t limit just to your salary. If you plan to make this move, it is best that you determine its pros and cons well in advance.

Where Do You Plan to Go?

Making the decision becomes considerably simpler if you already have a job offer. In case you don’t, you need to identify your options ahead of time. This is because software engineers tend to serve distinct sectors across different East Coast cities.

  • Most software engineering jobs in New York relate to servicing the finance industry, which includes names such as Citadel, Jane Street Capital, and Goldman Sachs. 
  • Jobs in Washington D.C. are mostly government-based.
  • Hartford’s software engineers largely cater to the insurance sector.
  • In Greenwich, they are typically found working around hedge funds.

What you can notice here is that while software engineering jobs in San Francisco revolve around technology, technology serves as an add-on feature in cities along the East Coast.

The Money

How much money you stand to earn and save as a software engineer might depend on the city to which you move. In a list of 21 cities that find favor with software engineers, Seattle and San Jose take the top two spots when it comes to real earrings. This accounts for income and expenses, while paying due attention to the cost of living. For example, gas is more expensive along the West Coast, and so is the typical cost of home ownership. Washington D.C., Boston, and New York find themselves at the bottom of the list.

When it comes to highest paying salaries, San Francisco takes the lead, followed by San Jose, and New York comes third.

The Weather

Weather across both coasts can vary significantly because of what the Atlantic and Pacific oceans bring. If you’re in New York, you can expect long and very cold winters followed by blazingly hot summers. You can experience all four seasons here in all their glory, with fall making way for some beautiful landscapes.

Weather along the West Coast is typically milder. For instance, South California is warm and sunny almost all through the year, whereas even the northern part does not get very cold in the winters. If you go further north on the West Coast, you’ll experience no more than the occasional snowstorm.

Recreation

The West Coast offers great diversity when it comes to taking a break. You get to choose from a plethora of beaches, driving routes, national parks, and hiking spots. While the East Coast is mainly mountainous, it still has some great national parks. 

The Other Differences

Here are some other differences that might warrant your attention in case you plan to move eastward.

  • The West Coast is more politically liberal than the East Coast.
  • New York City beats San Francisco when it comes to public transportation.
  • The West Coast is better at recycling its waste.
  • The East Coast is typically more fast-paced than the leisurely West Coast.
  • Cities in the east are more compact than their western counterparts – think New York.
  • If New York has theatre and fashion, San Francisco is famous for its music and museums.

Conclusion

You can make the most of moving to the East Coast from San Francisco if you know exactly what you’re after. However, determining just how your move might affect your future prospects is crucial. Switching back from a government-based tech job that involves little innovation to a completely tech-based company later in life might not be easy, after all.

Wednesday, June 30, 2021

How to handle teammates that hog up time in Standup meetings?


Introduction

Have you ever been in a meeting where you or your teammates were not given the chance to speak-up or discuss your tasks and ask your questions because there was that one single team or member who spent more time than they are supposed to with the manager of the meeting, discussing aspects related to their own assignment without giving consideration to the time limit or other teams waiting in line?! There is a high chance that you have gone through or experienced this situation yourself at least once during your career or academic studies. In this article, we are going to provide some point that will help you to deal with that. 

Standup meetings

In today’s world, time is money. For example, every second that passes by in wall street, thousands or millions of transactions are made, companies and individuals can lose or gain a huge amount of money if they do not react quickly or in a timely manner. A company can lose a patent or an invention to its competitor, just because they were seconds late. This is a fast-moving world that does not wait for people who are slow.  After understanding the importance of time specifically in the business industry, let’s explain briefly what are standup meetings. Standup meetings are basically group meetings that are conducted between participants with one simple difference that you might have already guessed it, it is conducted while the participants are standing. The main aim of conducting the meeting with participants standing is to make the meeting duration short and quick, where just basically the main feedback or essential tasks are discussed and then everyone is back to their own work. This gives managers and teams the opportunity to be updated on projects’ progress, potential issues and prioritize tasks. This type of meetings is currently being used widely in companies and even in universities and schools. Standup meetings can last between 15 to 30 minutes depending on the size of the teams and project. 

Importance of Standup meetings

Among the unique features of standup meetings is that they do not need to be conducted in meeting rooms, equipped with chairs and projectors, instead they can be conducted in hallways, courtyards or in any other area that can just accommodate the participating number of people. Standup meetings give all members the chance to present and share their work and update briefings in a concise and effective manner. This creates some kind of leaning forward concentration in the meeting among the participants instead of the traditional laid-back approach of participants sitting on chairs and listening to prolonged hours to the presenting participant. The standing position of participants creates and boosts participants attention and information retention. This helps in speeding meetings up, which can be a huge waste of time if conducted in the traditional way. This improves productivity due to the minimal disturbance of the workforce. 

Problem Identification

Standup meetings are not meant to last long as they are intended to address main issues and updates in brief details and in a clear manner. However, some individuals or teams do miss the main point of standup meetings and go into details taking so much time and wasting their own and others time. This inconsiderate behavior creates a toxic waste environment that badly affects all teams and the organization as a whole. Standup meetings are not intended to discuss each and every step that was taken to solve an issue but rather to be concise and to the point with your presentation. Some team members might not get the chance to represent their work, concerns or issues, giving a bad impression to the manager or the team leader. 

How to handle a Standup meeting?

There are three main players in a meeting, the presenter (the person who is talking and presenting his work and issues he/she is facing), the manager (the person who is running the meeting and responsible for the combined work of all teams) and the coworkers or teammates (coworkers or teammates who are working in the same team as the presenter or working in other teams and on other tasks than the presenting team). There are many ways by which someone can handle such situation. The teams who did not get the chance to present their work at all or in an appropriate way because they were given no time, can talk to the manager separately about such problem. They can also call out the presenter in a polite way stating that they are not going to have time to present their issues and share their progress. You can also make a bold move of informing your teammates and manager that you have another meeting and you are going to leave. The meeting manager should set a time limit of 3 minutes to 5 minutes per team depending on the size of the team. An experienced manager should notice when time limit is exceeded and should stop or warn the presenting team. A good manager should give an equal chance to all teams and team members to present their selves. The third player, who is the presenting person who is exceeding the time limit should be considerate and respectable of his/her teammates. He/she should time himself/herself and tackle the main points and issues in his/her work. 

Conclusion

People like those who spend more time than their time limit and limit the chances of their teammates and coworkers to sufficiently present themselves, by trying to over spot the light on themselves and their work, will always exist, because people are of different personalities and characteristics. To amend such behavior, we should highlight the issue on the spot and advise the manager and teammates of the problem and how such behavior could lead to workplace toxicity. If we keep saying: yes, I am against it without taking action the moment it happened, it will always exist. However, if the community condemned it and took action right away, that would help limit the problem, resolve the issue and lessen the chances of it happening again. So, take action!

References: 

https://www.teamblind.com/post/Fed-up-with-blabberers-during-standup-u2Pouk6P
https://blog.bird-office.com/en/2017/08/23/advantages-stand-meeting/

Thursday, June 10, 2021

Why self evaluate?

Are you wondering why you need to self-evaluate before your performance review, because no matter how well (or not) you are doing, your boss will have the final word? Do you think your evaluation might hold absolutely no merit? If so, know that the self-evaluation process is typically in place for good reason.

By the time you are done reading this page, you will find out why organizations require their employees to evaluate their own performance, as well as how to go about the process.

The Need for Self-Evaluation

Self-evaluation gives employers means to engage their employees when it comes to evaluating their performance, as well as for formulating career goals. As an employee, it gives you an opportunity to prepare for your appraisal, after taking into account your performance and overall contribution to your team and organization.

Reasons why self-evaluation plays an important role in performance reviews include:

  • You get to reflect on your professional accomplishments and mistakes. 
  • Your manager gets to look at your performance from your point of view – be it in the form of your achievements or the challenges you face.
  • Highlights from your self-evaluation serve as the foundation for your future objectives and goals, and can also be used to develop a suitable self-development plan.
  • You can use the results as a driving force to motivate yourself.
  • Your employer might use it as a basis for a hike in salary, a promotion, or a renewed contract.
  • It helps highlight differences in performance-related expectations between employers and employees.

Feeling Intimidated is Normal

It is common for employees to feel intimated when they have to self-evaluate their performances. Matters can get especially challenging if you feel that your manager might cast aspersions on your ability to self-evaluate.  Some people find it hard to bring objectivity to the table, whereas some others have doubts about the details they need to include.

Bear in mind that your self-evaluation gives your manager a good starting point, and going through the process requires that you have a clear plan.

The Approach to Follow

Begin by making a list of all your responsibilities and duties. Take time to think about your performance since your last performance review, appraisal, or performance development meeting. Aspects that you need to include in your self-evaluation include:

  • All the goals you have accomplished
  • All your failures and mistakes
  • Areas in which you need to improve
  • Future goals

Since the idea behind a self-evaluation is to highlight your accomplishments, it is important that you take pride in your work. However, you need to be specific, rational, honest, and critical in your approach. You also need to shed light on all that you have learnt. Including facts and figures tends to help.

During the performance review, ask your manager for feedback about your performance. If the answer suggests that your performance is not up to the mark, identify what you need to do to improve. Treat the process as a conversation and not an inquisition. 

Conclusion

Self-assessments offer benefits for employers and employees alike.  Employers can use them to find out how their employees feel about their own performance. As an employee, you can use a self-assessment to identify your own successes and shortcomings. It can also serve as effective road-map, helping your career progress in the right direction.

Feel free to ask questions about this blog post by using the comments section. If you found the write-up to be helpful, please share it with others and click on the like button. Read more articles about careers in software by following us now.

 

Wednesday, May 19, 2021

Do I complain? How to handle a trash talking coworker?

Have you ever been in a meeting where you or your coworkers were getting trash talked by a toxic coworker and not even given the chance to discuss or resolve the issue in an open and fair discussion?! There is a high chance that you have gone through this situation yourself at least once and even if you didn’t, you might encounter such a situation in the future. This article will guide you on how to handle such a situation by standing for yourself or your coworker and refusing to get stepped on by the toxic trash talking coworker. Whether you are on the right side or on the wrong side, you have to step up for the trash talking as this is not the correct way to fix an issue. The manager or team leader has to step in and play his role in resolving the conflict in case of situation escalation. Disagreements and conflicts are inevitable. People are different and each person has his/her unique set of qualities, both good and bad. Problems occur! Such problems if not resolved early can negatively affect the work space and create an atmosphere of toxicity. 

Trash Talking problem

Trash talking is the act of making insulting remarks in attempt to demoralize and humiliate another person, whether a coworker or an opponent. The way a trash talker is handled is very critical and decisive. The first step is to clearly identify the problem or the cause that created the motive to trash talk. There has to always be a problem or issue behind the trash talking. The trash talker won’t simply come up to you and start trash talking for no reason. So, the ability to identify a probable cause is crucial, whether you think you are right or not. If identified early, the issue can be resolved easily before it escalates and gets worse. It is always advisable to look out for signs of accusations before they escalate and watch out for soft disagreements that are ought to be addressed right on the spot before they rest in and grow. 

Ways to handle trash talking coworkers

Now, if you failed to identify the problem and the conflict started to escalate and the trash talking commenced, then here are some tips on how to handle the situation. There are three main possible players for such a situation. You can be the coworker himself/herself, who is getting trash talked or you can be a coworker, who is just spectating the whole situation or you can be the manager or team leader of the conflicting coworkers. Let’s start with the first case, where you are the coworker who is getting trash talked by another coworker. Firstly, you need to try and understand the problem and the view point of the trash talker. You will need to state facts with evidence to help support you position such as emails and messages. Instead of merely arguing, just show proof that supports your point and defends your position. For example, if are accused of not completing your task on time, just mention something like: “As per our conversation on the 5th of February, you didn’t provide any feedback, so I hadn’t had the chance to wrap things up. I followed again on the 15th and there was no response from your side as well, as a result I wasn’t able to wrap things up on time.” It is essential that you understand the position of the accuser in team. If he has a better hold on the manager than you, and you get constantly cornered all the time even after the manager’s intervention, then it is highly possible that your manager is not doing enough and it is better to plan an exit from the team, as there is nothing much you can do. An escalation to the manager’s boss will help the company, but may not benefit you. Now, let’s move on to the second case, where you are a spectator. In this case, you need to make sure that you listen to both sides of the story and be sure that you understand the issue correctly. You are then required to intervene and come to a conclusion on who is right and who is wrong, if any. This will help resolve the issue using a third unbiased party and will make the conflicting parties keener on listening to your decision and solution. You should also inform the trash talker that trash talking is a bad way of conveying your frustration at a work place and that there are many other possible ways by which you can reach the coworker and let him know of your concerns and problems in a more friendly manner. Our final scenario is being the manager and coming in play to resolve the conflict. As a manager, handling team conflicts is your responsibility. You need to make sure that you listen to both sides of the story and be sure that you get the full picture. Then you are required to intervene and decide who is wrong and who is not in a professional and unbiased way that doesn’t undermine or hurt anyone’s feelings. To avoid situation escalation, it is recommended that you meet with the team members frequently and make sure that they are not facing any issues or problems. In case of the existence of issues and within team conflicts, it is recommended that you talk to each individual alone and tell him/her what ought to be done.

Conclusion

To conclude, trash talking back to a toxic coworker is not going to solve anything but rather escalate the situation, hinder work flow and have its detrimental impacts destroy the team or the company. Handling such situation should rather be with reason, proof, logic and according to work place laws and rules. In case the accusing trash talker is offensive and doesn’t take logic and proof for an answer and the same situation is repeated regularly, then you are faced with two main choices. You can either escalate the situation to the manager or team leader or you can request to leave the team or work place, if the manager didn’t help or was unfair to you. 

Tuesday, May 11, 2021

What is an SRE?

Introduction

With the incorporation of software in almost every industry and the huge dependency on programming and computer science, it was just a matter of time before a new discipline was introduced. According to Ben Treynor Sloss, who is Google’s engineering vice president, “A site reliability engineer is a software engineer who is responsible for developing an operations function”. Site reliability engineering (SRE) uses the versatility of software to handle regular IT operations such as server management and other computer operations by establishing reliable software systems. SRE task forces usually utilize and develop software to handle project issues and problems, increase project autonomy and manage the entire project’s process with minimum manual intervention and manpower. Despite being a commonly used term in classifying work teams, the majority of the people working in both software and project management industries are still not fully aware of the underlying concept behind site reliability engineering. This article is an attempt to clarify what does an SRE do, how is an SRE important to business and projects, how are SRE teams different from DevOps and what kind of tools and technologies that an SRE utilize.

What does a site reliability engineer do?

SRE work can be divided into two main tasks. About half the time is spent on developing and programming new features, increasing system autonomy and project scaling. The rest of the time is spent on operations related work including tasks that require personal intervention and on-call duties. So an SRE should have a balanced mix of system administration skills and software programming, automation and engineering. Among the duties of an SRE is the code deployment, configuration and monitoring in addition to responding to emergencies and managing production service capacities.

How important are site reliability engineers?

SRE makes the project management process of large projects easier by developing complicated codes and algorithms that handle most of the regular and daily tasks. The software developed can be expanded to administer a huge spectrum of machinery and equipment within a company. As I mentioned earlier, SRE’s work can be divided into two main sections, standardization and automation. It is the goal of an SRE to improve a system’s reliability and features while automating operations tasks. The unique role of an SRE requires programming skills and operations management experience. SRE teams are particularly important for startups. Due to its small scale and inability to hire large groups of developers at large scale, having SRE teams would be extremely beneficial for the startup. After understanding how important are SRE teams to a company and what kind of work do they handle, we now need to discuss how do SRE teams work within a development team. 

How different are DevOps from site reliability engineers?

Site reliability engineering implements the idea of DevOps at its core. But what are DevOps? DevOps simply denotes development and operations, where developers are responsible for writing codes, which are then passed on to the operations team for installation and support. However, due to the separation between both teams, developers were not responsible for how the software or features would be used, leaving the operations team in a bad position. This led to problems because the goal of the developers is to keep introducing new features for the customers with new pieces of code, whereas the operations teams are seeking a steady system with stable and steady changes. However, by combining both teams and helping them understand each other’s duties and responsibilities, introducing new features will not only be based on developing the code for the feature itself but also on the consequences and fallout this new introduction might lead to. DevOps and site reliability engineering are often confused because of their similarity in many aspects and properties. Both DevOps and SRE seek high quality and fast services delivery as well as life cycle development, by optimizing business value and responsiveness through automation, platform operation enhancement and integrating both development and operations teams. Now, let us see how is SRE different from DevOps. First of all, SRE teams take to their own hands the duty to eliminate communication and workflow issues. SRE teams’ main goal is to achieve site reliability while adding novel ideas and features, whereas DevOps are mainly concerned with efficient development of operation using platforms such as Kubernetes and microservices. Unlike DevOps, SRE teams split their working time between operations and development tasks such as systems scaling and automation implementation, which is a crucial aspect in the site reliability engineer’s role. A key component for SRE teams is to achieve that balance between both operations and development work. 

What kind of technology supports a site reliability engineer?

In order to determine the type and time of features to be launched, SRE teams use Service Level Agreements (SLAs), which are used to determine the necessary system reliability depending on Service Level Indicators (SLIs) such as availabilities, rate of error, requested latency and systems throughput, and Service Level Objectives (SLOs), which are based on specified goal values and budget error. Due to the fact that an integral aspect of SRE’s work is automation, unified software containers usually provide teams with a common development environment facilitating work integration, automation and delivery.

Conclusion

Incorporating site reliability engineers can be handful especially for startups. They can assist developers by solving some of their general issues, hence providing them with more time to handle programming specific issues. They can also improve the capabilities of the tools used by developers to help them become more productive. In addition, the customer will be provided with a product that has high reliability and security. It is important to mention that finding an SRE to join the team is not quite simple due to the fact that they are looking for a person who are able to multitask and handle both operations and software engineering at a high level. It is always a pleasure to answer all your questions and see you in the next one.

**Note: All the attached photos are royalty free and not copyrighted. 

Tuesday, April 27, 2021

Facebook – Solution Engineer vs Software Engineer

**Note: All the attached photos are royalty free and not copyrighted.

Introduction

As we all know, Facebook is one of the largest tech companies in the world in the meantime. It ranks in the fifth place according to brand value compared to other tech companies in 2020 with a whopping 147 Billion Dollars. Facebook Inc. has also acquired multiple tech companies in the last decade such as WhatsApp, Instagram and more. Without a doubt, it is mesmerizing to be part of Facebook, whether as a software engineer, a solution engineer, or at any other position. However, if it is an option that you can choose between a software engineer and a solution engineer, then there are some points that you will have to consider before taking the decision. In this article, I am going to point out the major differences between both roles, and hopefully help you pick the one that is more suitable for your preferences. 

What does a Software Engineer do?

A Software Engineer utilizes his/her knowledge and expertise about computer science to write codes using programming languages, in addition to servers, databases and frameworks that are used to create computer or mobile applications, operating systems … etc.

The software engineer’s responsibilities can vary from one job to another and there are many career paths for a software engineer other than coding jobs. Here are some examples: web developer, mobile developer, test & quality assurance engineer, machine learning engineer, data scientist/engineer and much more. 

What does a Solution Engineer do?

A Solution Engineer is like a job description and not a field of engineering. It also requires a bachelor in software engineering or computer science just like the software engineer. Nonetheless, a Solution Engineering role can be considered the interface between the development team and the client or the customer. The solution engineer also makes use of computer science principles to make sure that every component of the product or the software is running seamlessly as it should be, without any glitches or lags. The solution engineer is not only responsible for the software part of the product; however, he/she is responsible for the integration with the hardware components of the system. Not to forget that another major role of the software engineer is to familiarize the client with the product; that includes operating demo presentations and some technical meetings explaining the product or the system. 

Major differences between both roles

One of the qualifications that should be found in the solution engineering role and not in the software engineer is the fair knowledge of sales. The solution engineer is the one responsible for outlining the client’s needs and delivering it to the development team making sure that the client is satisfied with the outcome solution. As mentioned earlier, the solution engineer is more of a client-facing role while the software engineer is more of a back of house role that is not felt by the customers. 

Responsibilities of a Software Engineer at Facebook

Just similar to any software engineer, they are working on creating new products and systems that run the Facebook Group’s apps and services. The software engineering force at Facebook is divided into multiple teams, which are Products and Services Teams, Infrastructure Teams and the team of Specialists. The first team is focused on utilizing new technologies to create new features and improving the existing ones. The second team works on ensuring the stability and efficiency of the infrastructure of Facebook such as servers, data storage, system resources and more. The final team, which is the team of specialists, usually work on integrating the new technologies with the complete structure of Facebook. 

Responsibilities of a Solution Engineer at Facebook

A solution engineer at Facebook, his/her time is divided 50/50 between two main sorts of tasks. The first one is to code and develop new products and services just like other software engineers. The other sort of tasks is actually a combination of activities such as dealing with support requests, performing adoption of new products to be able to comply with Facebook’s technologies, interacting with clients and partners, doing public speaking or even writing some blogs. 

Conclusion

Assuming that you have the opportunity to choose between the two positions, your choice should be based on multiple factors. The most important one is to choose the role you are more passionate about. You will perform better if you’re enjoying what you are doing. The second factor is the career future. As discussed earlier, the major difference between a software engineer and a solution engineer is how deep you are involved with coding. Software engineers purely write codes, on the other hand, solution engineers are more client facing with some sort of involvement in code writing. It is totally up to you to choose the track you want to take. Specifically, at Facebook, code writing is highly integrated in the tasks of a solution engineer. Accordingly, you will not miss the benefit of being into coding on a regular basis with the addition of gaining experience from clients’ interaction and sales tasks. The third factor is the salary; both roles are paid roughly close figures. The average annual salary of a software engineer is around $92,000. For the solution engineer, the average annual salary is around $100,000. The common qualification that you must have to work at Facebook is to have brilliant developing skills; hundreds of millions or even a billion users are testing your output every month so any mistake will be very costly. 

Comic time: Professional SCRUM hogger