Author Archives: Abranti3 Dada Kay

Sprint 2

Team Retrospective – Sprint 2

I think this was another important sprint. Most of my group members were all new to the technology we are learning so this sprint kind of gave us an opportunity to read more about the programs api’s and how they worked and functioned. We also had a few tasks that could not be completed in the first sprint so we carried them over. For the first sprint we were to complete building the application and setting up the environment.  Some of our members were also able to connect the application to the server but that was officially a task of sprint number 2. After reading many documentations, we all connect to the server this sprint. Some of the other tasks that we were also to accomplished this sprint included checking out balsamiq and coming up with design ideas to implement. The design idea was no simple task because almost everything we thought of was too abstract for our current knowledge or not enough to contribute to the current repo so after sometime of going back and forth with ideas, we realized that on our Trello board, we had various tasks and features that were advertised and needed to be built and implemented in the application. After much discussions, we as a team were able to agree on one task that we felt could be accomplished and completed by us based on our current knowledge as a team. we picked the “offline login and Offline data storage” as the task we wanted to get done. Personally, i have not created any “login” applications but i believe i have the skills and capacity to learn all that i would need in order to be able to contribute my share to the team. After deciding to go this route , we realized that we needed help from other teams depending on what they had selected as their tasks to complete. Since we wanted to do the users offline sign in and data storage, we needed to store the user’s passwords and usernames locally on the device that will be accessed. But since log in credentials are sensitive and needs to be secured, we realized that we needed to implement a decoding and encoding encryption system. This way, all data saved on  the local system could not be accessed by anyone who would come in contact with it. Again the patients data would also have to model the same architectural pattern because patients information are private and thereby needs to be kept safe and secure also. With all these thoughts and approaches in mind, we reached out to a team that was next to us and luckily, they agreed to handle the encryption and decryption side of the design. This brought us to an ease because  it split up the overall tasks that needed to be completed by us but on the flip side, it puts a dependency on their team. We would have to know how the encryption works so that we can code to implement it.  This to some extent makes me worry a little bit because it almost seems as though if the other team encounters issues they are not able to resolve, we will be stuck but again, i know we can use dummy variables to get at least the concept aspect completed. Looking forward to the new sprint. !

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Pattern 4

 

PATTERN 5: THE WHITE BELT

I think this was a very informational chapter in the pattern lists. This chapter opened my eyes to the realization of my current situation. We are moving on to angular development for our capstone experience and its seems to be taking me longer to understand and grasp the concept. I had been using mostly java for most of my college programming years and have grown accustomed to the ways and norms of how things are done. But with this new angular task I realized that I had to learn and try to understand more things and even though I am a pretty quick at picking up new technology and understanding them, angular was just taking me long. But after reading this pattern, I understand that developing the deep knowledge and tricks in java and getting accustomed to being able to maneuver around in that specific language caused me to slow down my skill picking ability. Since I didn’t have to pick up much but instead implement and use what I had acquired. I believe and agree with the author of the book to some extent. I cannot just forget all I have learned and start from scratch but I can create a new array mentally that is to be filled with new technologies and languages and also try not to bring up what I already know when learning the new materials. But doing this, I will yearn a humble and fertile mind that will be able to grasp and understand anything that will be thrown at it. Also according to the author, unlearning what you have learnt and forcing yourself to believe in your novice status exponentially accelerates the new learning process and makes it easy to develop new insight and possibilities. I believe that its very important for me to understand that I have to give the new technology time and energy to allow my mind to digest it. And after that I will be able to combine it with my prior acquired knowledge, it is at that point that I can call my self a good programmer. Knowing one technology is good but being able to learn multiple and train your mind to utilize what you have learnt makes you a special programmer!

 

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Pattern 3 : Use The Source

 I found this chapter (pattern) to be another intriguingly good read. It addressed an issue I had questioned a fellow programmer about. I asked him about all these great programmers that have written many prestigious codes and programs. They didn’t have access to these Google sources we are able to consult for help to aid us in figuring out issues and problems. What did they look up when they had issues? Imagine a programing world where you couldn’t Google or look at other great programing works to model out a solution. No open source API’s and frameworks to work with. It would be very difficult to get things done. As the author said, if you don’t look at the works of other that are better than you, you are doomed to continue making your own mistakes and carry on your bad habits. I believe one of my professors made a confession about how much his coding changed for the better after reading the book, clean code. We often forget that we are a generation that strives to continually move forward and the key to doing this is by learning from others mistakes and building upon it so we don’t have to make the same mistakes by so doing, we maximize our time spent on moving forward. The development of one’s programming abilities is not a day’s journey. It takes many years of learning, reading and absorbing varieties of programing techniques and its proper applications. Through your learning, you will begin to develop a keen sense for what is proper and practical. You will also learn to understand the decisions and thought processes that goes into all the good programming works. Programming remains an art that needs to mastered and the more you are exposed to others exhibits and what the experts think about them, the more you will learn, see and inspire you own artistic sense. Although not to be confused with mimicking, we need to understand that everyone has their own niche that they will have to carve but this will result from being exposed to many programing’s forms and finding the one that works for you.

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Sprint 1

Team Retrospective – Sprint 1

 

I think this was a very important sprint because it introduced me to my teammates and it also showed me a little bit of what I can expect from my team during this project. During this sprint, we were to learn about angular tests and how to implement them, clone the project that was to be worked on, run the project and ensure that it built successfully and also make sure we were able to log into the program and kind of get a feel for the program’s UI ( User interface). Most of these tasks were accomplished and throughout the process, I was able to learn a bit more about my team. There were a few that reached out to us when we had issues and others even stepped up sent group messages text messages to ensure we were on track and slack messages when they came up with solutions and answers we didn’t have. Also I made sure to emphasize on creating a good working environment and a relaxed atmosphere for every one to feel comfortable and casual. I accomplished this by starting conversations and asking how everyone was doing whenever we had team meetings. Overall, I think we have a really good group and can get a lot accomplished this year because although there is some room for improvement, we already have pretty good team communication. As for actual work that was done, I think there was a very steep learning curve that had to be covered. I remember in previous classes, we did projects with angular and typescript but the tasks that were completed didn’t go into details as much as this project does. I think one of the issues that stands out the most is all the issues I had with the various angular dependencies. But luckily, one of our teammates was pretty comfortable with angular and was able to offer help when i needed. There were times we contemplated building the project on one system and making sure it was running there, then we were going to clone it into our team’s repository and get everyone to pull from that repository. This we hope was going to eliminate most of the error but we were wrong and after many research, we figured doing it independently on each machine would expose us all to many things that would be helpful to know. It would also add to our already limited angular knowledge.  Overall, it was a good sprint and I think most of what we set out to do was accomplished and I know lot more angular that I did a few weeks ago. Looking forward to the year!

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Use Your Title : Pattern 2

In this pattern, the author presents the issue of people getting moved into different roles due to their dedication to mastering their crafts and art.  usually when you become outstanding and put in time to better and help you team improve you begin to create a chain reaction of quality standards that either get matched by your peers who in turn become better programmers or you are put in a position to defend your processes and methods. ON the management level , this will serve as a sign that moves you to a leadership role or position in the company. It is at this point that the author wants us to understand that we do not need to conform to the pressure around us. As a software craftsman, you are to remain that and continually improve your craft without breaking into the distractions around you. we are not to allow ourselves to be controlled or changed by our title but we are to leave it at the outskirts of our consciousness. Once in such a position, do not be swayed by the positions descriptions and demands but instead use that as a gauge to assess your organization. If you were noticed due to you outstanding qualities, hard work and knowledge, it should serve as a sign for you to evaluate how well the organization seeks for growth and progress. On the other hand if you are not recognized although you are still exerting these qualities, that should also paint a picture of where the organization is headed. Everyone wants to be recognized when they do things that are deemed to be recognized so an organization that fails to recognize this often lose out on the talents of such a person. whiles companies that pay notice to things like that keep acquiring people of such traits. Another possible scenario that often results from this trend is the differentiation of both informal versus formal titles.Many times employees begin to grown into a positions of authority on teams, despite their formal title remaining the same. Growth into positions of authority booms with familiarity with the job, development of skills and an overall understanding of the specific companies processes and task. The more you understand, the more you can explain and the more you are familiar with a process, the better you understanding of it. 

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Pattern 1 : Your first language

 

This pattern talks about the biggest step for every “programmer”. I mean i can also say you need to take this step before you are given the title of a programmer. After reading the section above this pattern which addressed emptying your cup before receiving more, i found it very easily cohesive with the content of this pattern. Programming is almost like nothing you have done before. But its only when you begin to understand it, that you begin to see how in tune it is with things that we do everyday unconsciously.  I agreed with how the author addressed this chapter. Unless you open your mind to accept new understanding and insight, grasping the concept of programming as a whole becomes almost impossible. The only way to truly excel at this craft is to dedicated your entire life as a programmer to the cause of learning and improving everyday regardless of how much you know. because for all you know, a new language can erupt tomorrow and render your task and routine of today, obsolete. Everyday you sit down to program you have to be yielding to learn and grown because there can be a new framework that came out yesterday that can make your life a lot easier as long as you know how to implement it. To better implement new techniques and methods will ultimately depend on your understanding of the basics of programming. And your understanding of the basics and fundamentals can be attributed to your in dept understanding of your first  language and the tasks you used it for. But once you have acquired this knowledge do not allow yourself to be bound by this knowledge but instead use it as fuel to attain new heights in the programming world. Every task that you are able to complete or solve should fuel you to learn the next thing in line. Programming is one of those things that theoretical knowledge only goes a distant. Using the knowledge to build, solve and overcome new challenges broadens one’s understanding of the art and this is the path that leads to greatness. The learning curve of a particular framework or technology grows exponentially in regards to the task and problems it is used to fixed.

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman- Chapter 1

Woah !, I really enjoyed reading the book , Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. I have read many books and been in the software-learning role for a while but this book spoke entirely about how I had been seeing this field and how i felt it should be done. I am very emotionally connected to this life craft. I am currently a CS student and like this author, it wasn’t until my junior year in college that I began to see a future with this program for me. I had excelled in class and managed to perform okay but when I I tried to create new project for myself to work on, I found my self always hitting a blank wall. It wasn’t till last summer that I figured what was going on. I was studying how to program like it was a task to be done instead of a skill that needed to be cultivated. When attempting to cultivate a land there are many steps that has to be taken. The soil has to be prepped, and catered for the incoming crops. Everyone wants to be great at programming but you can’t expect a 3 year old to read a college level book. In programing, the gap between the proficient and beginner is so large but unlike ages and height, its not easily noticeable. Its it only when you decide to create something from scratch that’s when you realize and begin to appreciate the people who were able to build Operating systems and large software programs from scratch. This goes to prove the apprenticeship of the software journey. Those people that are able to do that, often don’t hold very high degrees when they were building those programs instead they invest time and dedicate their efforts into making a change by creating and developing something that will benefit the world. From this reading I do agree and believe that one has to invest time, sweat and effort into learning the art of thinking like a programmer. It is only then can you start to see what they can see and think like they can. In programming, if you can’t see and logically make the connection, it’s almost impossible to create. Teaching an individual what to see and how to interpret it takes time and is also greatly individualized. Just like apprenticeship, everyone has their own pace and cognitive strength and moving forward should only be allowed when what is needed is grasped. In a perfect world, everyone that graduates in software development should be able to code quiet adequately but such is not life and I believe and agree with this book in the sense that if you should approach software development as a personal piece of art that continually needed to be perfected, you will become a successful programmer.

 

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Intro – CS 448

Hello Everyone in Cs-448  !

My name is Kwame ofori and i am really looking forward to this class and getting some real world experiences. I believe experience is the best teacher so i am ready to learn !

 

 

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

Ministry of Testing Podcast

The Philosopher and the tester

In this episode of the ministry of testing, Israel Alvarez talks about his transition from a philosopher background to becoming a QA tester. He believes there is a lot of positives from his philosophy background that has helped his career as a software context driven tester. Philosopher raises topics and concepts that forces you to think and so does testing so it was fairly relatable and easy to apply his acquired skills from philosophy. Being able to critically think is key to becoming a great QA tester. Knowing what to test for and how to test for makes this arguably one of the hardest things to do. Often as a tester, you have to analyze your own thinking, many times risking the analysis paralysis syndrome. As a math and philosophy major, Israel was always faced with problems that often didn’t have plan cut simple solution so he always had to try and apply what he had learned to get the job done with thinking outside the box. That’s what makes testing so hard. Its easy to come up with some things to test in a code or program but finding out things that need to be tested requires a thorough understanding of the product or software that is being developed. You often need to understand it even more than the creators of the product. They only way you can adequately test a product is to find its boundaries, applications and purposes and see what you can do to challenge these thing or break them. In a start up for instance, there are deadlines, scope changes and many challenges’ that testers have to endure. Proving your value as a tester is very important in the early stages of testing. Learning to articulate and defend ones view, as a tester is an essential skill that every tester needs to have to grow. This is a major challenge because developers often have to prove their point and findings to the programmers. Programmers often have strong views and passion for their work and in order to properly nit pick and criticize defect or bug that is in their work, you need to be able to establish yourself and emphasize overall product quality in your defending’s. As a tester, developers often have stressed feelings towards your work. It’s just the nature of the job as a QA manager or tester. It’s your job to ensure that the developers have put out the best possible product or software they can produce.

 

Source

https://soundcloud.com/ministryoftesting/the-philosopher-and-the-tester-israel-alvarez

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.

38. How to be a Programmer: Personal and Team Skills

 

Coding blocks podcast is presented by Joe Zack, Michael outlaw and Allen Underwood. In this podcast episode, the gang talks about what it takes for someone to become a good programmer for his company and his team. One thing that is known to be a problem of the technology world is the lack of people with adequate teamwork and collaboration skills. I picked this particular podcast episode because I felt this would help anyone who reads. They talk about personal skills and practices that just makes one a better programmer in the industry. The main problem that occurs during team tasks is estimating how long a coding task will take. You want to please your boss and he also wants to please his boss so understanding each other and establishing that mutual trust makes it easy to work coherently in the task at hand. One challenge that most programming teams experience with their leaders is scope creeping. Scope creeping is a project management term that refers to changes, continuous or uncontrolled growth in a project’s scope, at any point after the project begins. This can occur when the scope of a project is not properly defined, documented, or controlled. It is generally considered harmful. This is because it causes problems and situations that are often not accounted for. Usually with every programming project, specifications are laid out and a timeline estimate is created for people to adhere to but once the scopes begin to change, unaccounted scenarios begin to happen. As a programmer, great communication between team members and leaders brings success to the project. This is because everyone has different level of expertise and often tasks and timelines are drawn based on the programmer’s expertise. Another thing that needs to be accounted for is vacations and sick absences. It’s the task of the programmer and team members to show commitment during tasks. You cannot take a 2 weeks or 1 week vacation when you know that the team is waiting for you to build the baseline site for people to continue developing on. This strings back to the trust issue. Efficient communications has to be open between members of teams to properly resolve issues such as these. Again communication thrives in teams when everyone is on the same level. Usually in teams, everyone has different background and finding that middle ground to communicate effectively helps the team thrive.

 

 

Source

https://player.fm/series/coding-blocks-software-and-web-programming-security-best-practices-microsoft-net/38-how-to-be-a-programmer-personal-and-team-skills

 

From the blog CS@Worcester – Le Blog Spot by Abranti3 Dada Kay and used with permission of the author. All other rights reserved by the author.