8 ms·
Thoughts on 2 Years as a Remote Robotics Consultant
- W0lf 6y agoI cannot fathom how anybody could either come up with the idea of taking screenshots from a computer desktop continuously whilst working for a client (in order to somewhat _prove_ productivity, I assume) or is comfortable to a degree with a contracting company taking screenshots from a computer while working for a client. Really, I can't grasp the absurdity of some people's mind sometimes and wonder about their morality (UpWorks in this case, not yours. Just to be clear.). Not everything that maybe is technically doable is also ethical. If you comply to such practices, I think it will have an impact on your self-esteem and self-respect. Just try to imagine how other fellow hackers, developers or software engineers you admire would think of the idea getting screenshot'ed every other minute in order to control them.
- msadowski 6y agoI agree with your view. You technically don't have to do screenshots on Upwork but then you are not eligible for payment protection. On one occasion I had a client not pay, but thanks to the Upwork protection I got paid quickly and then they resolved it with the client. If I was doing a similar service as UpWork and wanted to offer a kind of payment protection I'm not sure how I would go about that. I'm thinking maybe something like a code diff week-after-week sent to the client but at the same time not everything can be diffed (especially countless meetings with clients). Would you have some ideas?
- W0lf 6y agoI'd really would encourage you (and other fellow software contractors) to not think in terms of amount of code produced but in terms of solutions brought to the client that helped solving a specific business problem. As I've responded to another comment, there is no correlation between the amount of ASCII chars produced and productivity/net gain for the client. As for UpWork it doesn't make it any better (for me) if their payment protection is bound to this kind of screenshot surveillance. If they don't offer a payment protection in every* case, I wonder why they exist in the first place other than talking a good cut from your daily rate and making everything more complicated for both the software contractor and the client.
- msadowski 6y agoThanks for the advice! I'm a big fan of value pricing and I've been actively trying to win some contracts like this but didn't succeed (yet). Also I take projects outside of Upwork, however, I don't get as much traction outside of that platform, and as much as I would like to live off direct contracts it doesn't seem it will happen anytime soon.
- ahelwer 6y agoI recently made the transition from full-time software engineer at bigco to independent consultant, so maybe I can help explain. There's a fairly large mentality shift between salary work and contract work. When you're salaried, you're supposed to work eight hours yes - on paper. Really it's generally accepted people work 4-6 hours a day, with the rest being filled with lunch break or internet browsing or doing online chores or whatever. There is a tacit understanding between employer and employee about this, so any steps by the employer to monitor daytime computer usage is understandably seen as breaching this understanding in a misguided attempt to get employees to work more hours - or exposing the employee to arbitrary punishment if management wants to selectively undermine them for breaking rules that everyone breaks. It's different when you're contracted per hour. When you carve out an hour for a client, it's game time. No faffing around on Facebook, no checking financial statements. You do the work. Does this mean you have to work a full 8 hours? Absolutely not. Just do part-time contracts to fill up as many hours as you want to work, then charge more per hour. Your hourly contract rate will be much more (2x or more) your hourly salaried rate anyway. So, since you're actually factually working during the contracted hours, I don't really mind whatever desktop screenshot system they want to use. On another note: actually working 40 hours a week basically sucks. Let's acknowledge how good a deal we have as full-time tech employees and show solidarity to our brothers & sisters who do full-time shift work. Pushing full-time work down to 32 hours a week or less is a very worthy goal.
- W0lf 6y agoThanks for your remarks. Few things come to mind: First I'd never charge by hour but have (at least) daily rates and I'd suggest every other independent software contractor to follow the same principle. Second, there is no correlation between the amount of ASCII chars outputted per hour and the productivity/net gain for the client (at least for the type of work I'm doing for whatever that matters). Sometimes I do have to think hard about a problem for a longer period of time, maybe executing on a few ideas before finally presenting and motivating a solution I came up with for a given problem. That doesn't mean my computer desktop looked _productive_ the whole time. In fact much of the important work maybe even done on a sheet of paper.
- 6y ago
- TrackerFF 6y agoYeah, it's pretty intrusive micromanagement. On the other hand, you have the white-collar consulting industry, which is pretty much the wild west compared to this. People billing their clients for 24 hours of work a day, etc. Overbilling is not just encouraged, it's even required, at some shops. That kind of culture obviously makes clients want more oversight and documentation.
- throw1234651234 6y agoFirst of all, it's really cool...badass even, that you were able to get this off the ground. Second of all, I am curious to the specific nature of the work that you do 80% of the time. Do you write software for off-the-shelf robots? Do you add components to off-the-shelf robots? Do you design the components AND write the software? Is there any design from scratch for things like having a robot that does a very specific task? Why aren't you starting a Roomba competitor? (You don't have to answer this one...or any of these really, but I am genuinely curious in a way)
- msadowski 6y ago80% of the time would be probably software development/integration. Some tasks/requests would look like this: * We have a working robot now, and this robot will need to perform very repeatable tasks by driving through waypoints. Let's design a state machine that would do that. * We need to make a system for outdoor mapping using a LiDAR. Can you suggest off the shelf LiDAR and localization system that we could use and then integrate everything in ROS? * My robot has misconfigured local navigation and it's not listening. Could you have a look? * The rangefinder we are using on the drone is not performing well. Can you look through the logs and help us troubleshoot it? Quite often the work requires me to integrate existing software. ROS (Robot Operating System)is amazing for this, as it has lots of open source packages, where some of them work really well out of the box. I rarely add anything to off-the shelf robots. Most of my clients are making their own robots and want help with architecting/programming these systems. I don't design any components (I don't have almost any experience with electronics). I can do some simple CAD design if needed but my clients are better of hiring someone for CAD anyway. I'm not sure what do you mean by robot designs from scratch - if you mean robots that you could build and program yourself then yes, there are plenty! I've listed some of the ones I liked the most in Awesome Weekly Robotics (https://github.com/msadowski/awesome-weekly-robotics https://github.com/msadowski/awesome-weekly-robotics). Currently I don't think I would try to compete with someone like Roomba. It would take huge amount of money to create robots like these at scale for the low price of these units. Also all the electronics need to be certified (at least with a CE mark, but I expect something else would also be needed). Rarely one person can pull something like this off from A to Z. If I'm ever to start a company I would like to try to grow it organically. If I ever get a really good idea I'll definitely give it a shot.
- gk1 6y agoI'd like to underscore the "mastermind group" idea, because it's been immensely helpful for my own consulting career. I've been having lunch with a close friend and consultant (now CMO) every Friday for the past few years, and it's a huge difference, albeit difficult to quantify. The benefits include accountability, refining ideas, reducing stress, exchanging consulting tips and lessons learned, motivation, and more.
- msadowski 6y agoThanks for your input! Would you have some advice on running the group? Do you have some specific format of the meeting or do you just say what's on your mind? About accountability - do you kind of 'homeworks' between the two of you or is it more about following through and acting on the discussion you had?
- gk1 6y agoWe follow a loose format: 1) How's the day going? 2) Interesting updates, wins, observations, challenges from that week. 3) What challenges are coming up next week, and how to solve them? 4) What's a proud moment from this week? (We wanted to add a touch of positivity and recognizing successes.) 5) Open discussion - Whatever's on your mind lately, want feedback on, etc. There's accountability but not strict homework.
- msadowski 6y agoThese are great! Thanks for sharing!
- cybernoodles 6y agoId love to know how you got your first clients. After being at AWS for about 3 years, I have been working in humanoid robotics in Japan for another 3 years and am really eager to do something on my own and get out of the Japanese work-life balance nightmare. Any advice is appreciated.
- msadowski 6y agoI took the first two projects on Upwork while working full time, afterwards I managed to land my first long term project before my notice period and then I had a constant stream of projects. Humanoid robots sound super difficult. I don't know how many companies might be working on humanoids so I'd advise you to try to look for something relatively broad. For example mobile robots and drones have been working quite well for me, but hardware wise I'd expect them to be much simpler than humanoids.
- scr 6y agoDo you have a portfolio site? I know someone who is looking for robotics freelancers.
- msadowski 6y agoI don't really have a portfolio but you can get some idea on the things I have worked with by scrolling through my blog: https://msadowski.github.io/ https://msadowski.github.io/. A portfolio would be a good thing to have, though, thanks for the suggestion!
- Iv 6y agoHi, not OP but I may as well make a shameless plug: http://iv-devs.com/robotics.html http://iv-devs.com/robotics.html
- cybernoodles 6y agoSorry I dont have anything besides my Github: https://github.com/chrislgarry https://github.com/chrislgarry. All of the robotics work I have been doing is confidential and theyre quite strict about that.
- msadowski 6y agoHi HN! I've put this article together and thought some of the points I'm making might be relevant for you - especially these about remote work and self-employment. If you have any questions or need some tips then feel free to comment here or send me an e-mail (you'll find it in my profile description)
- Nashooo 6y agoGreat article! And good job! How did you get started? How did you market yourself in the beginning? Any tips for a computer scientist with robotics background but who has been working in enterprise software for 8 years?
- msadowski 6y agoThanks! I started by doing two projects on Upwork while working a full time job, then I decided to quit without any projects lined up and was very lucky to find a long term project on Upwork before my 1 month notice period finished. Marketing wise at the beginning it was just Upwork. Shortly after I started I tried writing technical posts for my blog (mostly related to ROS and some hardware testing/reviews). Around that time I also started Weekly Robotics newsletter (https://weeklyrobotics.com/ https://weeklyrobotics.com/) but so far it brought only one client onboard but it's a great way to show potential clients that I'm following what's going on in the industry. When it comes to tips: I would suggest learning ROS - if you have experience in software it should be quite easy for you but expect some learning curve. Then I would suggest doing some projects like integrating SLAM and obstacle avoidance on a mobile robot, ideally with a physical platform. If I were you I would treat it as a hobby in the beginning and try to have fun and if you find a niche that truly sparks your interest it might be worth specializing in it.
- tomashubelbauer 6y agoI love the Weekly Robotics newsletter! I'm not in the robotics field myself, but it's a great window into it for the curious and I benefit from it very much. I can recommend people check it out!