All posts by eddiebroeder

Delivering a project and presenting to a multi-level audience

Describing the details of a technical project to an audience with varying understanding of the topics presented can pose a significant challenge. The presenters want to keep all listeners interested, but that can be difficult to do when some listeners want to hear the technical details and others would be bored and confused by them.

5731494894_terminology_xlarge

Ideally, the presenter will try to find some middle ground. It can be difficult, but it is usually possible to describe some of the technical functions of software in simpler terms, using less technical terminology than one usually would while discussing a project with peers. It is also advisable to restrict audiences to similar technical levels, but this is not always possible. Another tip that may be helpful are to pay attention to which audience members seem bored or confused, and to adjust your presenting style accordingly. When it simply would not be possible to omit certain technical terminology, the presenter can use said terminology, and then provide a simple description of the terms without singling out any specific person. In other words, the presenter could state that a LinkedList is used to temporarily store data, and then make a short explanation to the entire audience about how a LinkedList is a data structure to which elements can be quickly added or removed. This method will help everyone understand what the presenter is saying, as well as keep the presentation interesting and relevant to the technical people in the audience(Duran et al., 1999).

Understanding-copywriting

There will be times that the nature of the project necessitates a large amount of technical terminology be used. In such a presentation, it could be helpful to advise the people who will make up the audience in advance to study or at least become somewhat familiar with certain material as to better understand the presentation. The likelihood of audience members actually doing this advance studying depends largely on the reason for their being at the presentation. Many people who have a vested interest in what is being presented would hopefully take the time to learn how the project works. On the other hand, those who are required to be at the presentation but do not have any interest in the inner workings of the project are probably less apt to learn about it on their own(Tiger et al., 2012). Keep in mind that these two examples of audience members are not mutually exclusive, a person could have a vested interest in the project and still not want to study it in advance. The only thing to do in a situation like this, is as I said earlier. Use the terminology when necessary, and provide a brief explanation so the entire audience will have an understanding of what is being said.

 

Works Cited:

 

Tiger, D., & Hess, G. (2012). Agile Approach to Design Leads to Client and Job Satisfaction. T+D, 66(4), 108-109.  http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=73887969&site=ehost-live

Durán Valenzuela, J. L., & Sánchez Villacorta, F. (1999). The relationships between the companies and their suppliers. Journal Of Business Ethics, 22(3), 273-280.  http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=507668122&site=ehost-live

First Picture Link:

http://www.sodahead.com/living/technical-terminology-question/question-3350489/?link=ibaf&q=&esrc=s

Second Picture Link:

http://writtent.com/blog/stuck-writing-35-sure-fire-copywriting-tips-tricks-pros/

Handing off a project to a client; what are the risks and challenges?

Handing off a project to a client can be one of the most rewarding and nerve-racking experiences in the agile process. It is rewarding, because all of the hard work done on the project will hopefully be appreciated. It can be nerve-racking, because the team handing off the project never knows for certain that the project will be well-received.

handoff

It can be a difficult decision for the team to decide that a project is truly complete and ready to be handed off. For a more complete description about what constitutes a finished project in agile, refer to my earlier post on this topic. The development team wants to be sure that the finished project is exactly to the client’s liking, that the client will appreciate the work that the team has done. Agile development methodologies do make this process slightly less stressful, because the client (product owner) should be involved throughout the process. In a waterfall style project, the client will only see the end product, and could be unpleasantly surprised at how it turned out. An agile team will have collaborated with the client through many iterations of the project development cycle, and will be receiving updated input at regular intervals. This assures that the client will not be surprised by the completed project, and that the project will most likely be exactly how the client envisioned it(Jackson, 2012).

agileLifecycleScrum

Though an agile team will ideally have collaborated with the client throughout the process, it is not always a given that the client will remember past decisions, or understand all that is said in a meeting. This is why it is very important to involve the client during the design and development process, so the end product is something that the client will be happy to accept. It goes without saying, that a team that designs software that is well received by a large majority of its clients, is a team that will have business in the future. I have learned that it is often better to ask questions during the development process, even questions that might seem trivial. It usually won’t hurt to ask extra questions of your client, about how exactly he or she would prefer the software to be. Conversely, not asking questions and assuming incorrect answers can lead to a “finished” project that is not “finished” in the eyes of the client. Though there are a number of challenges and risks that are assumed when handing off a project to a client, these risks and challenges can be mitigated by following the procedures of certain development methodologies, such as agile (Wells, 2012).

 

Works Cited:

JACKSON, M. B. (2012). AGILE: A DECADE IN. PM Network, 26(4), 58-62.    http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=74501495&site=ehost-live

Wells, H. (2012). How Effective Are Project Management Methodologies? An Explorative Evaluation of Their Benefits in Practice. Project Management Journal, 43(6), 43-58.  http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=84306321&site=ehost-live

First Picture Link:

http://pmtips.net/onboarding-success/

Second Picture Link:

http://www.ambysoft.com/essays/agileLifecycle.html

 

What five technical skills are employers seeking? What five soft skills put you on top?

Though this question can be asked about many fields, this post will focus specifically on the technical skills that employers are seeking for positions related to computer science. Though this narrows down the skill set a lot, there is still a huge number of technical skills that could be useful for a great number of different, computer-related occupations. There are skills used every day by web developers that are not needed by embedded systems programmers, and vice versa. Because there are so many occupation specific technical skills, I am going to attempt to list and explain five technical skills that are sought by a relatively wide range of employers searching for candidates with computer science degrees The first of which is the ability to understand the principles of object-oriented programming. Object-oriented programming is very helpful, in making programs easier to understand, as well as easier to write. Another important skill is a working knowledge of the command line interface in various operating  systems. It seems that a programmer will sooner rather than later find the need to use the command line interface in his or her experience (Thomas, 1994). A programmer should also be familiar with some type of scripting language, as this requirement seems to be cropping up in job posting requirements fairly often, for a large variety of positions.  Some examples are JavaScript and PHP. Another important technical skill that makes a candidate desirable by a large number of employers is encryption and information security. In recent times, security breaches of a technical nature are very common, and these breaches are bad publicity for any company(Carnoy et al., 1997). It is helpful for any programmer to be considerably knowledgeable about security, and have the ability to write secure code. The final skill I will mention is the ability to design efficient algorithms. This is regarded as one of the more difficult skills, as it is more than simply memorizing keywords or concepts. A programmer has to be creative, and think in terms of efficiency throughout the process.J2EE_Skills

Soft skills are also important, and are somewhat overlooked by many candidates. Soft skills are verbal and written communication, enthusiasm, and ability to work on a team effectively. Some others are professionalism and general social ability. Though these skills are not necessary at all for a person to be simply an excellent programmer, they are almost always necessary for a person who wants to be a paid excellent programmer. This is because a huge majority of programming jobs require employees to work in teams, and collaborate with clients, managers, and subordinates effectively.

soft_tech_bloggraphic31

Works Cited:

Carnoy, M., Castells, M., & Benner, C. (1997). Labour markets and employment practices in the age of flexibility: a case study of Silicon Valley. International Labour Review, 13627-48. http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=510557333&site=ehost-live

Thomas, V. L. (1994). Link up to employment and entrepreneurial opportunities. Black Collegian, 25(1), 97.  http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=9411080981&site=ehost-live

First Picture Link:

http://ricklapenna.com/technical-skills-outline/

Second Picture Link:

http://www.idealearninggroup.com/blog/training-for-soft-skills-and-technical-skills

The Effect of Social Media on Hiring

The sources that hiring managers would once use to gather information about candidates for a position have expanded greatly as online social media use has grown. There was a time when the hiring manager would have relatively limited information on the candidate. The potential employee would be interviewed, and would give references. This was usually the extent of all information sources that would be available to the person or people doing the hiring for a company. Now that social media is widely used, the hiring manager can utilize a candidates online presence as a resource of information to influence hiring decisions. Nowadays it is accepted as common knowledge among those applying for tech jobs that a company will do at least a cursory online check of employment candidates. And I do not doubt that for certain positions, there is a much deeper than cursory online search done, most notably through Facebook and other popular social media websites.

social media

The fact that most employers search social media sites for information about potential new hires is becoming more widely known, but it is not yet apparent to all job seekers. In addition to this, people can easily forget about photos that have been posted to their Facebook wall in years past. Employers will not look favorably on candidates who have a large number of photos on Facebook of the candidate drinking to excess. The employer will most likely also read posts by candidate, and will take all information into consideration when making hiring decisions. Though some candidates are not pleased to hear that employers search through social media sites for information, it is perfectly understandable that employers do this. It is in the best interest of a business to know the true personality and disposition of a candidate, as well as if the candidate partakes in illegal activities(Marcum et al., 2014).

Social_Media_Explained_DOGS.6.27.13

Though there are some detrimental (to candidates) aspects of online social media presences being examined by employers, there are beneficial aspects as well. LinkedIn, discussed in my previous post, is a good way to improve one’s online presence.  It is a way to list all of one’s achievements, experience, and interests. Employers and recruiters use LinkedIn to search for candidates, and since this is well known, LinkedIn accounts are usually crafted to appeal to employers. Also, it is possible to make a Facebook account private, so that only a persons friends may view the profile in its entirety. This being said, it is always possible, however unlikely,  for a hiring manager to log in to Facebook as one of candidates friends and view the complete profile. I hope that this information about social media and its influence on hiring is useful.

Works Cited:

More Employers Pass on Job Candidates Due to Social Media. (2014). T+D, 68(10), 23.                                          http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=98525871&site=ehost-live

Marcum, T. M., & Perry, S. J. (2014). WHEN A PUBLIC EMPLOYER DOESN’T LIKE WHAT ITS EMPLOYEES “LIKE”: SOCIAL MEDIA AND THE FIRST AMENDMENT. Labor Law Journal, 65(1), 5-19.  http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=95315814&site=ehost-live

First Picture Link:

http://www.tomcopelandblog.com/2014/11/using-social-media-can-get-you-into-trouble-.html

Second Picture Link:

http://avalaunchmedia.com/paws-vs-claws

LinkedIn profiles, how to use them, how to market yourself, how to network

The LinkedIn profile is an increasingly useful tool in marketing oneself to prospective employers. Since its founding in 2002, the amount of people with LinkedIn profiles has been growing steadily. LinkedIn provides many ways to increase one’s chances of getting hired. Employers often accept LinkedIn profiles as resumés, especially at tech companies. It is also not unheard of for recruiting companies to peruse LinkedIn profiles by searching for certain skills, experience, and key words. These recruiting companies will decide which applicants appear most promising, and will call these applicants and conduct phone interviews before recommending the applicants to hiring companies for further interviews. Networking with peers is also a large component of the LinkedIn profile. LinkedIn pages constantly propose suggestions of people to become connected with, based on a combination of geographic location, occupation and employers, among other things. When one’s LinkedIn network contains a large number of peers in similar fields, there is the possibility of being recommended by a peer to that person’s employer for hire. There are a huge number of different categories of information to display about oneself, from previous jobs, personal projects and accomplishments, certificates, training and education, and this enumeration merely scratches the surface (Joyce, 2013).

linkedin-profile1

A LinkedIn profile is not difficult to create. Though there are many aspects to a profile, LinkedIn is very helpful in facilitating the process of building a complete profile, and keeping it updated. I myself have recently created a new LinkedIn profile, and I find that each time I log in to the website, I am prompted at the top of the screen to update various aspects of the profile. LinkedIn also recommends people to add to my network, and so far the recommendations made to me are all relevant and seem to be useful. From what I have learned about LinkedIn, it is very nearly mandatory if one is to attempt to find a career in a tech-related field in today’s job market. It is a very quick, easy, and informative way for an employer to learn about a prospective candidate (Peachey, 2013). The information is well organized on the profile page, as it is made to be easy to scan through quickly and glean the relevant information without difficulty. The bottom line is this: a LinkedIn profile is a tool that, when used properly, cannot help but to make a person more marketable to prospective employers, and is too easy to not use.

linkedin-21

Works Cited:

Joyce, S. (2013). BE VISIBLE ON LINKEDIN. Career Planning & Adult Development Journal, 29(3), 88-90.       http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=ofm&AN=94264260&site=ehost-live

Peachey, K. (2013). 2012 STUDENT PAPER COMPETITION WINNER: The New Boys Club: The Effect of Gender on LinkedIn Profiles. Sociological Viewpoints, 29(1), 17-58.                                                                               http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=94996229&site=ehost-live

First Picture Link:

http://volumeseo.com/how-to-manage-your-linkedin-profile-for-seo-optimization/

Second Picture Link:

http://linkedin.en.softonic.com/web-apps

What does “done” mean in Agile?

The definition of “done” in Agile development methodologies is one that carries much importance with it. The development team needs to decide when to call a feature or a product “done”, or “shippable”. A product or feature ought to have been completely and thoroughly tested, and it should be accepted by the product owner. One might also argue that there should be some documentation, at least at a minimal level, to describe what certain elements of the software are for. The user story that a feature is designed to solve should be addressed in its entirety. There will nearly always be additional ideas in the minds of the programmers, ideas of features that can be improved upon or added. The important part of the definition of “done” is that it should be more dependent on addressing the user stories, as some things to a development team are never quite “done”. If a product is thoroughly coded and tested, proven to address each user story in its entirety, and accepted by the product owner, it is likely that the product fits most definitions of “done” and “shippable”. Since there are differing opinions on what truly defines “done”, there should be criteria established in advance. The criteria could possibly be defined on a per project basis, but it could suffice for a team and product owner to decide on these criteria for all of their common projects (Bavani, 2012).

Ready 2 Done

The task list for a product, which is essentially the backlog in Agile, should consist mostly of completed tasks when that product is said to be “done”. The tasks on the list are assigned different priorities and time estimations, that designate how important a task is to the product and how long it will take to complete a task. The tasks with mid to high level priorities and feasible time estimations should be complete, before the product is deemed “shippable”. Most of the lower priority items should be completed as well, though it stands to reason that there could be very low priority items that are not necessary to the current iteration of the product or feature, and that the product or feature could be considered “shippable” without having these items completed. There are also going to be items with time estimations that will simply take too long for the product owners requirements, and this is to be expected with most projects. A product or feature is “done” when the code is thoroughly tested, the user stories and priority backlog items are addressed, and the product or feature is accepted by the product owner (Chakravorty et al., 2014).

doneDefinition

Works Cited:

Bavani, R. (2012). Distributed Agile, Agile Testing, and Technical Debt. IEEE Software, 29(6), 28-33. doi:10.1109/MS.2012.155                                                                                  http://ieeexplore.ieee.org.libaccess.sjlibrary.org/stamp/stamp.jsp?tp=&arnumber=6336723

Chakravorty, T. A., Chakraborty, S. B., Jigeesh, N. C.  (2014).Analysis of Agile testing attributes for faster time to Market: Context of Manufacturing sector related IT projects. Prodecia Economics and Finance, (11) 536-552.      http://acsjup.sjlibrary.org:9797/MuseSessionID=49eaca85778e02ed2c7e2ec5267d4/MuseHost=ac.els-cdn.com/MusePath/S2212567114002196/1-s2.0-S2212567114002196-main.pdf?_tid=83e172ce-528f-11e4-801e-00000aab0f27&acdnat=1413173887_3abf9077c5644b61f4232628b754cd80

First Picture Link:

http://www.agilehelpline.com/2011/03/definition-of-done.html

Second Picture Link:

http://www.devoteddeveloper.com/2012/07/zen-of-scrum-definition-of-done.html

What is an Agile Sprint Retrospective?

An Agile Sprint Retrospective is a type of meeting that takes place during the development of a product by a team using the Agile development methodology. This meeting is called a Retrospective because the team spends this time discussing the work that has been done during the last Sprint. Though the meeting is called a Retrospective, the entire meeting is not spent discussing solely the past development. The team discusses the overall progress, and the specific challenges and pitfalls that have been encountered, and those that are expected to be encountered. The meeting facilitator is usually the Scrum Master, who is well suited to this role, because the main responsibility of him or her is to oversee meetings and development and enforce what rules there are. The Scrum Master will work to keep the Sprint Retrospective smooth and productive (Tiger et al., 2012).

Without Retrospectives, it would be easily possible for a team to continue down the wrong path of development, and not realize this until much later. This could result in a significant amount more work, depending on the size of the project. Therefore, the Sprint Retrospective exists, which allows teams to evaluate their progress and make decisions on which ideas need to be added, changed, or removed. pic1

The above image portrays a common strategy for portraying team member ideas in a Sprint Retrospective. This strategy is to list and categorize events and items into three categories. These categories are: things that went well, things that need to be improved, and things that still need to be done (Taft, 2013). The actions that still need to be done are usually going to be new actions, things that might not necessarily be contained in the product backlog.

sprintRetrospective

The above image is a graphical portrayal of a slightly different Sprint Retrospective strategy. This strategy is to list and categorize events, items, and features into five different categories. These are: things that should be stopped, things that should be kept, things that should be increased or have more added, ideas of things that should be started, and finally things that should be decreased but not eliminated entirely.

An Agile Sprint Retrospective is one of the more important aspects of an Agile development methodology. This is because some of the main benefits of Agile rely on the fact the the methodology is designed to enable the development team members to make changes in the design of the product, and the analysis of how it will be used. These Retrospectives help the team members to decide what needs to be modified, and what needs to be kept as is. This allows the main advantage of the Agile development methodology; The ability to go back to an earlier stage of the development and make changes without adversely affecting the entire project and necessitating time consuming jobs in reworking the product (Taft, 2013).

Works Cited:

Taft, D. K. (2013). Developer Collaboration: 10 Tips to Make App Development More Efficient. Eweek, 5. http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=92950209&site=ehost-live

Tiger, D., & Hess, G. (2012). Agile Approach to Design Leads to Client and Job Satisfaction. T+D, 66(4), 108-109. http://libaccess.sjlibrary.org/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=73887969&site=ehost-live

First Picture Link:

http://fabiopereira.me/blog/2008/11/23/goal-driven-retrospective/

Second Picture Link:

http://lehmamic.wordpress.com/2012/04/24/some-techniques-for-scrum-retrospective/