Who am I?
My name is Eric Normand. I am a software engineer with deep Clojure experience. I have worked with large corporations, the federal government, startups, and non-profits. My specialty is finding just the right abstraction to represent the problem. The solution, then, is easy. My other specialty is carving out a Minimum Viable Product from a Big Idea.
I have developed significant projects in both Clojure and ClojureScript, mostly on the web.
Do you stare at your code wondering where the complexity is lurking? Do you think “I know this code is bad, but where do I start?”? Code gets stale over time. And sometimes it’s poorly written. You want to refactor, but you need some help.
I will pair program with your developers, working through tough refactorings. The code will be cleaner, more obvious, more organized, and generally more maintainable.
Some tips to get started:
- Refactoring tested code is easier than refactoring untested code
- If you’re having trouble getting started, start somewhere easy
- When in doubt, make many, small functions
You would love to feel great about your code, but every time you open a file, all you see is a big mess. It makes you anxious to think about adding a new feature. And thinking about cleaning it up makes you feel worse.
Your tests are too slow, too brittle, or don’t cover enough cases. Or maybe you don’t even have tests. I’ve been there many times. I will pair program with your developers, develop a testing plan, and get down and dirty. Tests are made to make developers feel comfortable in the code. You can have that warm feeling every time you open your editor.
Some of the tools and techniques I bring to the table:
- Removing database/external service dependencies from tests
- Testing untested code
- Property-based testing using test.check (Clojure and ClojureScript)
- Better testing workflow
You have a great idea. You’ve been thinking about it for a while, and it’s pretty fleshed out. But your developer friends are too busy to work on it and you’re not ready to pay a developer’s salary to build it.
What you need is a Minimum Viable Product (MVP) to show to investors, get people using it, and test the idea before you invest lots of money in it.
I will build your MVP. You bring the idea and wireframes, design sketches, and mockups. We will Skype and define the scope of work, which will detail the Minimum Viable Product. I will build the MVP in Clojure, host it in the Cloud, and deliver the code to you.