Frequently Asked Questions

Last updated 8/2/22



Currently, yes.

I am an American citizen.

Yes, my current employer is listed on my resume.

I am part of the highest level team of developers employed by this company. Together, we are responsible for tackling the projects that no other team can. About 15% of our time is spent addressing high level tickets, revolving around technical issues ranging in simplicity from an employee needing Sharepoint access, to setting up FTP shares or automatic data dumps via SSIS, and debugging existing applications. The remaining 85% of our time is spent creating new internal, web-based applications for onsite employees. For example, when this state first mandated that employees be vaccinated against Covid, our team was responsible for quickly creating and deploying the site that would allow employees to report their vaccination status.

Projects are tackled individually, unless they are high-priority and larger in scope. This means that we are responsible for these sites from start to finish; from meeting with stakeholders-- often nontechnical staff--, gathering requirements, planning and executing development, to testing, deploying and maintaining them. When we face something we haven't learned before, we try to figure it out ourselves, but can defer to the larger team for help when necessary.

For my first few jobs, I operated as an IT team of one, single-handedly balancing software development with IT responsibilities. While I do typically prefer working on software projects alone, and strive to resolve issues single-handledly whenever possible, one eventually gets to the point where they'd benefit from having a team to lean on, especially when efficiency and deadlines are a factor.

I was driven to my current position with the promise of working with a team of developers, with a range of skill sets and years of experience, with whom responsibilities would be shared. Unfortunately-- if only because the team has a lot on their plate-- the level of collaboration in reality is not quite what I had hoped for, to the extent that I don't often see the benefits of having a team.

Additionally, with the lack of code reviews and structure around project development, I fear my skills as a developer are at risk of stagnating. We are not necessarily developing with the latest frameworks, technologies and methodologies employed by other dev teams in this field. We work on projects until they are finished, there are rarely deadlines, we review and debug our own code, and rarely get to coordinate with other team members on projects. I have never worked professionally in a fast-paced, agile/scrum environment where you're given deadlines and your code is reviewed by a QA team-- and that seems to be the standard these days-- so while I do work best in a more relaxed environment, I don't want to fall behind, and would like to be more exposed to more modern development practices.

Lastly, because the company is a nonprofit, they are limited in their ability to keep compensation up with the rising costs of living.

Unlike previous roles, I work with and for people that understand software development. I can discuss projects with people that understand the terminology and technologies involved, and there is the potential to receive assistance when I encounter issues I cannot resolve myself in a timely manner.

Additionally, we are trusted to manage our own time. As long as we work the full 40 hours a week and make ourselves available when we are needed, my boss allows us to work whatever hours are most convenient for us. Because we are a highly skilled team, our advice and project estimates are generally trusted. We also have the freedom to turn down projects if they do not fall within our scope of responsibilities or knowledge, or if the business benefit would not meet/exceed the time cost of development.

Ideally, I prefer a working environment that is reasonably paced, where we (developers) are given the time to plan and implement solutions at a, well, reasonable pace. I prefer to work slowly, but precisely, when coding. I recognize that is not the norm, however, so I consider it a soft requirement.

I prefer a collaborative work environment, where I can work on my own projects, but have the option to lean on teammates when I feel it would lead to a more efficient resolution to issues I encounter.

A positive and friendly work environment, where my teammates and superiors are approachable and helpful, is of course preferred.

I am seeking direct hire, full-time, remote positions. I prefer working remotely, but would consider a hybrid position if it was located near Rochester, NY and required working onsite minimally.

Work-life balance is important to me. I cannot be a good employee if I am burnt out. I prefer to keep work within working hours, and to have some flexibility around which I can live my personal life and fulfill personal obligations. I will of course make exceptions for genuine emergencies, and strive to be a team player, but not if its a frequent occurrence brought about by poor management.

I prefer companies with some stability behind them, and would only consider a role with a startup under certain conditions.

My best working experiences have been under bosses that 1) understand software development, so they can understand what you're working on and provide practical assistance when necessary, 2) don't micromanage, but instead trust their employees to operate at their skill levels, 3) are willing to fight for their employees, even against their own superiors, because they do trust them and know their capabilities, and 4) are approachable and generally pleasant.

Currently I prefer direct hire opportunities, but may consider long-term contract positions that are likely to turn into direct hire.

I prefer working remotely, but would consider a hybrid position if it was located near Rochester, NY and required working onsite minimally.

I am most experienced and comfortable with the C#/MSSQL/HTML tech stack, but would be able to consider a position involving other tech stacks if the role would include either a degree of education on how to use them, or the leeway for me to teach myself.

For the entirety of my professional career, I have worked on sites start-to-finish, front- and back-end, so I have full-stack experience. I would consider myself strongest in the back-end, if only because my eye for aesthetic design is not strongly developed. While I am capable of building fully functional UIs, their style tends to be minimalist with a focus on practicality over being "pretty". If given a style to mirror, I could certainly do so.

Current fair market value for these kinds of roles and with my level of experience seems to be around 95k annually at the mid/low end of the range.

First and foremost, I firmly believe the ability to problem solve is also vital for a developer, and I consider that not only one of my greatest skills, but also a personal passion! I genuinely enjoy logically tackling new problems, developing fresh solutions. I don't have a strong mind for memorization, as some developers do, and I see people question one's competency as a developer without that skill. I've found that, if you're a good problem solver, it doesn't matter what language you're working in, or how well you've memorized the language; you can develop an abstract solution and then translate it into code. Being good at problem solving also means that you can see multiple approaches to tackling an issue, better enabling you to find the one that's most effective, rather than fixating on the first approach that comes to mind.

Though some outside of this industry might not consider it one, being good at Googling things is an important skill to have! Not necessarily memorizing an entire programming language needn't be a deficiency anymore; I can almost always figure out the lines of code I need to know to solve a problem without having to ask for help. In that way, I am largely self-sufficient.

I work best in a more casual environment. My personal development methodology prioritizes accuracy over speed; I can provide a quick solution if time is critical, but I typically prefer to work through problems with care and precision. As such, my development time is sometimes longer than that of others.

Additionally, as mentioned under previous sections, I don't necessarily remember the full syntax of a language unless I work with it daily. Some concepts I don't deal with, professionally, on a regular basis, are not always retained-- such as the runtime/efficiency of different search and sort algorithms! For some companies, this information is often considered and expected to be retained. For none of the companies I've worked has this information been particularly relevant, so I don't remember those stats offhand. But I am an eager learner that adapts well to new environments; if I work for a company that makes use of such things regularly, I will remember them.

Most recently, I was tasked with taking an existing site and rebuilding it in a modern framework. This site allows participants in studies conducted by my employer to submit their personal information to the administrators of the studies, who can then review, modify, and share these records as dictated by the study. It had to utilize the existing Active Directory system for secure logins, communicate via email with administrators regarding updates to user data, and store all relevant information within the existing MSSQL database.

For this project, I had to learn a few new technologies, such as Razor pages and Entity Framework. These would allow the project to generate models for the tables in the database, along with the code to process information to and from the tables, and the front-end forms to allow users to submit/read information from them. It would also ensure a streamlined and consistent design aesthetic and proper mobile integration.

Due to our decision to try and keep the existing data structure, we ran into some issues with Entity Framework being able to parse it, such as with tables that lacked Primary Keys. It required some work to get going, and while it was stressful working with a new tool I hadn't utilized before, I came to appreciate the utility of it, and enjoyed resolving issues on my own.

For one of my courses in college, I built a financial tracker that would allow me to log purchases I made and then perform some simple analytics on them, such as categorized monthly spending graphs. Beyond that class, I continued to develop that site into a comprehensive management tool not just for finances, but for notetaking, document storage, event tracking, storing and sharing wish lists, logging paychecks and calculating student loan interest, music streaming, and more.

It is by far my largest and longest running project, in development for the better part of a decade. Every time I learn some cool new coding trick for work, I try to find a way to incorporate it into my site. As such, it represents, pretty comprehensively, my growth as a developer over the course of my entire professional career. I use this site on a daily basis, which helps me stay organized.

It was originally built using basic Html with some PHP for server-side processing. When I learned C# and webforms, I converted it to that framework, utilizing postback functions for most of its data processing. When I learned how to create C# web methods that could be accessed through AJAX calls for seamless backend processing, I integrated that into the project. When I delved into Html5 and learned about its audio element, I built a private music streaming service into the site. Now that I'm working in .NET Core, I'm in the process of updating this site to utilize that framework.