5 ms·
This is a very good question and I'm going to think about it more. During this past semester, I started keeping a Trello list of potential projects/readings I c
by didizaja 6y ago
This is a very good question and I'm going to think about it more. During this past semester, I started keeping a Trello list of potential projects/readings I could work on to consolidate things, but it's still hard to pick from. The Git internals thing I mentioned was one thing in that list. Since I'm interested in open source software and the communities that form around projects, another idea I had is developing a "book club" where people meet and read the code and discuss the architecture of popular open source projects. I created a basic site for this a few weeks back, but haven't advertised it since it's not acceptable for public viewing yet.
The main issue for me is that my interests are a bit too broad. Should I learn web dev from my job by day, then try to implement an OS in my free time by night? I know I can't learn everything, but yet it feels like there's so much I really _do_ need to know to be a competent developer.
- silicon2401 6y agoThis is what I would do. Treat it like an engineering problem: break it down into smaller, simpler parts, and start with small steps. You value practicality as well as personal interest/fulfillment. Either pick one and start there or pick both and consider the options there. If you want to be practical, learn the most marketable skill that you're at least somewhat interested in: Java, AWS, Docker, Javascript are all incredibly marketable. If you want to go for interest, just pick the thing you're most interested in. You could also try and juggle two deep dives, at the cost of more time and less depth, but maybe that works for you. Don't worry about becoming a senior dev in a semester. Pick something and focus on it. That could be an AWS certification, building something in Java, etc. Once you get through that, then decide your next step.
- webmaven 6y ago> I know I can't learn everything, but yet it feels like there's so much I really _do_ need to know to be a competent developer. There really isn't anyone on the planet who is truly a "full stack developer" and competent from the front-end all the way down to the OS and bare metal. No one. Most developers stick to a particular layer, and are only familiar with adjacent layers to the extent of being able to have arguments with those developers. A 5x-ish developer is competent in those adjacent layers as well. A 10x developer either has mastery of their chosen layer, adds additional competency layers, adds competencies on the connecting tech between chosen layers (ie. not just front-end + backend, but networking too), has relevant domain competencies, or some combination. So, just pick an entry point, learn as much of it as you want, check out whatever is adjacent, follow your interests, and periodically evaluate whether you need/want to change course or dig deeper into technologies, tools, domains, etc. wherever you happen to be. Even if you end up wandering quite far from where you started, the experience and knowledge you gain on the way isn't likely to be "wasted", unless it is mastery of some in-house tech or tool that literally no other organization uses.
- silicon2401 6y agoI disagree, I can easily imagine somebody having full metal to UI knowledge. Obviously not knowing every programming language, all types of electrical engineering applications, etc. But it's totally feasible to be able to have a sense of understanding from metal to front-end at least to an extent.
- webmaven 6y agoNote that I am speaking of "competence", and you're mentioning "knowledge" and "sense of understanding". Not really the same thing. Separately, "the stack" is inherently polyglot, and even aggressively pruning the selection wherever possible and eliding many formats, tools, and protocols still gives you an absolutely minimal set like JavaScript, HTML, CSS, HTTPS, TCP/IP, SQL, C/C++, Assembly, & VHDL.
- silicon2401 6y agoYou can replace what I said with competence, and I still claim it. I think it's fully possible for people to be competent from metal to frontend, and I'm sure there are at least a few out there who are.
- webmaven 6y agoWe may be differing in defining competence, but regardless: agree to disagree?