DEV Community

The New Way of the Developer?

Tobias Timm on November 25, 2020

Back in the days, most developers have had an engineering background or studied computer science; nowadays, the software developer's role becomes m...
Collapse
 
owlcowl profile image
Owlcowl (he/him)

In my opinion it's not really important for the career how somebody got into becoming a developer; university, bootcamp, autodidact, traineeship and all the other ways.
It's important for the first, maybe second job of your career, after that your expirience is way more important, at least in my view and experience.
That said I still think it's highly valuable for a team to have developers with different (professional) backgrounds.

Collapse
 
tobiastimm profile image
Tobias Timm

I also think that your role models, mentors, or your coaches are the most important influence in your dev career. It doesn't matter where you are coming from or with what background; you will adapt or imitate your biggest influences' behavior and actions.

Collapse
 
merri profile image
Vesa Piittinen

The difference in developer path can reflect in what you value. And these differences in background is what makes team members stronger together as a team. Team work is pretty much the thing today and good workplaces put their bets in ensuring people can both learn to be great team members as keep working for the company by giving a great environment. This means the background of a person shouldn't matter as much as it does the value that a person can bring, and that they fit in with the team (and of course proof enough of their skill, or talent, considering the position).

As far as skillset goes programming language does not really matter. A programmer can pick pretty much any language and experience simply makes the process of switching faster and easier. Experience does that with everything. And this profession is a never ending learning experience so once person has learned to learn, and how to cope with information overflow, there is really no stopping them.

I would say computer science degree doesn't give any edge in programming. What you can get is extra information, and some contacts as well. But programming does need a certain level of commitment, because it won't let you go. You keep on thinking about solving problems even on your free time, you wanted it or not.

Internet has really changed the learning game: I can already see how 20+ year olds have deeper knowledge and skills than I could've had in their age, and I got started with the web on my teens and I'm only 37. There is simply so much more information easily available now that it allows to have a bit of an edge over earlier generations. It doesn't overcome experience of course, but the base level of education is higher simply because the Internet is there, and if you're curious you can up your knowledge by quite a bit.

There has also been a major cultural shift in programming. I only got my first "real" programming job 8 years ago. Until that point I was living with the expectation of the "old bad ways" of what programming was: long days, bad business control, constant hurry, rock star programmers. This has changed in a lot of places. Recruiting is also changing, I think. The tools are awesome now, we know the healthy ways for programmers to continue thriving, and we know a lot more about how to do things the best way possible.

Programming isn't that much of an individual game anymore. The demand for developers is there (although Corona can be troublesome atm) so there is a fitting place for many kinds of personas and skill levels. I wouldn't even bother with the thinking of who is "better", because really nobody can know everything and there are positions around programming where people can shift if they notice they can't do programming on a level they'd like to, whatever the reason for that might be.


I guess this is cohesive enough, I probably could've get this to reduced amount of words but it is time to sleep soon so my reducer is borken or timing out.

Collapse
 
tobiastimm profile image
Tobias Timm

Thank you for that well-written answer; I don't think it is wishful to reduce this, especially for such a topic.
I also love the shift in the developer scene or the general awareness of developers and their role within the business.

Collapse
 
panditapan profile image
Pandita

You can graduate from the best university in your country and still be really bad at it, or you can be someone who's never EVER sat in a classroom and be one the best in their field.

While I'm a fan of "get a degree" because you never know when you might have to migrate from your home country and a degree helps a lot when searching for jobs (#truestory), I completely and fully understand that it's not a winning ticket to success and glory.

It all depends on the person and the opportunities that they choose to follow :3

Collapse
 
nickfazzpdx profile image
Nicholas Fazzolari • Edited

Introduction to Response

I’m going to start with the premise of how people went about becoming developers “back in the days”. In the early days of computing, during the cold-war and consequently the space race computers existed mostly in the domain of military, science and industry and to an increasing degree in the late 1950’s in the corporate world.
Furthermore, the technologies that were available at the time were in many ways still experimental or in their theoretical stages of development. Just those factors made the barrier to entry in working with computers much more difficult in terms of qualification and market supply of required labor units.

Another big factor was that in the early days of computing there was no widespread consumer market availability. There were sci-fi folks who imagined how computers could be used for leisure and entertainment, but the realization of that was generations out. So yeah, you had to have serious talent accoladed by credentials to get anywhere near a computer in the early days. That’s why Silicon Valley and the original hacker movement was so influential. The hacker movement broke digital computing into the consumer mainstream and people quickly discovered there was A LOT of money to be made.

Are there any significant differences between developer [learning and career paths]?

Absolutely. If you’re going the self-taught route you have to face the challenges of allocating enough time and having enough drive and discipline to actually learn how to become a software developer. Depending where you are in your life depends on how those challenges will play out. Imagine being a 36 year old carpenter working a union job who is married with 3 kids one which is nearing high-school graduation and two younger ones a few years apart. After working a full week and taking care of family duties there might not be enough time to sit down for solid planned out blocks of time to get into the learning material, and let’s say even if you were to find a few hours a weekend, depending on your learning abilities you might or might not develop a learning pace where you actually make progress over weeks.

On the other hand, if you’re a teenager living with his family and love programming you can invest your free time and school vacations into programming and learn a lot faster. Same goes for single people in their twenties who might already have some higher education under their belt. That type of person is in the key code bootcamp demographic. Code bootcamps are worth being skeptical of. Do your research. When it comes to professional careers in STEM there is no get rich quick scheme aside from the person selling you the get rich quick scheme. From my experience and knowledge bootcamps are ok at best and a total scam at worst. I think they’re good as supplements to different learning options.

Considering the computer-science learning path is a solid choice for people who have shown some talent or interest in basic programming and have aptitude in systems thinking. It takes a lot of time, costs a lot of money and leans heavily into the theoretical and mathematical concepts that come with programming computers and the functioning of digital computers. This path differs from the self-taught and bootcamp paths in that you obtain a degree from an official institution of higher learning (AS, BS, MS, PhD in CS). While those accreditations show that you have the academic discipline and talent in the field it doesn’t say much about your ability to complete the day to day functions of a software developer. I would say make sure to get an IT tech, or IT helpdesk job while doing your CS degree to show that you moved into your professional domain during school. Also, make stuff while you’re in school.

Is their mindset on the same page?

Generally, not. Think about it. A person who is willing to throw a comparatively small amount of money at a bootcamp that gets you ‘something’ as fast as possible versus someone who wants to spend 2 to 6 years rigorously studying the subject of computer science could have different goals and motivations for their actions. Someone who wants to teach themselves how to program computers might be doing it as a hobby or for a real-life need in their personal life. Ultimately, the question is open ended, and you really can’t speculate about someone’s mindset without getting to know them on a more personal level. Even then you might not get a clear idea of their mindset either. We are messy creatures after all.

Do you need a computer science degree to become a ‘better’ developer?

What do you mean by better? Are we talking about cutting down on logic bugs or getting better about class, method and field naming conventions? There are thousands of things to improve on as a developer and it should be an ongoing progression. Where was the person to start with? What domain of programming is the person looking to get involved with? Do they want to work on the codebase for the Airbus 320? Develop web pages and web apps? Or implement device drivers and operating systems?

If you want to get into the Airbus codebase or write device drivers for hardware, you’re going to get value from a CS or EE degree. Most employers in those low level programming and engineering systems programming jobs require a CS or Engineering degree for legal reasons. When lives are at stake you don’t hire some yokle off the street to hack together some homebrew code. If you’re looking to become a front-end web developer, you can teach yourself and maybe do an associates’ in CS or CIS. Or bootcamp to get some experience and knowledge in addition to self-learning. I’m not saying there aren’t serious technical challenges in front-end, but HTML, CSS, DOM, CSSOM accessing with JS is not going to be equivalent to writing device drives or airplane navigation and control surface code. Working with a client that says: I need a blue button instead of a pink button here, versus sitting in on a aerospace engineering meeting require different skill sets.

Is a JavaScript developer coming from a Bootcamp worse than a Java Developer shifting towards JavaScript?

Depends on the person. What if the Java Developer worked at one job his entire career and learned a bunch of really bad habits? Whereas the person coming out of Bootcamp only learned a few bad habits in a short amount of time? It might be easier to work with someone who only had 6 months of bad habits as opposed to 10 years of bad habits. Really depends on the individual, the demands of the job and project and the culture surrounding the job.

Collapse
 
anwar_nairi profile image
Anwar

Very good topic :)

I will try to give my opinion at the end, after answering your questions.

Are there any significant differences between these developer paths?

I think both share one comon thing: learning how to learn. Through the process of either atending a class or a bootcamp (or watching an Udemy course), you will not only learn a new skill, but also learn where to find any information to go deeper in a subject.

Is their mindset on the same page?

I definitively think not: for me, following a bootcamp, in essence, is targeted for a quick employability. Getting a degree opens up more door for highest responsibilities (project manager, tech lead, ...).

Not that people following bootcamp cannot, but the goals are differents.

Do you need a computer science degree to become the "better" developer?

I think not, since what makes a "better" developer is the capacity to go deeper in subjects, to be able to give an opinion even for unknown subjects (new framework architecture, ...). For that, it only requires time (e.g. experience) and research (books, courses, conferences, ...), and obviously practice is prefered.

Is a JavaScript developer coming from a Bootcamp worse than a Java Developer shifting towards JavaScript?

Not necessarily, but the Java developer would probably grasp advanced concept quicker (like Symbols, class inheritance with Typescript, eventually sorts algorithm knowledge, ...). What will differenciate one or the other is his problem solving skill, his/her capcity to provide the best solution for a given issue, regarding the environment (time, constraints, legacy, ...).

--

I have a CS degree, and I can tell it does not necessarily helps being more capable. Just be around great people, which will teach you the knowledge of the field, which is always far more valuable than books or courses. Listen & practice a lot :)

Collapse
 
tobiastimm profile image
Tobias Timm

Thank you for sharing your perspective!

Collapse
 
bradtaniguchi profile image
Brad • Edited

Are there any significant differences between these developer paths?

Yes. You can easily spend 4+ years at college and learn a ton of theory not focus much on a specific given language. You could spend 4+ years learning JavaScript like the back of your hand and be a fantastic programmer but not understand the underlying theory.

Is their mindset on the same page?

Kinda? Often one goes to upper education to get a job. Its possible they also go to school just to learn, and end up doing research. There are multiple paths and multiple "goals" one can make. Not everyone goes to college for 4 years just to get a job.

Do you need a computer science degree to become the "better" developer?

No. Better is relative to yourself and to your yesterday. That could mean you go to school to get that degree, or you could spend it learning what you need to learn to improve.

Is a JavaScript developer coming from a Bootcamp worse than a Java Developer shifting towards JavaScript?

This is too much apples to oranges. What if the Java developer has 20+ years of experience? Changing the language doesn't really do much to "take away" all that experience. On the flip, what if the JS developer also has 20+ years of experience before taking the bootcamp? There isn't a right answer because the possibilities are too broad.

The New Way of the Developer?

I dislike the title as it insinuates there is one way to be a developer which isn't right. There are multiple paths to becoming a developer and none of the paths are "the right one". There might be new paths that pop up every now and then that might offer different pro's and con's to other paths, but at the end of the day if you can develop stuff, your a developer, regardless of what path you took. :)

Collapse
 
codebucks profile image
CodeBucks

Developer with computer engineer background may not necessarily better then self-taught developer and vice-versa.
Nowadays many companies are taking off requirement of having degree, and for that they will test you with practical stuff, In short each company want to see how you solve problem.
Self-taught developer is good in a way that you can choose which books to read and which methods to follow. but what if you are stuck at some point? what if you need theoretical knowledge to solve problem? In this areas you will need help.
Now if you're computer graduate then you're degree won't matter if you can't apply what you have learned so far.
In the end practical stuff matters!
From my opinion both the combination of graduate and self-taught is good, Also there are certain people who are successful (self-taught) but they are very less.
Also in niche like machine-learning and data-science you need to have some strong base in math as well as in algorithms, degree can provide it in structured manner and if you're self-taught developer and if you have regular habit of learning then surely you can learn that too.

Collapse
 
josefine profile image
Josefine Schfr

As a developer coming from one of these three month programming bootcamps, I am very relieved about the general acceptance of these courses here in the comments. I guess just like for most others who joined the community relatively recently, imposter syndrome is a massive issue.
In my work, I sometimes feel like colleagues who have a university degree in computer science have a lot more context and a better overview of overarching topics, something which was impossible to achieve in our programming bootcamp ( - but probably is with enough experience).
From my own studies I know however, how theoretical academia can be and how little of the knowledge acquired in university is actually applicable on the job. Whether your computer science degree helps you in your career therefor probably highly depends on you. I guess it's important to cherish these differences and not make assumptions - we can all learn from each other :)

Collapse
 
alexgwartney profile image
Alex Gwartney

So one I feel like honestly, college is the biggest waste of money and time to learn how to program. At least if you are not going to like MIT or Harvard sort of thing. Which I assume half of us arent. I for instance went to phoenix online, got my associates in info tech. But studied computer programming. What I thought was sad is college focuses heavily on java. less on the web, and even when I did take the classes on both, they really only teach a basic surface level. Im more self-taught than anything, which helped in class. As I was always 9 levels above what the class was even beginning to cover.
So I would say boot camp self-taught are the better ways to go.

Now for this question: Is a JavaScript developer coming from a Bootcamp worse than a Java Developer shifting towards JavaScript? I would say neither are worse. They both have the same ability as each language is different. I would say as someone who did this aka came from java to javascript. That I had a much better understanding of OOP principles. And how to utilize the old ways of prototypes before es6 came around and introduce the class syntax. So for me this was like oh good something I can just start using. Instead of just going oh crap what is this.

I would also say to that whether you come from a self-taught route or a boot camp or college. For the most part everyone has a similar mindset. I think however that people coming out of a Harvard mit degree, are going to be looking for more FANG-style companies. Rather than self-taught boot camp grads that are just looking to get the foot in the door and prove them selfs. As we don't get the option to do 40 internships at google ect.