Node.js code review / tutoring services...
... or at least that's what I've decided to call it. I'm not sure whether this really has an 'official' name. Basically, I make your code better :)
Note that these services are only available for Node.js, not for other languages. Third-party APIs and dependencies are okay.
I will review your codebase, and make suggestions on how to improve the readability, maintainability, reliability and security. I will refactor small parts of your code to explain and demonstrate techniques. The code review is in stages - I start out with formatting issues, move on to modularization, specific security issues, and so on.
Note that I'm a perfectionist - I'll keep suggesting and explaining improvements until there's nothing left to improve. By the time the code review has completed, you will have a noticeably cleaner and more reliable codebase.
I do not strictly enforce any style guides - I value actual real-world readability over "following a list of rules". I will also always provide rationale for any suggestions, no "just because". That being said, I am very direct - no sugarcoating, just getting things done as efficiently as possible. My main goal is to teach you how to write better code, not to just change things around.
Code review is available on both an hourly basis, and on a fixed-price basis (depending on lines of code and complexity). More information about payment is below.
Perhaps you just want to learn Node.js, or a specific technology or specialization - promises, scraping, and so on. That's possible too! I will help you learn Node.js in whatever way works best for you. Whether that is pointing you in the right direction for self-directed learning, or explaining things step-by-step. I will adjust my teaching style (and language use) to whatever works for you.
It doesn't matter whether you have prior experience. Whether you're coming from another language or just have no experience with programming at all, I'll be able to teach you. That being said, you must be motivated to learn.
Due to the wide variety of different teaching styles, tutoring is only available on an hourly basis. More information about payment is below.
Maybe you just need the odd bit of advice every now and then - troubleshooting, explaining small things, or even just rewording documentation of a third-party library so you can understand it better. That's possible - you can keep me on a retainer/deposit for when you get stuck, and I'll help you out with any topic I know about :)
I have experience with a wide array of usecases - especially unusual edge cases with little or no documentation - and can generally adapt to whatever's needed. Some examples of this are writing an adaptive bruteforce/spidering script for a search engine, extensive experience with Tahoe-LAFS, and so on. See also my specializations below.
Advice on retainer/deposit is only available on an hourly basis. Note that for this, 'rounding up to an hour' and the minimum deposit still apply, but refunds of remaining hours are not possible. More information about payment is below.
I'm also available for Node.js software development and refactoring, on a case-by-case basis. Keep in mind that I will only actively develop on open-source projects - that is, projects where the results will be available under an open-source license.
Feel free to contact me with more details about the project you have in mind.
Software development is only possible on an hourly basis. More information about payment is below.
I generally do code review and tutoring over XMPP or IRC - providing snippets of code where needed using a Gist. I can do screensharing (via TeamViewer or an open-source screensharing tool of choice), but I've found that text-based explanations generally work better.
I suggest trying text-based explanations first - we can always switch to screensharing later if text doesn't work out for you.
- Application security
- Code maintainability and modularization
- Web-based applications
- Promises, map/reduce/filter, data processing
- Scraping - if it's accessible, I can scrape it
- Unusual architectures and experimental technologies, with little to no third-party documentation
- Distributed and real-time architectures
- 10 years of (backend) software development; primarily PHP, Python, Node.js
- 13 years of frontend development; HTML, CSS, JS (and third-party libraries like jQuery)
- A wide array of open-source projects
- A number of published Node.js modules on npm
- Many other frameworks, libraries, and technologies; too many to list here.
Some honest, unedited reviews from customers:
I reached out to joepie91 through IRC for help on reviewing my code, his confidence, open source contributions and experience within the language I was targetting was a great match for me. His mentorship has really helped improve the quality of my code through consistency and just a better understanding of concepts.
Sven is an incredibly talented developer that works with utmost diligence. He has thorough knowledge of Node.js platform along with the tools built on it and is really passionate about crafting the right implementation to solve most any problem at hand.
I hired Sven (joepie91) to help me beat the learning curve for Node.js; I needed quick tutoring as I was building out a codebase from scratch for a startup. Not only was he an excellent tutor in helping me understand concepts instead of just giving me the answer, but he was also available for me pretty much whenever I needed him. I expected to need ~25 hours of his services; however, I have made so much progress with him that I can't seem to get past 10.
In about only 8 hours, Sven (joepie91) taught me about modularization, callbacks, working with third-party modules, correct variable use, express routes and promises just to name a few. Sven often went into overtime just to make sure I understood a topic, and always made sure I had a thorough understanding of the material before ending a session. Sven is one of the most, if not the most experienced NodeJS developers I've ever worked with.
Available payment methods include PayPal, Bitcoin, SEPA, and potentially others.
- Fixed price: 50% deposit paid up front, other 50% after completion. Price is based on LOC and expected complexity, and will be set in stone after initial agreement - no later changes.
- Hourly rate: upfront deposit in 10 hour increments - after 10 hours, a deposit for the next 10 hours, and so on. Remaining hours after completion are refunded. Note that the time charged is rounded up to always be at least one hour, even if the work or session took less than an hour.
My rates are affordable, so don't hesitate to ask!
For hourly-rate payment, the deposit increments can be decreased if you're on a particularly tight budget. For example, you could pay a deposit for 5 hours at a time. Note that an upfront deposit is still required.
- E-mail: email@example.com
- XMPP: firstname.lastname@example.org (OTR fingerprints)
- IRC: joepie91 on Freenode (other methods preferred though - it's easy to lose track of PM windows)
Koningin Wilhelminastraat 41