I need a C# developer with Azure experience that likes to work the whole stack
_Rate:_ **$45-$60/hr** _+ equity options on product launches_
_Hours:_ **20-40 hours per week**_, Part-Time, Ongoing_
We're seeking a hands-on, dedicated C# developer who is driven to push their technical skills and knowledge; someone who is not looking for a typical desk job. The closer you are to being a full-stack developer, the better. I also need you to have cloud platform experience, preferably with Azure. I don't expect that you are the master of all things Azure or C#; however, I need you to have the desire and confidence to figure it out, mostly by your lonesome.
We work with different clients who serve a variety of industries, so one month you might be helping to migrate a company's systems to the cloud, the next month you might be developing a mobile app, and still the next month you may be developing a web application. There is a ton of opportunity for a variety of innovative projects!
We're a small company, but we've landed gigs serving some big brands. In general, our company is on two tracks. We run a consulting company that helps other companies solve their problems, whatever those might be. And, we are building a war chest to self-fund a series of startups. If you like a startup environment, then this might be a good fit.
Please send your resume and ask questions. I will provide feedback within a few hours.
- Work from anywhere (work hours should roughly align with rest of US-based team)
- Paid vacation (after 6 months)
- Laptop allowance (after 6 months)
- Work with other good people
- Strong C# proficiency and moderate SQL skills
- Experience deploying code to at least one cloud provider, preferably with Azure
- Experience working with and developing REST API and Web API architecture
- Some level of "full-stack" experience including JS, CSS, HTML (with the emphasis on JS)
- Source control, git, GitHub
- Exposure to unit testing, test-driven development
- Knowledge of client/server application development and Agile and Kanban methodologies
_Keywords: c#, node.js, azure, git, github, visual studio, rest api, web api, mongodb, sql, sql toolbelt, trello, slack, dapper_
Must be a good person. Humble, yet confident in your abilities, and able to work through both merge conflicts and people conflicts.
Sure, it'd be great if you have all the enterprise-grade training in every possible technology already. But, all we really need is a smart person with just enough of an experience match, as long as you also have the grit and ability to google until you figure out whatever problem is in front of you.
## Short Coding Test - Part 1
Let's say you need a sequence of numbers that can be used with LINQ for the purpose of some algorithm (e.g., 1, 2, 3,...). You can get an enumerator that can provides the sequence of numbers with something like `Enumerable.Range(1, 100)`.
That method returns an `IEnumerable` that generates that sequence on-the-fly without every actually creating a proper data structure to hold all elements of the sequence.
Now, let's say you had a dependency that required this sequence to be randomly accessed via an `IList` interface. Can you implement an `IList` that makes random access to a just-in-time return of the value in each "element" of the list? (so … um, `ToList()` is not a valid answer here; in fact, please don't use `Enumerable.Range` internally at all).
Here's one test to help gauge your implementation success:
// Given a list of numbers ranging from 100 to 200
var list = new Listify(100, 200);
// When I access index position 50
var val = list50];
// Then I should get back a value of 150
## Short Coding Test - Part 2
Now, we need to hook up that IList interface to do something super useful via a "microservice" (#buzzwords):
1. If you don't already have a free Azure dev account, go set that up now
2. Set up a public repo on GitHub
3. Create a WebAPI project that responds to GET requests on this endpoint route: `/listify`
1. Accept _begin_ / _end_ range parameter values, in whatever way you think is most RESTful
2. Accept a parameter to select the _index_ within that range
3. Return the value located in that index in whatever way you think is most RESTful
4. Deploy this WebAPI endpoint into Azure
Once you have it deployed, share the working Azure link and GitHub repo link.
If you want bonus points, or just for fun, set up the GitHub webhook integration so that your endpoint auto-deploys to Azure after each commit. ` :)`
## Interview Questions
Answer as many of these as you like and post them in a gist to share your responses with me to review … this really saves everyone a LOT of time:
1. What are examples of the types of projects you have deployed to Azure?
2. How do you classify your senior-ness as a developer? What are your development strengths?
3. What are your top 1-2 favorite editor(s)?
4. Have you ever done a pull request?
5. Have you ever had a chance to use TDD? Have you found it to be helpful? If so, when does it work best for you?
6. Have you been given the opportunity to use tools like ReSharper? What did you like about it?
7. Do you prefer working directly with the business people? Or do you find it's best to have a go-between run interference?
8. Have you ever used web.config transformations? If not, do you know what they are good for?
9. Can you tell me anything about `slots` in terms of Azure? If not, based on what you just googled, how would you use them in your next Azure project?
10. Have you worked with any of the cloud providers (Heroku, AWS, Azure, Google)?
11. Can you explain what DevOps and/or continuous integration is, and some of the benefits?
12. Are you technology agnostic? Or are you pretty strict when it comes to things like Mac vs Windows, or AWS vs Azure?
13. What are some of your more advanced SQL querying abilities (i.e., like what keywords or commands, etc)?
14. Do you happen to know what TypeScript is and why it's gotten popular? How does it differ from JS?
15. How comfortable are you in working a project that involves touching some CSS and HTML?
16. Can you explain the diff b/t relational databases and NoSQL? What are some NoSQL platforms that you have familiarity with?
17. Can you try to explain GPG, SSL or public/private key encryption?
18. Do you know anything about "secure coding" practices?
19. Can _you_ authenticate to GitHub using SSH?
20. Can you explain what REST sorta kinda means?
21. How enthusiastic would you be if we asked to pay you to take some training courses on Udemy?
22. How many of these platforms / languages / frameworks do you have experience with? (organize your response in order or preference)
Node Typescript Angular / React / Vue Spark Hadoop SQL Excel Python Pandas R Linux Mac Windows Jasmine Docker Kubernetes .NET C# NUnit Go PostgreSQL MySQL SQL Server bash shell scripts PowerShell MongoDB Azure AWS Google Cloud Platform