3 ms·
This! This is how I made my career, I've worked on non trivial stacks that varied from low level code to opengl, mobile apps, php with vuejs etc. Take the exact
by iKlsR 5y ago
This! This is how I made my career, I've worked on non trivial stacks that varied from low level code to opengl, mobile apps, php with vuejs etc. Take the exact stack and make something as simple as a todo app, you'd be surprised how stuff sticks and you can identify similar code after or at least know where and how to start. When you look at it, a todo app would entail connecting to a database for persistence (look at what the company uses or can even be a json file, sqlite etc), you need crud methods and maybe a sprinkle of logic then you need a frontend with some interactivity then depending on your setup you'd need to containerize this. All of this can be done in a weekend and you're ready to tackle the smallest ticket Monday.
The next best thing you can do is make a work log, save every single stackoverflow or documentation link you visited, take notes and document everything you learn, do or want to do. Whenever you do something or are unsure, make notes to ask the senior devs later on. It wouldn't hurt to ask the other junior dev if he wanted to pair on a ticket as well to observe how they work.
The other day I was brought on to a project that uses gRPC, I've only ever briefly looked at protobufs and with one weekend, I learnt how the proto files worked, the tooling around getting setup, made A LOT of silly errors, got stuck, unstuck and stuck again but eventually made the simplest application that stored locations to a sqlite database. The following week I made my first PR to the project because I could identify what was what, the project structure was much different and complex compared to my small app but the concepts and how everything worked made it a lot easier than just diving in headfirst which when in retrospect would have been next to impossible.
- mettamage 5y agoThis is fun and all, but what about doing things like: learning how to cook, studying physics, playing music, falling in love, and so on? Is this also true for other professions, if not, are there decent professions where I can simply put in an enthusiastic 40 hours but just 40 hours?
- Arisaka1 5y agoHalf of the things that you listed also require engagement outside of working hours (playing music, cooking, physics). It all boils down to how satisfied you are with your competence. You can always work for companies that work with well-established stacks, don't change things every month, and your codebase is stable. You won't have to play catching up. The side-effect of that is, you "only" have whatever stack they're using as your marketable skillset.
- 999900000999 5y agoConsidering I was able to get to six figures without a degree, I think programming is a pretty good gig. Let's just say you're an auto mechanic, odds are you do work on your own cars as well. I do wish more programming interviews were about side projects instead of Leetcode. I still struggle with Leetcode interviews, but I'm not willing to sacrifice my hobbies. It's fun to make mobile apps, it's not fun ( for me) to solve Leetcode questions.
- TowerTall 5y agoMailman is one. Except if you start to build your own route optimization app. Now you already added at least 20 hours a week. Then you deploy it on K8 and there goes the weekend.
- TowerTall 5y agoThis is also how I kick started everything long time ago. I am also self taught and is working in an environment that developed web applications running on the Microsoft Stack, I learned myself how to install an AD controller, SQL Server, Web Server etc and eventually I had a mini enterprise domain environment running at home. I learned how to write an application for it, how to deploy it, etc. Throughout all the years I have kept that environment (rebuilt a million times) and over time added more and more features and using new products and version. It gave me insights that my peer developers didn't have. I became aware of the entire life cycle associated with an application and learned enough of the various moving parts to understand the full picture of what was going with the application we work with at daytime-job. To have this understanding gives you a huge leap over your peer developers that only understand what is going on inside of the code silo. My AD environment might not be of a quality that could be deployed in production in a real enterprise, but it enabled me to participate in discussions with infrastructure people and to better understand what could be root cause of the errors I had to troubleshoot during a normal days of work. Having my own mini enterprise setup also allowed me to check out and learn about future features and suddenly you find yourself capable participating in talks with architects. In addition as subscription to Plural sight online training also helps in learning quick and get a overview of various tech.