3 ms·
Would anyone care to estimate how much time would take to someone starting from scratch be able check all bright yellow boxes?
by soneca 10y ago
Would anyone care to estimate how much time would take to someone starting from scratch be able check all bright yellow boxes?
- andrewstuart 10y agoI just recently completed my journey to "tick all the yellow boxes", i.e. to have sufficient competence in every required technology to be able to build my own full stack applications from end to end. For all three of the roadmaps on the diagram, it took me five years, part time weekends and nights. What this means in practical terms is that most of the things that I need to build an application are familiar to me and I have worked with them and programmed them at some point, and I feel like I know where to start when resolving issues with those technologies. And that was starting from the point of being extremely technical, and having previously owned software companies and already having architected and designed more applications than I can even remember, and having done a little programming here and there over the years.
- et-al 10y agoOptimistically? You could do it in two years if you're studying full-time, focused, and have a mentor for any roadblocks. Six months getting familiar with programming, and 6 months in each area (front, back, devops). However, with things like devops, I'd personally want someone with a year or two of real, working experience. And this is not factoring in the potential of burnouts from repeated 8-10 hour days of studying. Lastly, it's pointless to check off all the boxes there unless you're trying to make yourself super marketable. For example, if a company is hiring a Rails developer, they don't care if you know Node/Django/Go/the next hot thing.
- alpha_squared 10y agoA lot of time. Which roadmap in particular were you asking about? I'll attempt to estimate each of the three, though I'm sure others here will have better estimates in each. I'll overestimate as well, as much as double what I think is fair because, if we're honest, developers are bad at estimating large time periods. This is hours-technology pairing. A '?' designates uncertainty. Front-end: 010 - HTML 024 - CSS 070 - JavaScript 020 - jQuery (controversial / optional, I'd suggest it) 026 - JavaScript: ES6 010 - JavaScript: gulp 012 - JavaScript: npm / Yarn 0?? - JavaScript: Webpack 0?? - JavaScript: Typescript /// TOTAL: 172+ hours Back-end: (going to generalize) 060 - Language: Ruby / Python / PHP (+20) / Node.js (+??) 006 - Package manager 012 - Testing framework 024 - Web framework 120 - Web Server, Restful APIs, ..., Docker 0?? - Storage: Caching 036 - Storage: Relational databases 020 - Non-relational (NoSQL) databases 080 - Search engine, GOF design patterns, ... (+??) /// TOTAL: 368+ hours DevOps: 120 - Operating System 080 - Automation 140 - Cloud 0?? - CI / CD 0?? - Monitoring & Alerting 030 - Containers 030 - Cluster Managers 050 - Web server 999 - Love for terminal ??? - Everything else /// Total: 450+ hours You'll notice there's a lot of overlap between back-end and devops, though. I'd say this is the _minimum_ time you'd need to understand the basics of each branch, but you'd understand enough to be competently productive.
- bshimmin 10y agoPah, that's less than six weeks (if you don't sleep)! I'd put a more realistic estimate at 2-3 years, though obviously anything involving JavaScript will have changed at least 6 times whilst you've been attempting to learn it.
- alpha_squared 10y agoThat's, true, but I was trying to estimate for a bare minimum, basic competency to be productive. This doesn't include the countless hours debugging, searching StackOverflow/Google and learning all the "gotcha"s in each technology. Which all just takes experience and projects not necessarily time.
- charrondev 10y agoIf you are actually comfortable at all with JavaScript as a proper programming language and not just as a bucket of jquery plugins you bundle together and use to toggle a class or two, then the tooling (gulp, webpack) are going to be only an hour or two each for a basic working understanding. Those tools in particular are very well documented and have a great community around them.