Expectations vs. Reality: Life as a Software Developer

It’s hard to know what work-life will be like while you’re still at university.

Elliot and I gave this talk to Summer of Tech students and also at the JuniorDev Auckland Meetup this year.

In this talk, we shared 10 expectations that we had while studying, and how far they were from reality now that we are in the workforce.

Some of the questions that we addressed include:

  • What should I look for in a company?
  • What does a good work-life balance look like?
  • What if I don’t know everything?
  • What does a software team look like?
  • How will I contribute to my future team?
  • How do I handle conflict at work?
  • Do you need to be an algorithm master to get a job?
  • Do you really need to write tests?
  • How do companies decide what to work on next?
  • How can I grow my career?

The slides are available for download below:

Expectations vs. Reality: Life as a Software Developer (Slides)

npm 2 and Windows

The LTS package(Version: v4.5.0) for Node.js on Windows includes npm at version 2, as of the time of this writing.

npm 2 loves to nest its dependencies

On Windows, the max path length is 260 characters

And all hell breaks loose when you combine them both(Or more specifically, you run into the dreaded Path is too long error).

Fortunately, npm 3 takes a flatter approach with dependencies, which solves this problem.
You can install npm 3 by choosing the Current package on the Node.js install page or by manually upgrading your npm version by running:

npm install -g npm@3.0-latest

You will also need to update your PATH variable to include the npm 3 directory before the Node.js directory

%APPDATA%\npm;C:\Program Files\nodejs\;

Remote Debugging with Visual Studio

Remote Debugging using Visual Studio enables you to debug code running on a different machine. This is useful in scenarios where an issue is hard to reproduce on your local machine, but is easily reproducible on a remote machine (e.g. a testers VM).

The steps below outline the process of setting up both your local machine (with Visual Studio installed) and the remote machine to enable remote debugging

​1. Setting up the Remote Machine

  1. Download the appropriate version of the Remote Tools for Microsoft Visual Studio package from the links below. This needs to match the version of Visual Studio that you have installed on your machine. Links:  Visual Studio 2012 Update 4 (x64)Visual Studio 2013 Update 4 (x64) Visual Studio 2015(x86, x64, and ARM) 
  2. Install the  Remote Tools for Microsoft Visual Studio package on the remote machine
  3. Configure the client by running the Remote Debugger Configuration Wizard from the start menu
    1. Uncheck the “Run the Visual Studio Remote Debugger service” check box because we will be using the client application
    2. Allow the remote debugger to communicate across all the networks
  4. ​​​​Run the Remote Debugger application on the Remote Machine
  5. Take note of the machine name and port that is displayed in the Client window(DDXVM6812:4020 from the example below) remotedebugger.jpg

2. Setting up your Local Machine

  1. Open up Visual Studio on your machine and open up the Project Properties of the project(s) that you want to debug(With the project selected: Alt + Enter or Right Click>Properties)
    • Note: There’s no need to do it for all the projects in your solution - just do it for the one that contains the code that you need to debug
  2. On the Debug tab, check the Use remote machine option. In the textbox next to it, enter the address of the client from Step 1e.
  3. Save your changes and ensure that the project is set to build in the Configuration Manager
  4. Build the project(or the entire solution)
  5. Navigate to the build output folder in Windows Explorer (Right Click on the project in Solution Explorer and click on Open Folder in File Explorer and open the bin folder)
  6. Copy the .dll AND .pdb file of the project that you want to debug from the bin directory to the appropriate directory on the Remote Machine

3. Debugging the Project

  1. On the Remote Machine, launch the Program that you want to debug
  2. On your Local Machine In Visual Studio, set a breakpoint at the line of code that you want to debug
  3. Click on Debug > Attach to Process
  4. Set the Qualifier field to the remote client address(from Step 1e)
  5. Click on the Refresh button
  6. Click on the process for your application and click on Attach
  7. Visual Studio should now change to Debugging mode and your breakpoint will now be hit

Note: Any changes to the code will require you to rebuild the project and then copy the .dll and _.pdb _files to the remote machine. Edit and Continue is also not supported when debugging in this manner.​