The Student Room Group

I don't know what line of IT work I like

I don't know what line of IT I like but I'm still discovering it.

Here's my current problem:

I'm not sure if many can follow my train of thought but here's the thing I hate about modern software development for your average mid-sized company:

- business code, business rules, enforced corporate rules, complicated software patterns and brain-racking business algorithms. Pure numbers, pure logic, etc.
- You have to use the libraries the company wants
- The company even makes fun webdesign boring. You can't just start and code some fun pages. Noooo, you have to adhere to some fad like TypeScript, SPA, SEO, deal with maintenance headaches of using tools like Bower, Grunt, Gulp,.. bah. Just let me start with the fun stuff already.
Just the word business makes me feel sick. I don't like words like clients. All this corporate, forced mumbo jumbo. Back in the 90's web development was more fun. Needless to say, I hate back-end development, or even better: I hate forced, business-driven software development.

I'm not the only one who thinks this way. Like me, my classmate who graduated with me wasn't very good at coding either and he chose to pursue a career in Testing instead and it seems to have worked out for him because he's a much happier person now than he was when he used to work in a previously boring job where he was tasked to maintain boring, rigid database structures for the food sector.

Don't get me wrong, I like structured and clean code but, for example, at my job as a back-end Software Engineer I don't have freedom to code as I want. I know this is how the business world works but I'd rather work in an environment where I'm not barked at for not adhering to company-wide coding standards.

What I want is: I want a fun place like Google, where there are tons of oldschool or fresh, bright, and fun young people. I'm not an ageist but being trapped in a company full of people who are either close to retirement or near their 40's sucks the life out of me even more so than the boring job does by itself.

It works in funny ways. When I worked in Systems Administration, I was eager to touch anything that involved providing a quick code solution. Now that I'm working in Software Development, I yearn Systems Administration.
I think there is a fine line there; I'm starting to see that what I love is scripting rather than programming and I also love webdesign and UX. Just don't give me a boring back-end job where I have to program boring business models for boring sectors such as the food industry or whatever.

I find true joy in having a problem at home, say, fetching a stream link from a streaming website using JS + nodeJS or Python, or even putting a neat frontend onto it like a .NET or Java GUI, so that I can do it the GUI way. It's fun to test my own stuff this way for some reason, probably partially because I'm not restricted to boring things or boring rules.

Can anyone relate to this?
Reply 1
Did you recently graduate? If this is your 1st job then it may be boring but it is probably good for experience and then later on you can go and apply for another job which you'd like more as they'd be more willing to accept you.
Reply 2
Original post by hahaweeb
Did you recently graduate? If this is your 1st job then it may be boring but it is probably good for experience and then later on you can go and apply for another job which you'd like more as they'd be more willing to accept you.

Yes, I recently graduated but it's my third job - a very boring one at that. Yes, it's good for experience and yes, while I'm doing this job, I'm studying other libraries on the side and perfecting my web design and web dev skills so that I can land a more fun job.
Reply 3
Original post by 571122
Yes, I recently graduated but it's my third job - a very boring one at that. Yes, it's good for experience and yes, while I'm doing this job, I'm studying other libraries on the side and perfecting my web design and web dev skills so that I can land a more fun job.


That's great. It's good that you are learning new skills for a more 'fun' job. How long ago did you graduate and how long have you been in these jobs?
I'm in my first year of uni and basically have no insight into what the outer world looks like. However back in college one of my entrepreneurial minded friends set up a web solutions business (it's now defunct for obvious reasons) where we brought ideas together and developed web applications to solve these problems.

Everything we produced in that business was based of our concepts of how a modern programming business should work - cloud-based file access, no strict coding guidelines, each programmer has their own project folder (which other programmers can access if assistance is needed on a project) and most importantly, no central management. Everyone was essentially in charge of themselves, the only thing the CEO did was bring ideas to us.

We even developed a portal for the company, a bit like a social network, with a todo list (global and personal) a chat box, and of course an online IDE to access server projects. Prior to the portal, cloud code was accessed through a small tunnelling utility. Seeing as we all knew each other it worked pretty well, but in the real world of business some things would most certainly need to be changed/adapted.

In an ideal scenario setting up your own company would be the best thing to do, because then you can choose either systems management, backend or frontend development etc without anyone telling you how to do things. But that requires time and money and serious investment, and it's a risk because you don't know whether it will be successful or not. Back in college the CEO had a part time job, so he could invest in the business, while the college's Enterprise Club supported us along the way, so we were pretty fortunate.

When it comes to web development, I personally like developing my own solutions provided they're not too complicated. Frontend development to me is a nightmare - you've got UX to worry about and all of that grand stuff. I prefer backend development more, particularly APIs since you're then free to tie in that API with a mobile application (I've done this a fair bit thanks to AppInventor) or an alternative frontend for that app.

In general I find it much more satisfying when you finally get backend code fully functional with all the errors worked out, when I do the same for JavaScript frontend code it's not the same, since that code isn't guaranteed to run in every web browser (I learned this the hard way when I developed a web application in Firefox only to find other browsers don't support the same version of ECMAScript... Long story short that project had to be abandoned, other browsers were vomiting errors because of the way the functions were written)

I hope you eventually find a fun job though, there's certainly companies out there interested in hiring young graduates. I'll be in the same position as you in few years time when I finally graduate, if things don't work out I'll possibly become a systems administrator instead.
Everyone loves different things, and that's fine. Design is a totally different skill to development, and it requires a totally different mindset. Writing back-end code is purely about solving difficult technical problems so it's definitely not for everybody, and it's not the only game in IT either.

You just need to find the right kind of job for you, and make sure you ask about the job itself when you're in an interview - maybe ask what a typical day's work might be like, which tools and libraries they use, how the website looks, how much freedom you have to design things your own way, etc. There's plenty of demand for skilled designers and people who can make something which just looks great, and which makes users feel good.

Also remember that it's normal for there to be more "do and don't" type rules when you're a junior in a company, that's just because juniors usually aren't trusted to make good decisions (Realistically, being a junior in a company means making a lot of well-intended but ultimately wrong decisions, and making all kinds of mistakes as you learn about the best way to apply your craft as a designer/developer/engineer/etc.)

When it comes down to development, the reason companies often tell you which libraries to use is that they place a lot of importance in consistency. Companies don't want everybody going off in different directions because that's expensive to maintain (Remember "time is money", and whoever pays your salary ultimately only cares about money),

So just imagine if you had a large website where some pages are designed using knockout.js, some are designed in angular, others use react.js, some just use jQuery or static plain HTML, etc. That'd be a nightmare to try to maintain every time there's some kind of update - you'd probably end up needing to solve the same problems in different ways across multiple different sections of the same website - it would just cost so much extra unnecessary time, and therefore be far more expensive than if everybody had just stuck to using the same tools, standards and libraries.

This is just the way business goes - whenever you have a whole mixed bag of inconsistent, disconnected, patched-together bits of technology which don't really operate very well with each other, then the company who pays for it is usually stuck facing a lot of unnecessary cost in employing more people than they would otherwise need if everything had been consistent in the first place.


By the way, you might wanna check these screenshots before you decide that you want to go back to the 1990s.. :wink:

https://www.google.co.uk/search?q=what+did+the+web+look+like+in+1995
(edited 6 years ago)
Reply 6
Have you considered a career as a Microsoft Dynamics Consultant?
Original post by jp365tp
Have you considered a career as a Microsoft Dynamics Consultant?


Dynamics NAV/AX/CRM are all business systems; the job of developing and maintaining them essentially involves doing a lot of the things that the OP seems like they aren't enjoying in their current job (writing business code and business rules, working with numbers).
Reply 8
Yeah in work, when you're a dev, you don't have much power or a say into what task you're given or sometimes how you do that task. Its all about story points in agile sprints and how quickly you can ship a feature or product. If you have the independant thinking that I think you do, you can either try out different roles and compromise or do freelance work while trying to start your own side business like the CEO of your old company.
Original post by jasonlu
Yeah in work, when you're a dev, you don't have much power or a say into what task you're given or sometimes how you do that task. Its all about story points in agile sprints and how quickly you can ship a feature or product.


Unfortunately I know of companies who work like that, but it's usually a contradiction. Companies who work like this really aren't "agile" - they just tell themselves this, either because they don't understand their own problems or they don't really care and want to pretend to developers that they know how to deliver software, but it's often an ongoing saga of endlessly repeated disasters which results in fewer features being shipped and people wasting much of their time on tasks that don't really achieve anything.

Companies who really know how to deliver software (they do exist!) are the ones who fully empower their development team to be involved in the entire process, and put their concerns at the centre of decision making, encouring them to work collaboratively with the rest of the business (especially BAs and QAs), rather than sticking them in boxes and telling them to churn out features all day, following mandated processes with no real involvement in the bigger picture.

The irony is that cherry-picking various concepts from scrum/kanban/etc without actually putting the focus on the people involved in building the software ends up being extremely inefficient, slow, costly and unreliable in terms of sticking to software delivery goals, because it essentially means that the business hasn't grasped what agile really means, ignores the real problems, and never really addresses the things which actually go wrong.

Actually, companies who really do follow 'agile' don't do things like this, they put people first, and they fix problems, and they're usually a lot better to work for because they usually get things done, and people involved at all stages tend to be more engaged and happier as a result. Unfortunately, many companies follow "false agile" and end up instigating more heavyweight processes, checks and balances, documentation, and other anti-agile policies in an attempt to fix the problems, But the reality is that any environment which essentially treats development as just a step in the whole delivery process probably isn't going to be very good at delivering things.
(edited 6 years ago)
Original post by winterscoming
Unfortunately I know of companies who work like that, but it's usually a contradiction. Companies who work like this really aren't "agile" - they just tell themselves this, either because they don't understand their own problems or they don't really care and want to pretend to developers that they know how to deliver software, but it's often an ongoing saga of endlessly repeated disasters which results in fewer features being shipped and people wasting much of their time on tasks that don't really achieve anything.

Companies who really know how to deliver software (they do exist!) are the ones who fully empower their development team to be involved in the entire process, and put their concerns at the centre of decision making, encouring them to work collaboratively with the rest of the business (especially BAs and QAs), rather than sticking them in boxes and telling them to churn out features all day, following mandated processes with no real involvement in the bigger picture.

The irony is that cherry-picking various concepts from scrum/kanban/etc without actually putting the focus on the people involved in building the software ends up being extremely inefficient, slow, costly and unreliable in terms of sticking to software delivery goals, because it essentially means that the business hasn't grasped what agile really means, ignores the real problems, and never really addresses the things which actually go wrong.

Actually, companies who really do follow 'agile' don't do things like this, they put people first, and they fix problems, and they're usually a lot better to work for because they usually get things done, and people involved at all stages tend to be more engaged and happier as a result. Unfortunately, many companies follow "false agile" and end up instigating more heavyweight processes, checks and balances, documentation, and other anti-agile policies in an attempt to fix the problems, But the reality is that any environment which essentially treats development as just a step in the whole delivery process probably isn't going to be very good at delivering things.


Yea, I would agree with most of what you said. However some bits are abit too pessimistic? Where are you getting all of this (mostly correct) insight from?
Original post by jasonlu
Yea, I would agree with most of what you said. However some bits are abit too pessimistic? Where are you getting all of this (mostly correct) insight from?


Pessimist? I prefer the term 'realist' :wink: Obviously every company has its own good/bad points, and some are much better and much worse at this stuff than others. Mostly I think its down to the people who work there and whether they're the types of people who insist on micro-management, mountains of unnecessary documentation, huge up-front project plans, etc. But I don't think it's overly pessimistic to say that there are a lot of companies out there who are just that bad.

I've had to work at places like that first-hand, but other people I've worked with also seem to have suffered all that before, so I get the general impression that it's not too uncommon. Of course, those companies were still making a profit, so I guess it's not a complete disaster, it's just that I don't really think it's much fun being in the middle of all that. The company I work for now isn't perfect, but it tries to do things the right way most of the time, and is reasonably good at just getting stuff done without all the stuff I mentioned above, and they have much better track record for delivering actual working software than anywhere else I've worked :smile:
Why not do a side project?
Original post by 571122
I don't know what line of IT I like but I'm still discovering it.

Here's my current problem:

I'm not sure if many can follow my train of thought but here's the thing I hate about modern software development for your average mid-sized company:

- business code, business rules, enforced corporate rules, complicated software patterns and brain-racking business algorithms. Pure numbers, pure logic, etc.
- You have to use the libraries the company wants
- The company even makes fun webdesign boring. You can't just start and code some fun pages. Noooo, you have to adhere to some fad like TypeScript, SPA, SEO, deal with maintenance headaches of using tools like Bower, Grunt, Gulp,.. bah. Just let me start with the fun stuff already.
Just the word business makes me feel sick. I don't like words like clients. All this corporate, forced mumbo jumbo. Back in the 90's web development was more fun. Needless to say, I hate back-end development, or even better: I hate forced, business-driven software development.

I'm not the only one who thinks this way. Like me, my classmate who graduated with me wasn't very good at coding either and he chose to pursue a career in Testing instead and it seems to have worked out for him because he's a much happier person now than he was when he used to work in a previously boring job where he was tasked to maintain boring, rigid database structures for the food sector.

Don't get me wrong, I like structured and clean code but, for example, at my job as a back-end Software Engineer I don't have freedom to code as I want. I know this is how the business world works but I'd rather work in an environment where I'm not barked at for not adhering to company-wide coding standards.

What I want is: I want a fun place like Google, where there are tons of oldschool or fresh, bright, and fun young people. I'm not an ageist but being trapped in a company full of people who are either close to retirement or near their 40's sucks the life out of me even more so than the boring job does by itself.

It works in funny ways. When I worked in Systems Administration, I was eager to touch anything that involved providing a quick code solution. Now that I'm working in Software Development, I yearn Systems Administration.
I think there is a fine line there; I'm starting to see that what I love is scripting rather than programming and I also love webdesign and UX. Just don't give me a boring back-end job where I have to program boring business models for boring sectors such as the food industry or whatever.

I find true joy in having a problem at home, say, fetching a stream link from a streaming website using JS + nodeJS or Python, or even putting a neat frontend onto it like a .NET or Java GUI, so that I can do it the GUI way. It's fun to test my own stuff this way for some reason, probably partially because I'm not restricted to boring things or boring rules.

Can anyone relate to this?


I completely understand what you mean, and there is so much out there in IT for you to explore, best thing to do is internships and placements etc to find out what you like...
I did a placement year at GSK as a Business Analyst and Project Manager, then was extended as a Service Manager. My graduate role is as an IT Solutions Architect. Research :smile:

Quick Reply

Latest

Trending

Trending