Rob Kraft's Software Development Blog

Software Development Insights

Archive for the ‘Online Resources’ Category

How Companies Can Facilitate the Onboarding of Entry-Level Developers

Posted by robkraft on May 24, 2021

Despite a shortage of software developers, entry-level developers can tell you that it is difficult to get hired.  Companies are often reluctant to hire entry-level developers for several reasons that include:

  • They don’t want the risk that an entry-level developer may not have the skills to do the job.
  • They don’t want to invest in bringing an entry-level developer up to speed and then see the developer go to work for another company.
  • They don’t want to pay for the time it takes for entry-level developers to become producers instead of costs.
  • They don’t want to lose productivity of current staff devoting their time to bring entry-level developers up to speed.

Development teams also find it challenging to provide tasks for entry-level developers to work on because there are so many things an entry-level needs to understand before doing any coding. A lot of that is the processes surrounding coding and how those processes are performed in the organization.  Below is a list of items that many companies want developers to understand.  Often only the coding items were part of the training the developers received in school.  Companies want a developer that:

  • knows what IDE to use, how to install it, open it, update it, and be productive with it,
  • understands the technologies used by their app in order to get things done:
    • The code language, UI language, data stores, best practices, frameworks, and IDE,
  • knows how to test their code locally,
  • knows how to commit code changes to a repository and update from a repository,
  • knows how to use repository tools to review other code and find code changes,
  • can write unit tests,
  • can start and run unit tests locally,
  • proceeds cautiously at first, not checking in changes without being certain,
  • will not check in code changes to the production pipeline accidentally,
  • understands there is a build process, and be able to run a build on their own,
  • understands the process of how their changes get deployed or used,
  • understands there is a production build and how to initiate it,
  • understands there is a way to deploy for QA/Test (maybe),
  • understands they may be able to deploy directly to production,
  • can find the task management system that has the list of tasks and features and bugs they are to work on,
  • can manage their own tasks on the task boards,
  • knows who to talk to for any task requirements as well as task priority and also if the task is right/ready for them to handle,
  • tracks their time – how much are they spending on each task,
  • can assess what is a priority, or who to ask to get that answer,
  • understands the business domain and what the software “does”,
  • understands the development priorities (security or performance or maintainability or customer satisfaction or just functional),
  • follows the patterns already in use in the code for solving problems,
  • knows how to use our Requirements and Design tools and processes,
  • gets to work on time,
  • is focused on their work during working hours,
  • is eager to learn,
  • is friendly with everyone.

When a company commits some time to building a good onboarding process for new developers, they can greatly facilitate the onboarding process and make it less difficult to hire an entry-level developer. 

  • Create documents and videos of the applications the developer will be working on
  • Create documents and videos of your software development processes
  • Assign each new developer a contact person they can go to for any question.  If you are hiring several developers, ideally each contact person will serve that role for just a single new developer.  Also, the contact person should be someone on the same team that is very accessible to the new employee.
  • Schedule some one on one time for each new developer with each team member.  Often, you can use this time for an existing team member to share knowledge about the company and software with the new developer.
  • Prepare their computer, physical environment, and computer software before they arrive for their first day.  Make sure the application software, and unit tests if applicable, can run successfully on their computer.  Have all of their security accounts ready for use.
  • Have mentors reserve time to spend with new developers almost each day for the first two weeks.  Don’t just hope to “squeeze it in” as needed.
  • Remind existing team members to contact the new developer(s) when they are about to perform a task or process that the new developer needs to learn so the new developer can join them as they go through it.
  • Put off some simple fixes/enhancements on your task board for a few weeks to reserve them for the new developers to do.  Give the new developers a chance to commit a real code change on their first day.
  • Finally, create an onboarding checklist with links to videos and documentation about each item on the checklist.

Here is an example of an onboarding checklist in a google document: https://docs.google.com/document/d/1K5jw1OgQDbLiXt9UvLR9Qnm5Pj9fWj-brp6_FiTUWJw/edit?usp=sharing

If you want a faster start for your own onboarding checklist, I recommend you make a copy of this Trello board and customize it for your own company: https://trello.com/b/h9eTMg4E/onboarding

The way I recommend using this Trello board, is to make a column on it for each new hire.  Each employee can work their way down the board, marking items done on checklists and changing the “Labels” on a card when it is completed.  Many items on this board anticipate that a mentor will work with the new employee to discuss the item (cards with the “Mentor” label).  Other cards have a label named “Complete Independently”.  Of course there is still a lot of work for you to do in preparing documentation and customizing the board for your own development shop, but hopefully this helps you get started.

Posted in Online Resources, Resources and Tools, Software Development | Leave a Comment »

How I Figured Out Why I Could Not Get To My WebSite Hosted at Arvixe.com, But Others Could

Posted by robkraft on April 19, 2014

I encountered an unusual problem last night when I attempted to view one of my web sites (http://www.KraftSoftware.com).  I could not get to the web site.  Fiddler showed me a 502 response.  My site is hosted at arvixe.com and I use the name cp.violet.arvixe.com to connect to and manage my web site, but I also could not even connect to cp.violet.arvixe.com.  I scanned twitter for arvixe but found no one else complaining about outages.  Maybe others had not realized the problem yet.  Fortunately I was able to get to support.arvixe.com to chat with a technician.  He said there was no problem, that both sites were accessible and ended our chat.  That did not please me.  I opened a chat with a better technician at arvixe.

He told me that they could access the site, and we bounced some ideas back and forth.  I sent him the result of my traceroute, then I went to bed.

Tracing route to stats.violet.arvixe.com [198.252.79.4]
over a maximum of 30 hops:

1     1 ms    <1 ms    <1 ms  192.168.1.1
2    36 ms    28 ms    30 ms  cpe-65-28-0-1.kc.res.rr.com [65.28.0.1]
3    16 ms    15 ms    12 ms  tge7-2.lesmmo11-cer1.kc.rr.com [65.28.16.138]
4    13 ms    17 ms    13 ms  tge0-9-0-7.ksczmogn01r.kc.rr.com [98.156.42.246]
5    39 ms    27 ms    27 ms  ae30.dllatxl3-cr01.kc.rr.com [98.156.42.0]
6    28 ms    27 ms    27 ms  107.14.19.92
7    25 ms    24 ms    24 ms  ae-3-0.pr0.dfw10.tbone.rr.com [66.109.6.209]
8    24 ms    50 ms    34 ms  po21.bbr02.eq01.dal01.networklayer.com [66.109.9.222]
9    29 ms    28 ms    24 ms  ae5.dar01.sr01.dal05.networklayer.com [173.192.18.215]
10    24 ms     *       52 ms  po1.fcr03.sr03.dal05.networklayer.com [173.192.118.143]
11     *        *        *     Request timed out.
12     *        *        *     Request timed out.
13     *        *        *     Request timed out.
14     *        *        *     Request timed out.
15     *        *        *     Request timed out.
16     *        *        *     Request timed out.
17     *        *        *     Request timed out.
18     *        *        *     Request timed out.
19     *        *        *     Request timed out.
20     *        *        *     Request timed out.
21     *        *        *     Request timed out.
22     *        *        *     Request timed out.
23     *        *        *     Request timed out.
24     *        *        *     Request timed out.
25     *        *        *     Request timed out.
26     *        *        *     Request timed out.
27     *        *        *     Request timed out.
28     *        *        *     Request timed out.
29     *        *        *     Request timed out.
30     *        *        *     Request timed out.

Trace complete.

The next morning an Arvixe tech had sent me an email asking me for my IP address.   I supplied it to them 6 hours ago but have not heard another response from them yet.  So I started doing some more research.

After disabling the wireless on my phone (so that my phone would not be going to the Internet over the same connection as my home PC), I went to my web site and it was working from my phone.  I then went to www.pingwebsite.com and pinged my server web IP (192.252.79.4) and only 4 of the 10 hosts were able to get a response.

I emails to ‘admin@dnstinations.com’ and ‘dnsadmin@us.ibm.com’ because they were the apparent owners of the last node the tracert reached successfully (po1.fcr03.sr03.dal05.networklayer.com [173.192.118.143] ).  It is a Saturday, and I have no response from them yet.

I then considered that my IP address had been blacklisted.  I went to http://whatismyipaddress.com/blacklist-check and entered my IP Address for my server 198.252.79.4 and it showed that my site was blacklisted by two spamhaus.org servers, but not by any of the other 60 servers on the list.  One of the links from this site took me directly to the reason for the block by spamhaus.org at http://www.spamhaus.org/sbl/query/SBL213271. This document told me that a site named primus.com.mk was being blocked as a spammer.  The IP address for that site was the same as my site IP address (www.KraftSoftware.com).  So apparently my site, and all of my sites hosted at arvixe.com, have the misfortune of being on the same server as a spammer.

At this time I think there is nothing I can do except to ask Arvixe.com to move my sites to a different server and IP Address, or for me to move my sites to a different web hosting provider.  And of course I asked Arvixe.com to shut down primus.com.mk and get my IP address off of the blacklist.

At the moment, I am just waiting for their response.

UPDATE AND RESOLUTION:

So I was wrong about the blacklist being the cause of my site not working.  The blacklist just blocks emails, not web sites.  The problem was that my home security system was sending so many pictures to store on my site that it triggered a DDOS response and was blocked.  I have changed my security camera to send fewer pictures and will hope it doesn’t happen again.

Posted in I.T., Online Resources, Web Sites | Leave a Comment »

Determine your Silverlight version at www.silverlightversion.com

Posted by robkraft on December 22, 2010

The simplest way to determine the version of silverlight installed in any browser is probably to navigate to this web site: www.silverlightversion.com.

Posted in Free tools, Online Resources | Leave a Comment »

.Net Portal – Links to .Net Resources

Posted by robkraft on July 19, 2010

http://www.kraftsoftware.com/portals/0/dotnetportal.htm is a simple web site that provides links to some of the best .Net resources including podcasts, videos, tutorials, conferences, books, blogs, and tools.

Posted in Online Resources | 2 Comments »

MethodsAndTools.com

Posted by robkraft on April 6, 2009

The website www.methodsandtools.com contains an archive of their magazines in PDF format. Each PDF contains many articles you may find useful in improving your skill in managing software development projects.

Posted in Magazine Online, Online Resources | Leave a Comment »

Is StackOverflow.com the last newsgroup we will ever need?

Posted by robkraft on December 12, 2008

I’m very impressed by www.StackOverflow.com.  The site is similar to a newsgroup and accepts posts on all things related to software development.  However, unlike traditional newsgroups that are segragated by topic, StackOverflow uses tags for each post.  This allows a single post to be grouped into multiple topics; which is more convenient for posters than posting the same topic in several traditional newsgroups.

But the benefits don’t stop with the tags.  StackOverflow.com also provides a rating and feedback system.  All users can judge the answers and your contributions count toward your overall site score.  I’ll bet this makes the site a little more fun and encourages use in order to increase your total score.

Posted in Online Resources | Tagged: | Leave a Comment »