Author Archives: Darcy Uustal

The Most Interesting Software Development Accounts to Follow

This Post was written by Darcy Uustal
Date posted: April 9, 2018

Collaboration and sharing knowledge is a staple of the programming community. Software developers share open source projects and contribute to forums as a way to better themselves and others in their field. Since this is the mindset of many programmers, Twitter is the perfect medium to engage with other technical professionals. If you’re looking for insights from other developers, check out my list of who to follow on Twitter:

Paul Buchheit @paultoo As the creator and lead developer of Gmail,  it’s pretty easy to understand why Paul made the list. Follow him for lighthearted tweets and informative retweets.  He also coined Google’s former motto, “Don’t be evil.”

 

Federico Cargnelutti @fedecarg Federico is a Senior Software Engineer at BBC who blogs about software architecture and PHP. Follow him for tech news, tutorials, and other helpful links.

 

Vanessa Hurst @DBNessFounder of Girl Develop It, Vanessa is a strong advocate for inspiring and empowering people to “use computing to improve the human experience.” Follow her for informative retweets from women in the computer science field.

 

Reto Meier @retomeierReto is the author of Professional Android Application Development and a Developer Advocate at Google. He also makes frequent appearances on Google Developers YouTube series, Build Out. Follow him for tweets on all things Android.

 

John Resig @jeresig John is an expert in JavaScript programming and the creator of the jQuery library. He works full-time as a Frontend Architect at the Khan Academy. Follow him for JavaScript tips.

 

Jennifer Dewalt @JenniferDewaltJennifer made her claim to fame by making one website a day for 180 as a way to teach herself to code. Since then she’s founded multiple startups, one of which is Zube. Follow her for technology news and inspirational retweets, like this one:

 

David Heinemeier Hansson @dhhThis Danish programmer is the creator of Ruby on Rails as well as the founder and CTO of Basecamp. He’s also a racing enthusiast and even won the 24 Hours of Le Mans, one of the oldest active sports car race. Follow him for business and Ruby on Rails tips.

 

Jeff Atwood @codinghorror – Jeff is one of the co-founders of StackOverflow and Discourse.org. His blog, Coding Horror, covers software development topics and his experiences with them. Follow him for an entertaining human side of software development.

 

Jesse Stay @JesseJesse is regularly featured on Techcrunch, Mashable, Venturebeat, Readwrite, AdWeek, Forbes, USA Today, and The New York Times. He used to work as a software developer for Facebook and now spends his time speaking, writing, and reviewing tech. Follow him for technology news and events.

 

Paul Irish @paul_irish Paul works on web performance as a Frontend Developer at Google. He’s passionate about making the web tools better for developers. Follow him for updates on web and app development.

 

Who is on your feed? Let us know who you love following and why!

Related Posts:

Advice from the Experts: Three Skills for Software Developers

This Post was written by Darcy Uustal
Date posted: March 20, 2018

https://pixabay.com/en/cog-wheels-gear-wheel-machine-2125169/

Today, there are countless skills and specializations for technical professions. Because of this, it’s important to be aware of what you should know. Every profession has those core skills that are must-knows in order to be successful. In fact, it doesn’t matter how long you’ve been in the business. Without a doubt, it’s just as important for seasoned software developers to stay current as it is for those just starting out.

After scouring the Internet for blogs from fellow software developers, I’ve outlined three concepts that all software developers need to know, and know well:

Cloud Computing
Software developers have turned to cloud computing services for a number of reasons. Mainly, because it has changed the way we execute large-scale web applications. To illustrate, there are many positives to the elasticity and scalability of testing environments that cloud computing services provide. Many services offer the option to generate synthetic test data, and more of the environment build is automated. Additionally, you no longer need change requests. An internal system limits you to the hardware you have. By contrast, cloud computing speeds up projects and you pay on demand, meaning, you pay as you go so you’re only purchasing what you’re actually using.

There are multiple facets of cloud computing, all of which any software developer should understand inside and out. For more specific explanations on these types of cloud computing, check out this article from InfoWorld:

  1. SaaS – software as a service
  2. IaaS – infrastructure as a service
  3. PaaS – platform as a service
  4. FaaS – functions as a service
  5. Private cloud
  6. Hybrid cloud
  7. Public APIs – application programming interfaces
  8. iPaaS – integration platform as a service
  9. IDaaS – identity as a service
  10. Collaboration platforms
  11. Vertical clouds

Least Privilege
Next up, security. In regards to security, developers should understand that users only need access to do their job and nothing more. The Simple Programmer outlines this concept, well, simply:

For instance, is your application connecting to a database using an account that has superuser access, such as dbo in SQL Server? This can open you up to exploitation. If your application has a SQL injection vulnerability and it is exploited, the attacker could drop tables and do all sorts of nasty stuff to your application’s database or hop to another application’s tables.

A more secure approach would be to create an ID just for your application (often referred to as a service account) and only grant the permission to that ID absolutely needed by your application to do its work. If your application’s ID has only read-and-write access, then your tables won’t be destroyed (or worse yet, another application’s tables) if the worst happens.

Scripting
A script consists of a series of commands within a file that doesn’t require any compiling in order to execute. Python, Perl, JavaScript, or PHP are some of the languages which support scripts. Scripting is helpful with automating the compiling of code and in testing. Software developer, Ryan Chadwick, concisely explains a Bash script on his website, Ryan’s Tutorials:

A Bash script is a plain text file which contains a series of commands. These commands are a mixture of commands we would normally type ourselves on the command line (such as ls or cp for example) and commands we could type on the command line but generally wouldn’t (you’ll discover these over the next few pages). An important point to remember though is:

Anything you can run normally on the command line can be put into a script and it will do exactly the same thing. Similarly, anything you can put into a script can also be run normally on the command line and it will do exactly the same thing.

What else would you add to our list? Let us know on LinkedIn and Twitter!

Related Posts:

Effective Onboarding: Tips for Retaining Talent

This Post was written by Darcy Uustal
Date posted: August 30, 2017

The hiring process can be time consuming, cumbersome, and expensive, which is why you want this process to be as smooth as possible. The more effective your onboarding, the more likely you are to retain your talent for the long run. Take the time to reexamine your onboarding process and consider these simple changes that are easy to make. Keep these tips in mind to ensure your onboarding process is effective for both you and your employees.

Give them a warm welcome
Your new hires have just made an important life decision to join your company, so always make sure they feel welcome! A nice welcome email before they start, including some of the key team members they will be working with, is a nice touch. Naturally, you’ll be showing them around the office, but don’t forget to personally introduce them to their coworkers.

Provide them with the proper resources
You can’t do your job effectively when you don’t have the right equipment, and neither can your employees. Double check that all badges, laptops, passwords, and network access is set up before their first day. It’s also a nice touch to make sure their desk/office is clean and prepared for them to settle into. A nice ‘welcome to the company’ sign in their working space goes a long way!

Pair them with a mentor
If possible, pair your new hire with one of their peers who performs well and has shown strong leadership skills. When they are with someone who already knows the ins and outs of the job they will feel more confident asking questions and adjusting to their new role. You can also check in with their partner to see if they are doing well. This also keeps more seasoned employees engaged and lets them know you see them as senior staff and a mentor.

Provide educational opportunities
Initial training is always necessary, but educational opportunities should not disappear after that. Employees will avoid stagnation and feel more productive if they have the ability to take part in career development programs. Offering training opportunities is important during onboarding and should continue throughout employment.

Schedule regular check-ins
In addition to a 30-60-90 day review, try setting up a time to meet with your new hire once a week. Maybe you sit down with them one-on-one every Monday to review upcoming tasks to have them summarize what they have been working on. If you can’t commit to a one-on-one once a week, set a meeting up twice per month. The important piece is keeping the scheduled time together. Doing so will help your new employee feel supported and more open to asking questions, but most importantly it shows them that you care about how they feel in their new position.

Tweaking your onboarding process can make the difference between your newest hires staying or leaving. Feeling supported in a new role, and maintain that support is key. How does your company welcome new employees to the team?

Related Posts: