Alright, so you’re gearing up for those junior software developer interviews, eh? It’s a wild ride, but with the right prep, you’ll crush it. Here’s the lowdown on what to expect and how to get ready.
1. The Initial Screening
Kicking things off, you’ll likely have an initial screening call. This one’s usually with a recruiter or HR rep. Think of it as a quick chat to make sure you’re not just a name on a resume. This call runs about 15-30 minutes.
First, I will be available with a possible start date of November the 28th. I’m currently wrapping up some big projects and completing training for the Home Depot Team and the great progress we’ve made over the last year. If your company is looking for someone with my mixed array of technical skills and soft skills, you can check out my resume & details and initiate job talk with me here!
On to the rest of the news. If you’ve seen me speak lately I’ve mentioned the open source efforts we’ve had going on at Home Depot and related efforts I was working on. Some I’m working dilligently to release via the Home Depot OSS Organization on Github and I’ll still be releasing others soon via my Github account (@Adron) and blogging about it here on Composite Code.
Since this is one of those rare times in my career where I’m not 100% sold on what I’ll do next, I’m open to fielding prospects and seeing what is out there. This is a different approach for me, as I usually determine a company, particular work that needs done and go after that gap. But I’d like to get a feel for what companies feel they need at this particular time. Since I have a wide range of skills, I can step into a number of positions and immediately start to contribute to projects within a company.
Here are some positions I’d find attractive and could provide value for (or build) a team immediately!
Building or Expanding a Team
Need someone to hire, build, and create a cohesive, diverse, and powerful culture of core contributors (developers, designers, advocates, evangelists, or similar). I can knock this one out of the park for the right company. Yes, I’m a bit particular, but I’m not just going to whimsically work for any company (the best people won’t work for just any old company anyway). If you are looking to put a team together and want somebody that can do that for you, I’d like to sit down to a conversation soon. Let’s talk jobs.
Coding Architect
Have some architecture problems, that seem a bit unique or problematic? If you need someone to come in and push forward on design, patterns, practices, and actual implementation then this would also be a conversation I’d be interested in having. I’d be happy to dive into whatever the stack might be (or help decide on the stack): Java (Scala/Kotlin), Golang, Node.js or even .NET (C#/F#) for the right company. Let’s talk jobs.
Development & Operations Architect
Have some architecture that needs to go along with an application and want to build or insure a solid continuous integration and delivery pipeline (or messaging based queue for delivery to production)? This is another possibility I’d be happy to talk about. I really love working with systems to build out reliable immutable infrastructure, data storage mechanisms (distributed, RDBMS, whatever the need calls for) and insure development can continue forward with extremely high confidence levels. Let’s talk jobs.
Developer Advocate/OSS Project Lead
If you have an open source project I’d love to take lead on it and also provide advocacy for that project. This role is not to be confused with evangelist, as that’s a fine role for other people, but I want to be in the code and advocating from a position with the team. I’ve done this before with projects like the Iron Foundry for Cloud Foundry and others, and loved it. Let’s talk jobs.
Mergers & Acquisition Technical Evaluations
This is not something one sees everyday, but I’ve worked in a consulting role and have assisted others with this work before. I find it really interesting looking at prospective ROI, current run rates, but also at the specific details of whehter a product or service can even be incorporated and integrated into the acquiring company. In the case of merging, this differs from acquisition in that both entities and both companies’ products and services will both need to polymorph into a new whole. If you’re company is looking to get into some M & A’s, let’s talk about how I can help.
Besides the above theoretical jobs above, here are a few other things that I would like in a job. Things that just make it all worthwhile, here’s a list.
Work Environ / Soft Skills / Culture
Flexible hours remote or remote (out of office). Whatever the case, I’d like to work with a company that has the ability and acumen to manage the workflow and efforts among team members remotely. If you’re a company that wants to upgrade the development and operational characteristics of the culture, I can also help your company incorporate highly effective remote capabilities.
If there is travel, I prefer to keep it to a productively effective 10-15% of the time. Traveling dramatically decreases overall ability to contribute to actual work in an effective way. I do love to travel, speak, and get involved with the worldwide community but I always like to make sure that this involvement doesn’t stymie me from contributing to actual coding, design, and related efforts. NOTE: If travel is within the Cascadian Bioregion (see image: includes YVR, PDX, SEA, etc) it’s easy to increase my travel to 15-25% of the time as travel within the region is so easy. I probably should include SFO too, it’s super easy to get there and doesn’t cause disruption to daily workflow. (i.e. < 2 hr trip)
Design, build, and communicate. These are the things I like to do. I like to create what will work for high volume or high speed systems, then build prototypes and communicate how these work. Maybe I would be the one deploying to production, maybe the system is production that I’m deploying, but whatever the case is I’m happy to lead efforts on architecture and work with teams to build that architecture.
I love to provide leadership for teams, I love to build teams, and I like working with teams. Albeit I’m particular about team diversity and culture, I can bring my own skills and the ability to bring people together on a team and expand teams. If the culture is off kilter, I can help with that. If the culture is spot on, I can work effectively with that. Whatever the case, I’m a high communication, GSD type of guy provided the right environment and reigns removed.
Technical Skills
I’ve found Google Cloud Platform (GCP) a pleasure to work with lately. That combined with Terraform, Packer, and related HashiCorp tooling has been a lot of fun and provided an extremely high value for us at Home Depot.
AWS has been another I’ve worked with that has been of stellar value, not particularly at Home Depot but at multitudes of startups and during consulting. AWS is still for many things my go to cloud provider option.
Azure is another I’ve used that would be an interesting service to use again. It’s been well over 2 years since I worked with or provided Azure support or consulting. I’ve got a soft spot in my heart for this cloud provider since I led teams back in 2010 writing some of the first white papers for the service!
I’m comfortable with C#, JavaScript, Java (mostly), and am looking forward to writing more Golang and happily will dive into Scala, Erlang, F#, and a whole host of other languages.
I’m happy to work with container tech (Rocket/CoreOS) or Docker and I’ll also help keep your company grounded that it might not be the panacea you’re looking for. But they definitely have lots of awesome uses!
I’d prefer a Unix/Linux environment to work in, but I’ll happily help remove Windows Servers from deployment requirements! 😉
Over the years one of the things that I’ve seen missing in disproportionate amounts are many opportunities for part time work in the software development industry. There are two things about this fact that makes me kind of chuckle at the absurdity behind them.
Much of the time there isn’t any part time work because so much of management and the existing group think is that more hours equal more productivity and more product. This is, however, very wrong.
If software developers did work fewer hours, they actually have a high possibility that they’d become more productive, not less.
Shock, gasp, horror, no, tell me it isn’t so, you mean an entire industry is wrong about the human psychology behind an occupation?! Yup. The perverse thing is this isn’t exactly the first time. It appears, we humans are really bad at determining the best psychological state to be in for a particular occupation. We tend to get better at managing this, but overall we humans don’t have a great track record.
What I’d like to see, and I’m by no means assuming anybody would listen, but if leadership out there is, here are my thoughts. They’re free, I’m putting them right here on this blog, and I’m not even asking for any pennies for my thoughts. Disseminate and use as you would like!
The Part Time Coder Position – $40-80k Dependent on Experience & Contribution Ability
Description: Available for meetings, pairing and coding for 4 hours per day, either on a declared morning or evening schedule to sync up with the team. Spending 4-5 hours per day total either meeting or working on project code. No excess meetings, domain planning or other business meetings necessary, core focus is coding and communication with the team and team lead that are working on the coding project.
Requisite Job Requirements:
• Possibly spend a full time week or two to get up to speed on practices, such as kanban usage, task tracking or whatever else is in use for project management.
• Be familiar with software development in general, with the expectation being of several years of experience with some stack that is similar to the primary stack that is being used.
• Be able to communicate, determine need for communication (especially if remote), and up-manage as well as determine self-direction with minimal interaction. i.e. ability to use the right comms for the right messages as often as possible.
• Be able to apply algorithms, patterns, and related thinking to provide solutions to the problem domain space that is being approached.
Other Peripheral Requirements:
• Ability to provide rough guesstimates on where and what effort something will take, pending reasonable time given to determine such things. Also management, as always, should keep in mind, estimates are always wrong. Just sayin’.
So where is this position availability? How about throwing some of those out there and see how or what could be done with some roles like that? It could be very useful. If you’re interested in putting some positions like this into place, I’d be happy to help consult or determine what you’d need.
Recruiters: I pose this question and write this blog entry knowing of no less than a dozen people that would work in software development, are exceptional software developers, but don’t because they’re either A: well off and have no need or desire to work full time or B: want to spend considerable amount of time living life and don’t have huge expenses, so they’d be really happy with a part time job. Neither of these people have any desire to work more than about ~20 hours a week. It’s a workforce that hasn’t even been touched on and overall, the businesses in the tech sector are seriously missing out
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!
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.
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.
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.
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.
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).
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.
You must be logged in to post a comment.