Patience is something a lot of developers, even just people in general, don’t have a lot of. Software development is a team thing. Unless you are developing your own software, working on a software application requires a team to work together.
Understanding others
In your team, there can be members who are not very technical in which case you will have to explain yourself in a non-technical way about a decision you have made or an idea you have. Some people are quick with understanding your point and some need time to think and process what you are talking about. You need to be patient with yourself. Be patient with people while they are trying to understand you.
A lot of people don’t understand how hard programming is or can be. Sometimes people may give you a task without realizing the scope of what they have asked for. You as a developer know that great software takes time to code and test but others who aren’t developers may not. Take the time to explain why things may not be as simple as they think and answer any questions they might have. Remember to be patient and speak calmly. I have been in discussions where there were different types of people involved in which case developers had to explain simple technical things so others could understand.
It could be frustrating for you as a developer to break down technical terms but it is what it is. It is part of the job and great developers take the time to speak non-technically. Once you do it two or three times you will get used to it and it will just become second nature.
Be a good team member
Be patient with your dev team members when they ask for help. It will be a great way for you to gain their trust by helping them with whatever issue they are having. It is also a great way for you to explain what you know so that it sticks in your head more. Things I have learned today or yesterday stick more just because I take the time to explain them to someone else.
Perseverance
Programming can be hard as you might know. A bug can be dealt within a short period of time or it might take hours, days, weeks, months even years to fix. You need to endure through the struggles. You learn more through the struggles than when you don’t have them. People will like to work with you if you pull through and not run away when things get hard. Sometimes I pull my team together and we swarm on a show stopper bug that one of my team members is dealing with. Perseverance will take you far as a developer.
Be a great listener
To be a good communicator you must be a good listener. Most people don’t like to communicate with somebody who only cares about their opinion and doesn’t take the time to listen to the other person. A great listener listens very carefully to comprehend what is being discussed.
You must take the time to listen actively. You must pay close attention to what the other person is saying, ask questions for more clarity if needed, rephrase what the other person has said to make sure you fully understand their opinion. Once you completely understand what they have said then you can formulate your response and deliver it appropriately.
Try not to interrupt when people are talking. Allow them to say what they have to say and then you can express to them your thoughts. Doing this will keep the conversation on a smooth and untensed tone. I have been in team discussions where we could have reached a conclusion in a short period of time but team members were cutting each other off which led to long, time wasted, and unproductive discussions. Apparently, we couldn’t understand each other’s points because we weren’t listening.
Speak Clearly with Conviction
When you deliver your message, speak loudly and clearly and with conviction. You need to be sure to deliver your message accurately and precisely. State facts and back them up with examples. Keep it simple.
When you are unsure of your message, be confident and clear. People will still listen to you if you deliver your message with confidence.
Don’t talk too much or too little. Be precise and direct to your point whether you be on the phone, text, slack, or email.
Think about what you want to say before you say it. If you ramble on and on, your listener will tune you out or be confused about your message.
Maintain eye contact while speaking. People will feel more powerful about your message when you keep their attention to you.
Confidence
Use a friendly and firm tone of voice when speaking to your coworkers.
Make eye contact with at all times when speaking. Don’t look away from the person you are speaking to.
Avoid making questions sound like statements.
Try not to sound arrogant or aggressive.
Empathy
Do your best to understand others. Use phrases like “I understand where you are coming from” or “I understand your point of view” to show them that you have been listening and that you respect their opinion.
Feedback
Being able to give feedback is vital. It gives people the impression that you value and respect their work. Like if they have done something for you say “Thanks for your help” or “Thanks for taking care of that for me”. Giving feedback can greatly increase motivation and vibe within the work environment. It feels good to get a “GOOD JOB” from your peers so make sure you be the one to give one too.
Body Language
Your eye contact, body language, tone of voice, and hand gesture are all part of your message. Just relax. Open arms. Stand tall.
Eye contact is very important. You want to look the person in the eye to show that you are focused on them and the conversation you are having.
If they are not looking at you while talking to you then they may not be comfortable with you or they may not be telling the truth.
August 5, 2019Amazon CloudWatch is a monitoring service for engineers.. CloudWatch provides you with data and actionable insights to monitor your applications, respond to system-wide performance changes, optimize resource utilization, and get a unified view of operational health. CloudWatch collects monitoring and operational data in the form of logs, metrics, and events, providing you with a unified view of AWS resources, applications, and services that run on AWS and on-premises servers. You can use CloudWatch to detect abnormal behavior in your environments, set alarms, visualize logs and metrics side by side, take automated actions, troubleshoot issues, and discover insights to keep your applications running smoothly.
CloudWatch performs 4 actions normally, first it collects log and metric data, then monitors the applications, then Acts according to the instructions, finally analyzes the collected log and metric data for further usage.
Events
AWS CloudWatch indicates a change in your environment. You can set up rules to respond to a change like a text message sent to you when your server is down.
Alarms
CloudWatch Alarms are used to monitor only metric data. You can set alarms in order to take actions by providing a condition in the metric data of a resource. Consider the CPU Utilization of the EC2 instance can be upto 75% and an Alarm should be evoked once it crosses the range.
There are 3 alarm states:
One of these states will be considered at each millisecond of using CloudWatch metric data
Tail a log group from your computer. At the time of this writing, I am using aws cli v2.
aws logs describe-log-groups --log-group-name-prefix /ecs
The command above get all the log groups in the /ecs aws service. Here it will get all of the server log groups on ecs.
aws logs tail {log-group-name} --follow
Example – log api server on ecs
aws logs tail /ecs/backend-api --follow --format short
AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers. CodeBuild scales continuously and processes multiple builds concurrently, so your builds are not left waiting in a queue. You can get started quickly by using prepackaged build environments, or you can create custom build environments that use your own build tools. With CodeBuild, you are charged by the minute for the compute resources you use.
Retrieve environment variables from Secrets Manager
https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#secrets-manager-build-spec
https://mpasierbski.com/post/aws-codebuild-secrets/
https://aws.amazon.com/about-aws/whats-new/2019/11/aws-codebuild-adds-support-for-aws-secrets-manager/
https://blog.shikisoft.com/define-environment-vars-aws-codebuild-buildspec/