• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Career direction for a C# (ex VB) developer

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Career direction for a C# (ex VB) developer

    I've been in software development since the late 90's. Used to do VB & SQL Server. Got stuck in a job that didn't progress my skills much for a a long time. Past few years I've been doing C#, ASP.NET, SQL Server developing web applications. I've done a lot of studying to get my skills up to date, aiming to become a "full-stack" developer. However, I've had three jobs (permie) in a row (including my current job) that I've really struggled in.

    The technology is only part of the problem. Seems to me that software devlopment as a career is much harder now than it was in the late 90's. I can think of 3 reasons for that:

    1) Modern software applications tend to use far more technology. In the old days it was just VB, SQL Server and maybe a middleware layer (DAO, RDO, ADO). Nowadays it's C#, SQL Server, ASP.NET, HTML, CSS, JavaScript, jQuery, Bootstrap, XML, Typescript, SASS, SignalR, Dot Net Core, Docker, Kubernetes, Microservices.

    2) The applications themseleves are far more complex. They have lots more functionality, and users expect far more from them than in the past. For example, cross platform, high security, high availability, scallable, etc.

    3) Iterative development methodologies (e.g. Agile) have led the business people and end users to have very high expectations from a development team. They expect rapid progress in delivering bug fixes, improvements, new functionality etc. There is a relentless tight (e.g. fortnightly) cycle of planning, recording, monitoring, reviewing progress through work tasks. Developers are expected to account for almost every hour of their working day on a timesheet; not just hours worked but allocating those hours to specific tasks so that management can see how long a developer spent on any one task. Feels like relentless pressure to deliver.

    Even the source code control system seems more difficult nowadays. I was quite comfortable using SourceSafe and TFS. Felt like I understood what they were doing, at least from a user perspective. However, nowadays I'm using GIT, and even after 3 years I still don't understand it. Every time I need to merge or rebase I tend to have problems and lose faith in the process. It's just my opinion, but I find it very un-intuitive.

    I'm getting a bit tired of struggling so much. Really expected it to have gotten a bit easier by now. I'm begining to wonder whether it might be over ambitious to aim for full stack. Then again, whenever I look for dev jobs in the language I'm familiar with (currently C#) they tend to always require the web skills as well as the language. I suppose there are other areas I could get into that are still within IT (e.g. testing, technical authoring, database administration). Not sure I fancy those though. I think part of my struggle is in understanding the business domain (not just the language). That would be necessary for a tester just as it is for a developer.

    The type of dev work that interests me most is the middle-tier & back-end stuff (OOP, design patterns, parallel processing). Not sure there is much call for that though, without needing to also have the front-end skills.

    Wondering if anyone else finds it tough going nowadays, and if anyone has any ideas/suggestions?

    #2
    There is only 1 skill that's required to be a successful full stack developer. And it's not Javascript or C#.

    It's the ability to learn. And learn fast. And it truely is a skill, I tell you. So you have your answer then? It doesn't sound like you have that skill.

    Comment


      #3
      Maybe it's worth a sideways move into sysadmin work? E.g. Azure DevOps involves using Visual Studio to deploy VMs: having a background in VB/C# would help with that, but it should be a lot simpler than full stack stuff. Similarly, if you've got a good grasp of programming fundamentals (e.g. for loops and conditional logic), you should be able to pick up PowerShell pretty quickly, and you'd have an advantage over people from a non-programming background. I think that writing a script to do things like "Find all the user accounts which haven't logged in this year" might be more in your comfort zone than the other things you described.

      Comment


        #4
        To define a problem statement in this way is a skill in itself. Which makes me think a bridging technical role, working more in applied technology rather than low level programming could me a good move for you. For example, working in machine learning or data science. Both can be extremely technical, can operate at the data visualisation level, or can head in the Product Owner direction. DS and ML make use of design patterns and parallel processing. While data visualisation is ridiculously easy using tools like PowerBi for example, appreciated deeply by business people accustomed to Excel, and could get you out of a rut.

        Posting the problem onto a public forum will not solve the problem for you. Better to focus on specifics. e.g. "I've decided I want to get a job working with blockchain, what are the core skills I need?". Asking some random strangers on the internet what you should do with your life (which is how an open ended question like this comes over) is unlikely to lead to anything transformative.
        ‘His body, his mind and his soul are his capital, and his task in life is to invest it favourably to make a profit of himself.’ (Erich Fromm, ‘The Sane Society’, Routledge, 1991, p.138)

        Comment


          #5
          Totally understand where the OP is coming from on this - My skillset is primarily C++/C# and I've deliberately avoided getting involved with anything to do with web development as (it seems to me at least) that the spread of technologies needed is massive (and I have zero interest in them). As a result of course, that does limit my market somewhat but I have still managed to stick with platform (desktop) application development.

          Have you considered looking into embedded roles - always struck me as being a far more "pure" form of software development?

          Agile (IMHO) has ruined software development and I try and avoid roles using it like the plague. YMMV.
          Last edited by Dark Black; 31 May 2021, 17:37.
          Do what thou wilt

          Comment


            #6
            I can relate.

            I spent 5 years as a developer where I did pretty mediocre work (my own admission no one has ever said that to me). Like you I was doing VB.Net and SQL Server transitioning to C# about half way through, I did 1 project on ASP.Net for a few months. I also did an iOS app so had to learn objective C for that back in the day but most of my work was on similar stack to you.

            I went out into the marketplace when I left that job and came to similar conclusion as you, the move to the web was something I wasn't interested in from the little bit of work I'd done and the technologies and skills needed were changing and widening like you mentioned (of course not to the degree it has today) and I really had no desire to learn them.

            I was lucky that the place I worked at had kept a lot of business logic in stored procedures in SQL Server and I was also able to do some reporting work that had come up. This left me with pretty strong data skills. So I transitioned to working with data exclusively. It's been 6 years now that I have not been a software developer and I couldn't be happier with the switch.

            I initially got a role doing reporting and some sql development, I then quickly saw that data visualization platforms were exploding so I jumped on that and took some courses and got some certs and started building out data visualisation and sometimes data warehouse platforms for companies. I did the odd data migration contract/work. Now I just did a data science masters and honestly data science is less interesting then the data engineering and data visualisation work but it's something a lot of companies are exploring so it's good to have the skillset. I went from being a mediocre software developer to being pretty damn good with data.

            I would recommend exploring going into either data or get really strong in one of the cloud platforms and go cloud architect route. Your skills will be transferrable and tech skill wise it's easier. I think you'd be happier and more successful.

            Comment


              #7
              Let me come straight to the point. Since you are a VB / SQL Server developer, the quickest and easiest career direction could be this. Numbers represent the order.

              1. General understanding of Azure
              2. ADF - Azure Data Factory
              3. Azure SQL / SQL Server including T-SQL, Stored Procs
              5. SSRS/SSIS
              6. Powershell / C#
              7. Azure DevOps - Git, ARM templates etc
              8. PowerBI
              9. Bit of Python, Spark, Databricks

              It is very likely that you may be already familiar with 1/3rd of them. So, it's not a long way to go. Good luck
              Last edited by BigDataPro; 31 May 2021, 10:14.

              Comment


                #8
                Originally posted by cannon999 View Post
                There is only 1 skill that's required to be a successful full stack developer. And it's not Javascript or C#.

                It's the ability to learn. And learn fast. And it truely is a skill, I tell you. So you have your answer then? It doesn't sound like you have that skill.
                I can relate with the OP - on Git at least but I think the above is the key thing. I think most of us have/will eventually lose that ability/desire to be continually learning new tech.
                I wouldn't say at all that means your career is over though, but it does mean you might be looking for roles on established systems rather than new ones. I know people who I thought were 'dinosaurs' when I started work ~20 years ago, experts on one specific thing. Some of them are still doing that same thing 2 decades later, quite happily, and finding work.

                C#/SQLServer is very much a popular stack.

                edit: great list from BigDataPro above. I would say that database experts are always valuable so you might have the option to lean more into that, especially as there's so much more to it - spatial data etc.
                Last edited by d000hg; 31 May 2021, 15:38.
                Originally posted by MaryPoppins
                I'd still not breastfeed a nazi
                Originally posted by vetran
                Urine is quite nourishing

                Comment


                  #9
                  "Wondering if anyone else finds it tough going nowadays, and if anyone has any ideas/suggestions?"


                  Yeah its really tough these days for all the reasons you give. Plus many more things you didnt mention lkke TDD/BDD/CI/CD, daily standup meetings. Code reviews.

                  However one thing that is easier compared to the 1990s, is that we have access to online resources like StackOverflow and Google.

                  Work harder, put in extra hours until you master the skills you need to master. Thats the price we pay for not building up a retirement plan (property or whatever) over the last 25 years, or not moving into management or architect but being stuck as a developer doing the grunt work, at least it is still relatively well paid (outside of ir35 anyway).
                  Last edited by Fraidycat; 31 May 2021, 16:12.

                  Comment


                    #10
                    Originally posted by Fraidycat View Post
                    Plus many more things you didnt mention lkke TDD/BDD/CI/CD, daily standup meetings. Code reviews.
                    It's awful that people actually want your code to be tested and good, when that's difficult for you
                    Originally posted by MaryPoppins
                    I'd still not breastfeed a nazi
                    Originally posted by vetran
                    Urine is quite nourishing

                    Comment

                    Working...
                    X