4 ms·
Honestly if you want to get out of your comfort zone and really start thinking like a backend developer, I would recommend using a solid, proven platform like J
by paulhodge 10y ago
Honestly if you want to get out of your comfort zone and really start thinking like a backend developer, I would recommend using a solid, proven platform like Java. Specifically you could start with Java 8 & Spring Boot.
The differences between frontend & backend: frontend code tends to be more loosey-goosey, less robust. Generally the goal of the frontend coder is to write lots of features in a short amount of time. Backend development is more "slow", you still want lots of features, but they need to be robust and work correctly 99.99% of the time.
For that reason, I think the best way to think like a backend developer is pick a language that doesn't have dynamic objects (like Python). I'm not saying that Python can't work, I'm saying that using a static-type language will help you outgrow any sloppy thinking habits that people tend to get when they spend too much time in Javascript.
Hiring wise, Java is still a very in-demand skill. Tech wise, Java is an extremely stable and proven platform that will serve any project well. It's "boring" technology (which is a good thing). If you really want to change your thinking, then try to stop gravitating towards shiny things and instead use a "boring" platform.
- eweise 10y agoI agree. Java might not be sexy but there is a huge marketplace for java devs. The nice thing is that you don't have to learn a new framework every week. I learned Java in 1998 and spring in 2005 and I still rely on that knowledge today.
- artimaeis 10y agoI'd second this and throw the idea of jumping into C# and .NET. The .NET platform is about as common as Java in back-ends, and seems to be evolving at a more aggressive pace. C# is pretty great, and once you become familiar with .NET as a whole it's pretty easy to gain skills in VB.NET and F# if those interest you.
- bloomca 10y agoIs not it too enterprise'y? Is it possible to find small (~100 devs) company using .Net and C#? And also, how much it will take to achieve some decent level (to be able to work as a middle dev)? I think with Python 1year should be fine, what about .Net?
- h1srf 10y agoThere are tons of of them. Might not be flashy but they're definitely out there. A lot of B2B software is Java/.Net.
- artimaeis 10y agoIt's not overly enterprise driven at all, from my perspective. The company I work for has teams totaling to about 40 or so developers and we're completely MSFT driven. From the DB side of SQL Server to web/backend of ASP.NET and .NET. And my understanding of the industry is we're hardly alone. In my area (the southeast US) there's plenty of opportunities at similar sized companies or smaller. Achieving an intermediate skill set in any language/platform will certainly take more than a year. The language itself takes very little time - but picking up maintainable (Clean Code, Pragmattic Programmer, etc) habits takes a good bit longer for most people. Python probably has more beginner resources available thanks to MOOCs and the like, but there's plenty of .NET intro sources as well.
- Bahamut 10y agoFunnily enough, most companies I have worked at has much better frontend code than backend...but maybe that's a problem that tends to come with smaller companies if they're not hiring the right engineers, and not so much a frontend vs. backend thing. As for advice, find a company hiring for full stack engineers and bill yourself as someone able to learn on the backend. The company also has to be one willing to take that chance. Do not get sucked into the debates of x vs y language, and be willing to adapt to what you're working with. If your credentials are strong, you may have more wiggle room to be opinionated. Edit: Just to add, I also transitioned from frontend to fullstack, although now I'm in the hybrid land of engineering management with coding being a bonus tool for assisting with management. My company has helped multiple engineers with primarily frontend experience transition to fullstack work (or in the case of some, even exclusively backend work). I honestly think it's not worth fussing about languages, as those can be learned - even SQL. Understand your fundamentals, and make sure you present yourself as a flexible person willing to put in the time and effort to learn and you will likely succeed in a transition. Also I recommend avoiding being desperate to switch when job searching in such a transition - few things smell worse than the stench of desperation, which will affect your pay & negotiating wiggle room.
- bloomca 10y agoYeah, that's true about both Java and .Net, but what I am afraid, is that these areas are too "enterprise". To be honest, I am leaning towards more small companies. I like .Net Core project, but again, I am afraid that I'll end up in a big corporation with pretty boring stuff. Also in corporate environments it seems that there is a lot bureaucracy, which I don't like at all. But yeah, in terms of stable and proven solutions it is extremely safe place.