Development Machine Environment Build and Base OS Load

For the next post in this series building a development machine environment check out the browser & IDEs post.

Development Machine Environment Build & Language Stack Installations – Getting a Base OS Load

Operating System Notes

When choosing an operating system to work with there are a number of factors to take into account. Some of these factors include;

  1. What language stack and tooling will you need to use?
  2. What focus beyond software development will the machine have?
  3. What apps and tooling do you already have?

There are many other questions, around costs and licensing, and other errata that you’ll need to take into account. One thing however, regardless of what you choose, the bulk of software development with most software languages, their respective tooling stacks work on almost any operating system you’d choose.

In this particular example and the following material I’ve chosen Ubuntu 20.04 LTS (Long Term Support) to use as my operating system. I’ll build a virtualization image of the operating system so that I can reuse time and time again. The virtualization software I’m using is VMWare’s VMWare Fusion software, but just like the operating system you can use most virtualization software and it will work just fine.

Getting a Base OS Loaded

It is often important to load a new operating system installation onto a machine for use in application (re: web/software/IoT/mobile/etc) development. This can help us better understand what is installed and effecting various affects on the machine itself, it can insure that we have known assets that aren’t influencing server or other manipulations, and a long list of positives over taking whatever one is given from the various computer system manufacturers.

This post is the first in a series (here on Dev.to and on my core blog https://compositecode.blog). I’m going through precise steps, but I’m keeping it general enough with pointers and related tips for MacOS and Windows that the series will be useful for anyone building their first or tenth or twentieth development machine regardless of operating system or hardware.

My Installation Specifics

I’m using a Macbook Pro 16″ w/ enough RAM and compute cores that I split off a solid 4-8GB of RAM dedicated to the VM that has the host OS. In addition, I set the compute

To do this, in VMWare Fusion pull up the settings for the Virtual Machine that was created. To note, when the virtual machine is shutdown you can change these settings to add or decrease memory, compute cores, etc. But do note, sometimes this will make an operating system unstable. The rule to follow is, set the resources at time of creation and leave them set.

Once the settings are open, click on the processors and memory option.

Settings Screen for the Virtual Machine

That will display this screen where the values can be set. I also show stepping through this process in the video.

Alt Text

That’s it for now. However, if you’re interested in joining me for next steps, language stack setup, and more in addition to writing some JavaScript, Go, Python, Terraform, and more infrastructure, web dev, and all sorts of coding I stream regularly on Twitch at https://twitch.tv/adronhall, post the VOD’s to YouTube along with entirely new tech and metal content at https://youtube.com/c/ThrashingCode. Feel free to check out a coding session, ask questions, interject, or just come and enjoy the tunes!

For more Thrashing Code Newsletter for more details about open source projects and related efforts I work on, sign up for it here!

I’ve Officially Sent This Email Over 100 Times to Recruiters Looking for .NET Developers

Job Description

Here’s the letter, it’s kind of LOLz! I know it’s tough to find .NET Developers (or replace .NET with Java Developers or X Enterprise Language), so CIOs, CTOs and others take note. Here’s what I experience and what I see all the time, embodied in a letter. I will put effort into hooking people up with good jobs, that fit the person, and persons that fit the job, but lately I’ve seen companies that do .NET work in the Portland, Seattle and especially San Francisco areas become exceedingly desperate for .NET Developers. This is what my general response looks like.

“Hello Recruiter Looking for .NET Developer(s), thanks for reaching out to me, however I regret to inform you that I don’t know a single .NET Developer in Portland Oregon looking for work. It seems all the .NET Developers have either A: gone to work for Microsoft on Node.js Technologies, B: switched from being a .NET Developer to a Software Developer or otherwise C: left the field and don’t want to see any software ever again (which always makes me sad when people burn out, but alas, hopefully they find something they love). It’s a funny world we live in.

Even though I’m fairly well connected in Portland, Seattle, Vancouver (BC) and even San Francisco it is rare for me to meet someone who wants to do pure .NET Development. If there is I’ll connect them with you. However if you know a company that is porting away from .NET, building greenfield applications in Node.js, Ruby on Rails or other open source stacks I have a few software developers that might be interested.

Cheers”

Even though this letter is geared toward recruiters looking for coders, there is another letter that I’d like to write to a lot of other companies, that goes something like this,

“Dear Sir or Madam At X Corp Enterprise,

Please realize that lumping a person into the position you’re requesting (.NET Developer) is a career limiting maneuver for many in the occupation of software developers. We software developers are people who solve problems, it happens that we do this with code written on computers. The computers execute that code for us thus resolving the problems that you face. This helps X Corp Enterprise do business better! It’s a great relationship in many ways, but please don’t limit our future careers by mislabeling us.

Also, we’re not resources. That’s just a scummy thing for a human to call another human. Thanks for reading this letter, have a great day at X Corp Enterprise!”

I’d be happy to refer .NETters (or Javaers or COBOLers or RPGers or whatever), but seriously, it seems to be a lost cause out there, even more so for mid-level or beginning developers. Barely a soul is looking for a job as a .NET Developer, but I know a few that look for jobs as software developers every couple of weeks.

Speaking of which, if you are looking for work and you want a filtered list of the cool companies and related information of who to work for in Seattle, Portland or elsewhere in Cascadia reach out to me and let me know who you are. I’m more than happy to help you filter through the mine field of companies and job listings. Cheers!

Addendum:

Top Tier, A-Game Talent – How to Land em’

Recently the question came up from a close friend of mine, “will my PhD help me attain a higher income in the north west?”  I had to tell him, that it might get him a little more, but it won’t get him in the top income brackets for the occupation.  Another time, a few days later, someone else asked this too.  Then again, I see a job posting that requires a Bachelors Degree and some other nonsense.  The job posting even states they want “A-Game” talent.

I am almost shocked at how poorly part of this industry doesn’t realize how unimportant a degree (bachelor, doctorate, etc) is to getting real top tier, a-game talent.  (and yes, I get a little riled up about this matter)

You Can’t Make Good Software Developers.  No college out there is going to train someone to be in the top 10%, and absolutely not to be in the top 5% of skill levels.  Colleges can NOT do this.  It is up to the individual, and the individual alone.  If top tier talent seems to come from a college, one should check their premise and look at the motivations the individuals have to go to that school.  There is most likely a reason that top tier talent appears to be made there.  The college however, can only guide or assist, but I repeat that “top tier talent is a very individualistic endeavor“.

Some might say, well a group is needed, support is needed, this and that are needed.  True, an individual needs a support system and a college can provide that, but it generally ends there.  The support group helps, provides a sounding wall, and provides correlation to good ideas for the a-game top tier geek.  But again, the endeavor is the individuals desire.

top tier talent is a very individualistic endeavor – Me

Hiring Top Tier, A-Game Talent

There are a few things when trying to hire this level of game player.

  1. The first thing is to not require a degree of any sort.  Sure, it looks good, but it won’t dictate anything other than the individual was able to go through the regimented steps of college.
  2. List the skills and ideas that you would like to find in an individual.  Think of two people meeting for the first time, what do you want to know about the other individual.  Team fit is absolutely fundamental for top tier talent.  That support group that I mentioned above, top tier talent works best with a solid group of players.
  3. Keep your technology up to date, moving forward, and don’t bore your top talent if you manage to get it.  If the company slows down, they will leave.  The more valuable they find out they are, the lower tolerance they’ll have for this.  For managers, directors, and leaders in an organization this is THE challenge for them.
  4. Provide opportunities not just for advancement, but ways for them to advance their knowledge such as training, a book budget, or other means.  Even if some software they want to use isn’t used ton the project, get it for them (within reason of course ? couple $100 or even a few $1000 for a good software license to MSDN, Tellerik, or other suite of software is ideal).
  5. Don’t push them to, and don’t let them overwork themselves into burnout.  This, as a leader in an organization is easy to do if one finds themselves actually hiring top talent.  Because top talent just provides results and more results.  But they are human, they will break, don’t be the cause of that or you’ll lose your talent.

For now, that is it from me on this topic, back to the revenue, code, projects, and pushing things forward.