4 ms·
disclosure: i dont work in software, im an engine mechanic whos learning python. ive worked for small shops from the ground up, starting with mostly off the sh
by nimbius 8y ago
disclosure: i dont work in software, im an engine mechanic whos learning python.
ive worked for small shops from the ground up, starting with mostly off the shelf hand tools and paper records, and moving into automated and well run repair businesses. The key i think is to find a company that realizes when they are squandering your potential and takes action before you're gone.
I went from brakes to suspension in 3 months and from there with consistent demonstration of talent, became the shop lead, then master mechanic, after 4 years. Im not so much a guy who twists oil filters anymore, but I'll still walk the floor and see whos doing what. I'll check our ticket queue to see what hasnt moved, or if parts in the crib need stocking. In my line of work we call it 'old timers.' guys who know and have the experience to guide, but dont necessarily care to leave the comfort of a comfy chair very often. Not a manager, but the first line of defense against having to talk to one.
I go out to fleets and take part in bids for maintenance jobs, not because Im a good mechanic, but because I know which mechanics I work with that are good for certain things. Im also known for bringing in a bucket or two of fried chicken for lunch on the weekends. I still have a workbench in the repair area, but my coworkers mostly leave weird parts I might enjoy or tricky problems to solve that nobody else has figured out.
- WrtCdEvrydy 8y ago> im an engine mechanic whos learning python. Automate the Boring Stuff with Python is a fancy course if you're interesting in something fun.
- echelon 8y ago> disclosure: i dont work in software, im an engine mechanic whos learning python You don't work in software. Yet. Good luck with learning! Find fun problems to work on, like making games or programming your lights. Perhaps scraping web pages for content and emailing you. Automate some small things. If you keep having fun, you'll stay motivated. The more you build, the better you'll get. It just happens naturally. You'll think, "I could have done this better by doing X instead", or, "I could have organized this more efficiently". Before you know it you'll be ready to make a career jump (if you want to). A lot of people in our industry never went to university and studied on their own. A few recommendations: Learn lists (aka vectors, arrays) and dicts (aka hashmaps, maps, etc.) These are the core data structures in scripting languages like Python. Knowing how to use them effectively with looping constructs is key to becoming a good programmer. Next learn how to organize your code. Functions, classes, and files where appropriate. You'll learn this naturally as you continue to build things. You'll also learn by reading other code. Use libraries to accomplish work that other people have conveniently made easy and packaged for reuse. Image processing, HTML scraping, game engines, website frameworks, etc. When you graduate this and want to become more "academic", you'll want to look into two areas especially : - data structures, which are things like arrays, linked lists, hashsets, etc. - algorithm analysis, which will teach you how to write efficient code (big-O notation and analysis, etc.) You don't necessarily need these, but they're a huge leg up. Mastering them can get you into FAANG. If you like web stuff and servers, look at distributed computing. Also look at principles of operating systems to understand how threading, virtual memory, etc. etc. work. Hopefully this helps. It's not stuff you need to jump on right away, but it can be a roadmap for the next few years. Best of luck! Hope you enjoy everything you're doing and never feel discouraged. There are always people out there that are better than you, and it doesn't mean you aren't good yourself. Don't doubt what you're doing. You got this.
- eutropia 8y agoIt was nice of you to put all of this effort into writing up this post, but what gave you the idea that GP wanted to do software full time for a living when they've got a great job already? Seems like they have autonomy, efficacy, respect from their co-workers, and enough money to share lunch. seems like a good gig, imo.
- josephv 8y agoThat's what I was thinking! Enjoy being up and walking around. Being chained to a desk is not always a dream job by any stretch of the imagination. There are very direct mental and physical health ramifications impacts that can only be partially mitigated.
- milesvp 8y agoAlso, I might argue if you have talent with programming, and already a mechanic, the better trajectory might be specializing in automotive electronics repair. I keep hearing about the parts costs to replace electronics in cars, and that's only going to get more and more expensive, and often a bench repair might be replacing a blown capacitor (after drilling through the epoxy). If you can get good at troubleshooting electronic problems with cars, and can save people from having to buy entire new replacement boards, you can capture some of that savings.
- zorga 8y agoMoney. When he realizes how much more he could be making doing software, he'll switch.
- jamiek88 8y agoI’m not who you replied to but I really needed this. I’m working on getting out of being a headhunter (a decent, honest, technically minded one who actually listens, but still with all the bad actors it’s hard to have prod in my career) into software development. I’ve always been fascinated with computers ever since programming my BBC micro first in basic then assembly. Family reasons meant i needed a short term job (12 years ago!) so I put off learning and dropped out of university. I’m able to spend the evenings and weekends learning now -I’m fascinated by iOS development, Swift and learning all the apis. Motivation hasn’t been too hard to find but seeing light at the end of the tunnel has and this post resonated with me because I understood a lot of it and thought that I have come a little way after all. Thanks for taking the time to write this.
- luckydata 8y agoThe way you describe your work sounds a lot like the physical world equivalent of engineering management.
- pryelluw 8y agoMechanic turned dev here. Writing Software is similar to working on cars. Youll do well as long as you keep your detective skills honed. Email me if you ever need any help. I do python as well.